软件需求工程 课堂笔记2

本文介绍了软件需求工程的基础知识,包括IEEE对需求的定义,需求的层次性,如功能需求、性能需求和质量属性等。内容涵盖需求开发的步骤,强调了非功能需求在系统成功中的关键作用,并探讨了用户需求的特殊性和问题解决的直接与间接方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文截取了上课的一部分内容

需求的定义

IEEE的需求定义[IEEE1990]:
(1)用户为了解决问题或达到某些目标所需要的条件或能力;
(2)系统或系统部件为了满足合同、标准、规范或其它正式文档所规定的要求而需要具备的条件或能力;
(3)对(1)或(2)中的一个条件或一种能力的一种文档化表述。

基本概念的区分

此处只讲少部分的内容,或者只说一些片段。这些部分是我比较容易理解或接受的。

  • 规格说明 == 规约

由于翻译人员的不同,因此有两种表述,在我院的课程中,规格说明使用较多,但是“规约”一词使用更为广泛。

  • 软件工程没有客观规律,只有经验总结

  • 软件不能凭空产生利润,必须作用于现实社会。

需求的层次性2

[IEEE1998]将需求分成下列类别:

  • 功能需求(Functional Requirement):和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。功能需求主要表现为系统和环境之间的行为交互。

  • 性能需求(Performance Requirement):系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率等。

  • 质量属性(Quality Attribute):系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。

  • 对外接口(External Interface):系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。

  • <
### 软件工程课程手写笔记模板示例 #### 一、基本信息 - **日期**: YYYY-MM-DD - **主题**: 当前章节/课题名称 - **讲师**: 讲师姓名 #### 二、课堂重点摘要 记录每节课的核心概念和知识点。 | 时间 | 主要内容 | | --- | --- | | 开始至XX分钟 | 描述该时间段内讲解的主要理论或实践操作,如需求分析的重要性及其流程介绍。[^1] | | XX分钟后 | 继续描述后续教学活动的重点 | #### 三、术语解释区 针对本课涉及的新名词给予定义说明。 - **敏捷开发**(Agile Development): 是一种以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发的过程管理框架。 #### 四、案例研究与讨论 用于整理实际项目中的应用场景以及小组讨论的结果。 - **案例**: 名称 - 简短概述此案例背景及目的。 * 解决方案: 列举团队提出的几种可能解决办法,指出最终采纳哪一个选项的理由是什么? - **个人见解**: 对上述情况发表自己的看法;如果存在不同意见,则需阐述理由尝试给出改进建议。 #### 五、作业布置与复习提示 列出老师留下的练习题目或者推荐阅读材料清单。 - **本周任务** 1. 完成指定的功能模块设计文档撰写; 2. 阅读《软件工程导论》第X章到Y章的内容准备下周测验。 - **参考资料推荐** - 文献名:作者 - 出版社/年份 - ISBN编号(如果有) #### 六、疑问收集栏 写下自己不明白的地方等待解答或是向同学请教交流。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值