软件工程—第四章

第四章—需求工程

软件需求是决定软件开发是否成功的一个关键性因素,可以划分为业务需求、用户需求、系统需求、功能需求和非功能需求等类型。业务需求包含:业务、客户、特性、价值和优先级。用户需求是从用户的角度描述系统功能需求和非功能需求。功能需求描述系统应该提供的功能和服务。非功能需求还可以分为很多类型。系统需求则详细的描述系统应该做什么。

需求工程的过程包括需求获取、分析、规格说明、验证和管理等。首先,需求获取的是对客户需求的普遍理解,然后对收集到的需求进行提炼、分析和认真审查即需求分析,需求规格说明是需求开发的结果。需求验证是为了确保需求说明准确、完整地表达必要的质量特点,这些质量特性包括正确性、无二义性、完整性、可验证性、一般性、可修改性和可跟踪性。需求管理的任务包括变更控制、文档的版本控制、需求跟踪等活动。

常见的需求获取技术:面谈、问卷调查、需求专题讨论会、观察用户工作流程、基于用例的方法、原型化方法等,而选择这些技术需要根据应用类型、开发团队技能、用户性质等因素来决定。

时间: 2024-10-23 03:48:49

软件工程—第四章的相关文章

现代软件工程 第四章 练习与讨论

4.7.1  结对项目的案例和论文 在现代软件工程教学的过程中,同学们已经总结了不少切身体会.例如: 总结1[i]:那是project到了比较关键的创造阶段,整整一天,我们俩椅子靠椅子的坐在电脑前,一边讨论一般coding,那次才真正的体会到结对真的能够带来效率.一整天的coding是容易走神的事,还好有pair在旁边指导,总是不断在我敲某某变量之前提前告诉我成员变量的名字,数据修改时帮忙检查是否有漏掉的,变量和函数定义的时候一起为其取名字,感觉有点眼花了,就换了个角色,我也开始对他“指指点点”

现代软件工程 第四章 【结对编程】练习与讨论

4.7.2  性格对合作的影响 人和人不一样,在和别人合作的时候,要注意各人表达观点的方式和思考的方式不尽相同.请看网上关于MBTI的文章,测试并分享各自的MBTI类型,讨论不同性格类型对合作有多大的影响, 在合作的各个阶段应该如何应对. ISTJ 安静.严肃,通过全面性和可靠性获得成功.实际,有责任感.决定有逻辑性,并一步步地朝着目标前进,不易分心.喜欢将工作.家庭和生活都安排得井井有条.重视传统和忠诚. ISFJ 安静.友好.有责任感和良知.坚定地致力于完成他们的义务.全面.勤勉.精确,忠诚

现代软件工程第四章

1.结对项目的案例和论文学术界.工业界对结对编程已经有不少研究,请阅读至少两篇相关论文或论文,结合自己的切身体会总结一下.(1)提高效率 结对编程的形式使得代码处于不断地审查过程,每一段代码都由一个人编写,另一个人检查,最大程度上减少了出现bug的可能:两人互相交流,商讨实现方式,遇到问题时,能够做到互补.(2)互相学习 结对编程也是一个互相学习的过程.在结对编程过程中,两人会不断对实现方法.代码风格或命名方法等进行讨论,两个人的思路能够进行互补,在编写过程中能够学到对方解决问题的思路和方法,对

现代软件工程 第十四章 练习与讨论

15.3.1 有些成功人士或公司认为不需要独立的测试角色(Test),你怎么看? 我猜想和踢足球类似,还是那几个原因: 人太牛: 不世出的天才,例如高德纳写书时发现排版软件不好用,就自己写了一个.也没听说他为这个软件项目请了什么独立测试人员.对了,他不读Email,有秘书帮他处理这些事——这也是一种分工! 有些软件工程师是在后台钻研和开发高难度的算法,或者做某种后台的处理工作,这个工作本身的难度较高,测试主要是自己通过工具完成.如果一定要找一个测试人员,这个测试人员的水平要相当高才行,如果水平那

【软件工程】第三、四章总结

现在的总结都是补得以前的.没有及时总结的后果就是再看自己的笔记的时候连自己都感觉好陌生.这样的学习是最没有效率的!看完一部分就总结是一个很好的习惯.但是我却总也坚持不下来.多么痛的领悟... [概要]软件的第三章讲的是软件需求分析.说白了就是在设计一个软件之前,我们首先要明白了解客户的需求.如果没有客户的需求就盲目的去做,就好像是没有球门的一场足球赛.就像我们的人生没有目标一样.即便是最后做出了一些东西也不一定满足客户的需求,那样的工作就是没有意义.所以,软件需求分析的阶段很重要.就像一个旗帜,

现代软件工程讨论第一章-第四章

第一章 1.代码如下 #include <iostream> #include <cstdio> #include <time.h> using namespace std; int main(){ srand(time(0)); while(1){ printf("随机生成的一个小学四则运算题目,除法省去余数\n"); int num1 = rand() % 10; int num2 = rand() % 10; int index = rand(

软件工程 《构建之法》 第四章读后感

在第四章我们进入了软件工程另一项核心的起步阶段——结队编程,所谓工程自然不是一个人便能完成的了所有的工作,而是一个集合了一个团队的合作完成作品的过程.在开始结队之前,需要达成共识的便是代码的规范性,这在编程界早已有了相应的通用准则且在随着整个行业的进步而不断更新着.作为合作的项目,个人能力上或许会有不同,但哪怕团队中有个别人才思敏捷却只按着自己的路子走,不贴合代码的规范,使其他人无法去阅读理解,这无疑是从一开始便失去了结队的意义. 故而我们要学会遵守代码的规范性,好的代码是可以方便队友一同阅读.

软件工程基础图式(第四章 系统设计)

软件工程基础图式(第四章 系统设计) 学习目标 1)软件设计过程 2)软件设计的概念和原则 3)设计技术 4)面向过程的系统设计 5)面向对象的系统设计 系统设计目标:将需求分析转化为软件内部结构 1.好的设计的三个特点 (1)包含所有明确要求(要实现什么,不要实现什么)满足客户所期望的所有隐含要求 (2)编码测试.维护人员可读可理解 (3)完整视图(概要图) 2.设计指导原则 1)模块化 2)含数据.体系结构.接口.组件 3)可重复使用 4)正确清楚 3.设计质量属性 1)功能性 2)易用性

软件工程基础图式(第四章 系统设计-面向过程的系统设计)

软件工程基础图式(第四章 系统设计-面向过程的系统设计) 1.结构化设计方法 2.在系统结构图中的模块 3.变换型系统结构图 4.事务型系统结构图 5.变换分析 例子1:将下图的DFD/数据流图转换为软件/控制结构图(有误,看模式) 例子2:将下列数据流图转换为控制结构图 变换分析注意事项 ① 在选择模块设计的次序时,必须对一个模块的 全部直接下 属模块都设 计完成之后, 才能转向另 一个模块的 下层模块的 设计. ② 在设计下层模块时,应考虑模块的耦合和内聚问题,以提高初始结构图的质量. ③