软件需求工程期末总结复习学习资料.doc
(完整版)软件工程期末考试复习总结知识点+必考题型,推荐文档
![(完整版)软件工程期末考试复习总结知识点+必考题型,推荐文档](https://img.taocdn.com/s3/m/d1760be243323968001c9251.png)
软件工程复习资料1.软件危机产生的原因(1)软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2)软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3)开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4)软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5)在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。
需求工程期末复习总结
![需求工程期末复习总结](https://img.taocdn.com/s3/m/43bfee7f866fb84ae55c8d37.png)
填空:1.在导致需求问题的原因中,一个最为重要的原因是:未能很好的掌握应用型软件的模拟特性以及由此产生的一系列的影响和要求。
2.面向专业用户的纯工具型软件的首要成功标准是:要具有功能的复杂性和使用的高效性。
3.需求开发过程中产生的主要文档有三种:项目前景和范围文档,用户需求文档,需求规格说明文档。
4.系统用例图和上下文图通常被用来定义系统的边界。
5.在需求建模时,常用的技术包括:数据流图,实体联系图,状态转换图,类图等半形式化建模技术。
6.业务需求,高层解决方案及系统特性都应该被记录下来,定义为项目前景与范围文档。
7.每一个明确,一致的问题都意味着涉众存在一些相应的期望目标,即业务需求。
8.业务需求中需要特别注意的特征是可行性和可验证性。
9.在会谈中使用的问题基本上可以分为两种:开放式和封闭式问题10.面谈的类别:结构化,半结构化和非结构化面谈11.原型的需求内容可以从三个纬度上分析:外观,角色,实现12.民族志一个主要的应用目的就是研究和解决复杂的协同问题13.分类框架将场景方法从场景的形式(又分为描述和外观两个方面),目的,内容和生命周期四个方面进行了分类和描述14.工程利用场景的目的有三种:描述,探索,解释15.抽象和分解是建模最为常用的两种手段16.抽象通过强调本质的特征,减少了问题的复杂性;分解的手段体现了分而治之的思想17.分析模型是半形式化的18.建模语言有三个要素:语法,语义,语用19.按照Zachman的矩阵框架,分析技术就是用来对第二行(企业模型)的各列进行建模和描述的技术20.面向对象分析方法以对象为基础,结构化分析方法以功能和数据为基础21.结构化,信息工程和面向对象三中方法学下的需求分析技术都是面向解系统的22.使用面向问题的技术称为前期需求阶段的分析,使用面向解系统的技术称为后期需求阶段的分析23.数据流图建模时使用的基本模型元素有四种:外部实体,过程,数据流和数据存储24.DFD定义了三个层次的DFD图:上下文图,0层图和N层图25.实体联系图用实体,属性和关系三个基本构建单位来描述数据模型26.除了静态的事物和抽象的概念之外,行为和事件也是常见的实体类型27.在关系的命名上通常使用动词28.用例模型的基本元素:用例,参与者,关系,系统边界29.UML的行为模型有三种:交互图,状态图,活动图30.在目标模型中使用的其他模型元素有行为者,场景,操作,任务,资源,UML元素等//31.需求跟踪是以软件需求规格说明文档为基线,在向前和向后两个方向上,描述需求以及跟踪需求变化的能力名词解释:1.需求工程:是软件工程的一个分支,它关注与软件系统所应予实现的现实世界目标,软件系统的功能和软件系统应当遵守的约束,同时它也关注以上因素的准确的软件行为规范说明之间的联系,关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系。
软件需求工程考试复习资料:复习提纲.doc
![软件需求工程考试复习资料:复习提纲.doc](https://img.taocdn.com/s3/m/869188d1eefdc8d377ee329d.png)
第二章:描述1、需求的定义a用户为了解决问题和解释或达到某些目标所需要的条件能力b系统或系统部件为了满足合同,标准,规范或其他正式文档所规定的要求而需要具备的条件或能力c对a或b中的一个条件或一种能力的一种文档表述。
2、需求的内涵:问题域、解系统与共享现象a要解决问题,就需要改变现实中某些实体的状态,或者改变实体状态变化的演进顺序,使其达到期望的状态和理想的演进顺序。
这些实体与状态构成了问题解决的基本范围,称为该问题的问题域。
b软件系统通过影响问题域,能够帮助人们解决问题,称为解系统。
c共享现象:通过映射建立的共同知识,就是问题域中与解系统中的共享现象。
3、分类:类别有:功能需求,性能需求,质量需求,对外接口,约束4、功能需求的三个层次:5、需求工程的路线图问题分析:明确问题定义业务需求制定解决方案及系统特性->需求获取:用户需求,性能需求质量属性对外接口约束问题域特性->需求分析:系统需求系统模型->文档化与验证第四章:描述6、需求获取的困难用户和开发人员的背景不同,立场不同首先是知识理解的困难。
尽力去研究应用的背景,理解组织的状况,形成一个能够和用户进行有效沟通的粗略的知识框架默认(Tacit)知识现象利用有效的获取方法与技巧(角色扮演、观察等)来发现并获取默认知识普通用户缺乏概括性、综合性的表述能力普通用户的知识结构就相对局限于一些具体的业务细节善于表达具体业务的细节问题专家用户的知识结构因其渊博性而具有概括性和广泛性能够回答概括性和综合性的问题开发人员在与用户接触之前就先行确定获取的内容主题,然后设计具体的应用环境和场景条件,由用户根据细节业务的执行来描述问题、表达期望。
7、需求获取的流程第五章8、定义项目前景和范围的流程:描述9、问题分析:应用第六章:描述+应用10、涉众分析的流程11、涉众识别的方法12、涉众评估的内容13、涉众选择的策略第7——9章:描述+应用14、面谈的问题类型15、面谈的结构16、面谈的优缺点17、原型的各种特征分类18、原型的优缺点利用原型的好处有:及时、有力的响应用户需求的变化;减少返工;帮助控制不完整需求所带来的风险;可以将一个大的难以处理的开发过程细分成一些更小更容易处理的步骤;减少开发成本,提高经济效益;增加开发者之间的交流,帮助确定技术解决方案的可行性;有效的识别风险和解决风险,帮助进行风险管理;提高用户在软件开发中的参与程度。
软件工程期末考试主要知识点电子版
![软件工程期末考试主要知识点电子版](https://img.taocdn.com/s3/m/5415bfebf8c75fbfc77db20a.png)
4.七条基本原理:(1)用分阶段的生命周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)结果应能清楚地审查;(6)开发小组的人员应该少而精;(7)承认不断改进软件工程实践的必要性。
10、RUP是Rational软件公司进过多年的商业化经验的六条最有效的软件按开发经验:迭代式开发、管理需求、使用基本构件的体系结构、可视化建模、验证软件质量、控制软件变更11、.微软过程生命周期的阶段以及各阶段的里程碑:(1)规划阶段(项目目标得到认可);(2)设计阶段(完成产品设计);(3)开发阶段(完成开发工作);(4)稳定阶段(准备好可发布版本);(5)发布阶段(完成产品发布)13、可行性研究的目的是用最小的成本在较短的时间内确定问题是否能够解决。
14. 对问题的每一种解法一般需要进行1.技术可行性2.经济可行性3.操作可行性4.法律可行性15. 在可行性研究阶段使用的描述工具有哪些?系统流程图,数据流图,数据字典。
16. 系统流程图:是概括地描述物理系统的传统工具表达的是数据在系统各部件之间的、流动的情况。
其基本思想是用图形符号从黑盒子描绘组成系统的各个部件(程序、文档、数据库、人工过程等)数据流图:是一个图形化技术,它描述信息流和数据从输入一点到输出的过程中所经受的变换。
数据字典:关于数据的信息的集合,即对数据流图中包含的所有元素的定义的集合17. 数据流图仅反映系统必须完成的逻辑功能,所以只是描绘数据在软件中流动和被处理的逻辑过程18. 数据字典的基本元素:数据流、数据元素、数据存储、处理21. 在进行成本/效益分析时首先需要估计成本。
成本估计可以使用那些技术?代码行技术、任务分解技术、自动估计成本技术22. 需求分析阶段的具体任务是什么?确定对系统的综合要求、分析系统的数据要求;导出系统的逻辑模型;修正系统开发计划23. 需求分析最终结果是什么体现的?分析模型、软件需求规格说明书24. 需求分析阶段完成的文档有哪些?分析模型、软件需求规格说明书25. 需求分析阶段使用的图形工具有哪些?数据流图、E-R图、状态转换图、层次方框图、watnier图、IPO图26. 在大型数据处理系统的功能分析与设计中,数据库的概念设计对应于系统开发的哪个阶段?对应需求分析阶段27. 最常用的表示概念性数据模型的方法是什么?E-R图28. 一般说来,应该从哪几个方面来验证需求分析的正确性?一致性、完整性、现实行、有效性29. 什么有穷状态机?有穷状态机有何作用?有穷状态机又哪几部分组成?有穷状态机:一个5元组(JKTSF)J有穷非空状态集K有穷的非空输入集T是一个从(J-F)*K到J 的转换函数、S属于J,初始状态。
(完整版)软件工程期末复习要点归纳总结(可编辑修改word版)
![(完整版)软件工程期末复习要点归纳总结(可编辑修改word版)](https://img.taocdn.com/s3/m/142c1548680203d8cf2f2489.png)
第一章软件工程学概论1、软件危机产生的原因软件本身的特点:难于维护、逻辑复杂软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护课本表述:1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件2、软件不同于一般程序,它的一个显著特点是规模庞大,而且程序的复杂性将规模的增加而呈现指数上升。
3、软件本身特有的特点确实给开发和维护带了一些客观困难4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维护)5、对用户要求没有完整准确的认识就匆忙开始着手编写程序6、在软件不同阶段进行修改需要付出的代价是很不相同的2、软件危机的表现(什么是软件危机)(1)、成本高:(2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多(3)、进度难以控制:●项目延期比比皆是●由于进度问题而取消的软件项目较常见●只有一小部分的项目能够按期完成(4)、维护十分困难:▼软件维护的多样性▼软件维护的复杂性▼软件维护的副作用3、克服软件危机(1)、管理的角度:软件开发过程的研究、文档的标准化以及人员的交流方式等(2)、软件开发方法的研究结构化软件开发方法, 面向对象的开发4、软件工程的定义概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
(1)、软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。
(2)、①把系统的、规范的、可度量的方法应用于软件开发、运行和维护的过程,也就是把工程应用于软件.②研究①中提到的途径总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
他借鉴传统工程的原理、方法,以提高质量,降低成本为目的。
5、软件工程的本质特性1、关注与大型程序的构造2、中心课题是控制复杂度3、软件经常变化4、开发软件的效率非常重要5、和谐的合作是开发软件的关键6、软件必须有效地支持它的用户7、在软件工程领域中通常由具有一个文化背景的人替另外一种文化背景的人创造产品6、软件工程的基本原理1、用分阶段的生命周期计划严格管理2、坚持进行阶段评审3、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审查6、开发小组应该少而精7、承认不断改进软件工程实践的必要性软件工程学包含3 个要素:方法、工具和过程7、软件生命周期(1)、概念:软件生命周期由软件定义、软件开发和运行维护(也成软件维护)3 个时期组成。
软件需求分析复习资料
![软件需求分析复习资料](https://img.taocdn.com/s3/m/73e3d64c2b160b4e767fcfbb.png)
计算机系统本身是无用的
������ ������ ������ ������ ������ ������
软件开创了新的可能性
目录
首页
上页
下页
末页
软件需求包括三个不同的层次—业务需求、用户需求和 功能需求(非功能需求)
业务需求( business requirement)反映了 组织机构或客户对系统、产品高层次的目标 要求
原型法
适合于开发方清楚 对于开发方要求较 在以往类似项目应 项目需求但用户方 高 用系统的基础上进 不清楚项目需求的 行少量修改得出一 情况 可运行系统
节省开销 无法满足个性化软 重用建好的领域模 件要求 型,获得新系统需 13 复旦大学计算机科学与工程系 软件工程课程 求
目录 首页 上页 下页 末页
复旦大学计算机科学与工程系 软件工程课程 31
目录
首页
上页
下页
末页
类图
当你考虑如何将问题域对象映射到系统对象, 并进一步细化每个类的属性和操作时,面向对 象技术可以方便需求开发到设计阶段的转换。 类图(class diagram)是用图形方式叙述面向对 象分析所确定的类以及它们之间的关系。 用统一建模语言(UML)的符号为化学制品跟 踪系统的一部分(你所假设的)绘制类图。
末页
业务需求
•业务需求是组织或客户对于系统的高层次目标要求,定义 了项目的远景和范围,即确定软件产品的发展方向、功能 范围、目标客户和价值来源。 •业务需求的内容
–业务:产品属于哪类业务范畴?应该完成什么功能?需要为什么
服务? –客户:产品为谁服务?目标客户是谁?
《软件需求工程》期末考试试题2套含答案(大学期末复习资料).doc
![《软件需求工程》期末考试试题2套含答案(大学期末复习资料).doc](https://img.taocdn.com/s3/m/ed9300f3453610661fd9f48a.png)
考试科目名称 软件需求工程1、(本题满分10分) (1) 解释下列三个概念:业务需求、用户需求、系统需求;(2)说明为什么在需求开发当中要重视软件的质呈属性。
2、(本题满分10分)试分析按下列顺序安排的问题是什么面谈结构:(1) 你在这个职位多久了?(2) 你的主要责任是什么?(3) 你接受什么报告?⑷你是如何看待部门目标的?(5) 你是如何描述决策过程的?(6) 怎样才能最好地支持这个过程?(7) 做这些决策的频度如何?(8) 当你做决策时会咨询谁?(9) 你做过的对于部门机能有重要意义的决策是什么?(1)这里采用了什么结构?你是如何确定的?得分 得分(2)通过改变问题的顺序,重新安排面谈的结构(如果有些必要,可以省略一些问题)。
标明所用的结构。
3、(本题满分15分)在各种关于软件的调研当中,无一例外的发现“缺乏用户参与”是导致软件失败的最大原因,请列举至少3条会使得用户参与不足的原因?并说明相应的解决方法。
4、(本题满分15分)根据下列叙述性描述,为描述的内容绘制一个上下文DFD:校园书店“课本库存系统”的目的是向学生提供本地大学课程的课本。
大学的教学部门通过一个“课本主清单”向书店提交初始数据,包括课程、教师、课本和预计注册人数。
书店生成一个“购买订单”,“购买订单”被送到供应课本的出版公司。
图书订单随着一个“包装清单”到达书店,它被接收的部门检查和验证。
学生填写包含课程信息的“购书要求”,当他们付了书款Z后就得到一个“销售单据”。
5、(本题满分15分)一个CD销售商店需要开展网上销售业务,下而是它的一个典型销售场景:Normal Flow of Events:1.Customer submits a search request to the system, the request contains the category information ofCDs.2.The system provides the customer a list of recommended CDs.3.The customer chooses one of the CDs to find additional information according to its identifie匚4.The system provides the customer with basic information & CD Reviews5.The customer maintains the order, records the item chosen・6.The customer iterates over 3 through 5 until finished shoppin g・7.The customer checks out and leaves the website・请以上述场景的描述为基础,执行名词抽取、建立关联和识别属性三个过程,并最终为上述描述建立领域模型,要求详细记录你在执行三个过程时的具体步骤。
软件工程复习资料-完整版
![软件工程复习资料-完整版](https://img.taocdn.com/s3/m/5dc9ec09abea998fcc22bcd126fff705cc175c11.png)
一、选择题:1、用例图中,用来表示用例的符号为( B ) 。
2、协作图中包含的元素包括(A ) 。
A. 对象 B. 链 C. 激活 D. 消息3、在类图中,哪种关系表达整体与部分的关系( D ) 。
A .泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为 (B )。
A. B. C. D.5 、(A )工具在软件的详细设计中不能使用。
A . DFD B. N-S 图 C. 流程图 D. PDL6 、 “软件危机”是指 (C )。
A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7 、 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (A )的方法和技术中产生 的。
A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列 4 个选项中属于顺序图的元素是(ABCD ) 。
A.对象B. 参与者C. 消息D. 激活9、下列 UML 图形中, (ABCD )属于 UML 的动态视图。
A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( D ) 。
A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是 (D )。
A. DFD 图B. 程序图C. PAD 图D. SC 图12 、UML 中,大多数建模者把节点分为(AC )A . 设备 B. 构件 C. 处理器 D. 显示器13 、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。
A .时间图 B. 流程图 C. 活动图 D. 状态图14 、(A )描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。
A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是( D ) 。
软件需求工程知识点总结
![软件需求工程知识点总结](https://img.taocdn.com/s3/m/b6a56e2ecbaedd3383c4bb4cf7ec4afe04a1b121.png)
软件需求工程知识点总结软件需求工程是软件工程的一个重要领域,它涉及到对软件系统需求的获取、分析、规格化和管理等工作。
软件需求工程知识点涵盖了需求获取、需求分析、需求规格化、需求验证和需求管理等方面的内容。
本文将对软件需求工程的相关知识点进行总结。
一、需求获取1. 需求获取的定义和重要性需求获取是软件需求工程的第一步,它涉及到对用户需求、业务需求和系统需求等进行调研和收集。
需求获取的目的是确保软件开发过程中能够充分了解并满足用户的需求,从而提高软件系统的质量和用户满意度。
需求获取通常通过访谈、问卷调查、观察和数据分析等方式来进行。
2. 需求获取的方法需求获取的方法包括:访谈法、问卷调查法、观察法和原型法等。
访谈法是最常用的需求获取方法,它通过与用户和相关利益相关者进行面对面的沟通,来了解他们的需求和期望。
问卷调查法则通过发放问卷并收集用户的意见和建议来获取需求。
观察法则是通过观察用户的行为和工作环境来获取需求。
原型法则是通过制作软件原型让用户亲自体验和反馈来获取需求。
3. 需求获取的挑战需求获取过程中面临的挑战主要包括需求不清晰、需求变化频繁、利益相关者之间存在矛盾等。
这些挑战会导致需求获取过程中出现误解和偏差,从而影响软件开发的进度和质量。
二、需求分析1. 需求分析的概念和目标需求分析是对需求进行深入的理解和挖掘,以确定需求之间的关联和约束条件,并确保需求的一致性、完整性和可行性。
需求分析的目标是将用户需求转化为系统需求,并形成需求规格说明书,为软件设计和开发提供依据。
2. 需求分析的方法和工具需求分析的方法包括:功能分解法、数据流图法、状态图法、场景建模等。
功能分解法是将系统功能进行分解,形成功能层次结构图。
数据流图法是通过绘制数据流图和数据字典来描述系统的数据流和数据元素。
状态图法是通过绘制状态图来描述系统中的各种状态和转移条件。
场景建模是通过场景描述来捕捉用户需求和系统行为。
3. 需求分析的类型需求分析的类型包括:功能需求分析、非功能需求分析和用户需求分析等。
软件工程期末复习要点归纳总结
![软件工程期末复习要点归纳总结](https://img.taocdn.com/s3/m/fb19feb53186bceb18e8bb45.png)
第一章软件工程学概论1、软件危机产生的原因软件本身的特点:难于维护、逻辑复杂软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护课本表述:1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件2、软件不同于一般程序,它的一个显著特点是规模庞大,而且程序的复杂性将规模的增加而呈现指数上升。
3、软件本身特有的特点确实给开发和维护带了一些客观困难4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维护)5、对用户要求没有完整准确的认识就匆忙开始着手编写程序6、在软件不同阶段进行修改需要付出的代价是很不相同的2、软件危机的表现(什么是软件危机)(1)、成本高:(2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多(3)、进度难以控制:●项目延期比比皆是●由于进度问题而取消的软件项目较常见●只有一小部分的项目能够按期完成(4)、维护十分困难:▼软件维护的多样性▼软件维护的复杂性▼软件维护的副作用3、克服软件危机(1)、管理的角度:软件开发过程的研究、文档的标准化以及人员的交流方式等(2)、软件开发方法的研究结构化软件开发方法, 面向对象的开发4、软件工程的定义概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
(1)、软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。
(2)、①把系统的、规范的、可度量的方法应用于软件开发、运行和维护的过程,也就是把工程应用于软件.②研究①中提到的途径总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
他借鉴传统工程的原理、方法,以提高质量,降低成本为目的。
5、软件工程的本质特性1、关注与大型程序的构造2、中心课题是控制复杂度3、软件经常变化4、开发软件的效率非常重要5、和谐的合作是开发软件的关键6、软件必须有效地支持它的用户7、在软件工程领域中通常由具有一个文化背景的人替另外一种文化背景的人创造产品6、软件工程的基本原理1、用分阶段的生命周期计划严格管理2、坚持进行阶段评审3、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审查6、开发小组应该少而精7、承认不断改进软件工程实践的必要性软件工程学包含3个要素:方法、工具和过程7、软件生命周期(1)、概念:软件生命周期由软件定义、软件开发和运行维护(也成软件维护)3个时期组成。
软件工程期末复习
![软件工程期末复习](https://img.taocdn.com/s3/m/25047c60b84ae45c3b358c26.png)
一、需求抽取1什么是需求工程?需求工程是软件开发中管理需求的过程。
需求工程创建的第一份文档是需求陈述,用于在项目开发之初理解客户的需求。
2.什么是需求陈述?需求陈述是一份文档,陈述软件方案的需要,并对可能的规格要求加以说明。
3. 需求陈述有什么作用?需求陈述用来明确软件开发的用途,它不仅要说明软件有什么用,还要在宏观层次上明确软件应具备的特性。
4. 为什么需要构想文档?构想文档是为软件开发团队创建的,有助于开发人员明了项目的目的和范围。
5. 构想文档有哪些组成部分?构想文档是待开发项目的一个概要,它从宏观层面上显示软件的需求。
文档内容还包括关键利益相关者、软件主要功能和软件约束。
-------------------------------------------------------------------------------------构想文档的作用是为了使大家都能明了软件开发的目的。
典型地,构想文档为待开发的项目提供了一个结构清晰的概要。
它确保项目的计划、设计和开发等阶段能依次有序地展开。
构想文档是为软件开发团队创建的,有助于开发人员明了项目开发的目的和范围。
一个典型的构想文档包括:委托方公司描述需求概要项目目标项目利益相关者软件主要功能项目约束前景文档必须写得非常清楚,这样用户才能理解文档。
前景文档只包含需求的概要,不包括详细需求。
一个典型的前景文档有助于你:了解委托方公司确定公司的需求确定软件所要实现的目标确定关键的项目利益相关者确定软件的主要功能确定项目约束---------------------------------------------------1. 什么是需求抽取?需求抽取是从相关来源为软件开发收集需求的过程。
2. 需求的来源有哪些?需求的来源有:公司员工和外部人员(如供应商等)。
公司文件,包括手册、文书、表格和报表等。
现有应用系统的文档(若有的话)。
1. 在需求抽取过程中,有哪五种常见的错误?a最常见的一种错误是不同的人对“需求”一词有不同的理解。
软件需求工程复习
![软件需求工程复习](https://img.taocdn.com/s3/m/d0f173056edb6f1aff001fdf.png)
目录1.需求问题分析及需求研发成本分析: (2)(1)需求问题产生的原因为: (2)(2)需求问题不解决导致成本增加,主要体现在: (2)2.需求工程及软件需求工程的概念及组成: (2)(1)概念 (2)(2)组成: (3)3.需求的层次和分类及其定义: (3)(1)软件需求包括三个不同的层次: (3)(2)需求的定义: (3)4.软件需求工程的组成或层次分解图,每部分的主要活动 (4)(1) 组成:问题获取(elicitation)、需求分析(analysis)、编写规格说明 (specification)和需求验证(verification) (4)(2) 每部分的主要活动: (4)5.良好需求的特性: (5)1)完整性 (5)2)正确性 (5)3)可行性 (6)4)必要性 (6)5)划分优先级 (6)6)无二义性 (6)7)可验证性 (6)8)一致性 (7)9)可修改性 (7)10)可跟踪性 (7)6.需求开发与需求管理的界限: (7)需求工程推荐的各阶段的主要方法: (8)8.项目视图范围文档,项目视图描述: (10)9.系统关联图 (11)10.用户类及其分析 (11)11.软件需求的典型来源 (12)12.对产品代表的主要要求 (14)用例图、用例模型、概念及应用 (15)14.软件质量属性 (16)用户需求分类 (16)软件原型概念、技术方法及应用 (19)17、优先级概念、为什么要使用确定方法? (22)18、数据流图及绘制主要规则。
(23)19、需求分析过程、设计的其他图形化建模方法,ER图、状态转换图、对话图、类图、用例图、数据流图。
(24)20、软件SRS作为项目各环节的基础,及各个读者使用达到哪些目的。
(25)21、标示需求的几种方法及分析。
(25)编写规格说明书的原则讨论及案例分析。
(26)23、需求审查过程及其角色设置,进入退审查标准。
(27)24、需求管理的主要活动(各个部分) (28)1.需求问题分析及需求研发成本分析:(1)需求问题产生的原因为:1)用户参与不多2)用户需求的增加3)模棱两可的需求说明4)用户增加一些不必要的特性和开发人员画蛇添足。
(完整word)软件工程期末复习要点归纳总结,推荐文档
![(完整word)软件工程期末复习要点归纳总结,推荐文档](https://img.taocdn.com/s3/m/c452f85249649b6649d7475c.png)
第一章软件工程学概论1、软件危机产生的原因软件本身的特点:难于维护、逻辑复杂软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护课本表述:1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件2、软件不同于一般程序,它的一个显著特点是规模庞大,而且程序的复杂性将规模的增加而呈现指数上升。
3、软件本身特有的特点确实给开发和维护带了一些客观困难4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维护)5、对用户要求没有完整准确的认识就匆忙开始着手编写程序6、在软件不同阶段进行修改需要付出的代价是很不相同的2、软件危机的表现(什么是软件危机)(1)、成本高:(2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多(3)、进度难以控制:●项目延期比比皆是●由于进度问题而取消的软件项目较常见●只有一小部分的项目能够按期完成(4)、维护十分困难:▼软件维护的多样性▼软件维护的复杂性▼软件维护的副作用3、克服软件危机(1)、管理的角度:软件开发过程的研究、文档的标准化以及人员的交流方式等(2)、软件开发方法的研究结构化软件开发方法, 面向对象的开发4、软件工程的定义概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
(1)、软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。
(2)、①把系统的、规范的、可度量的方法应用于软件开发、运行和维护的过程,也就是把工程应用于软件.②研究①中提到的途径总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
他借鉴传统工程的原理、方法,以提高质量,降低成本为目的。
5、软件工程的本质特性1、关注与大型程序的构造2、中心课题是控制复杂度3、软件经常变化4、开发软件的效率非常重要5、和谐的合作是开发软件的关键6、软件必须有效地支持它的用户7、在软件工程领域中通常由具有一个文化背景的人替另外一种文化背景的人创造产品6、软件工程的基本原理1、用分阶段的生命周期计划严格管理2、坚持进行阶段评审3、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审查6、开发小组应该少而精7、承认不断改进软件工程实践的必要性软件工程学包含3个要素:方法、工具和过程7、软件生命周期(1)、概念:软件生命周期由软件定义、软件开发和运行维护(也成软件维护)3个时期组成。
完整word版,太原理工大学软件需求工程需求总结,推荐文档
![完整word版,太原理工大学软件需求工程需求总结,推荐文档](https://img.taocdn.com/s3/m/54cf594408a1284ac850439e.png)
1.优秀需求的特性:完备性、正确性、可行性、必要性、无歧义、(可验证)2.场景:描述了产品的作用以及最终的功能,它将所有涉众都统一到了一个方向上3.范围:范围指出当前项目是要解决产品长远规划中的哪一部分,范围声明它为项目规定了需求的界限.4.需求IEEE 定义:①用户为了解决问题或达到某些目标所需要的条件或能力;②系统或系统部件为了要满足合同、标准、规范或其他正式规定文档所规定的要求而需要具备的条件或能力;对①或②中的一个条件或一种能力的一种文档化表述.5.需求分析的定义及根本任务:需求分析是利用建模与分析技术对获取笔录的内容进行明确、整理、汇总,建立一个综合考虑问题特性和需求的系统模型,然后根据系统模型将用户需求转化为系统需求的需求工程活动。
需求分析的根本任务:建立分析模型、创建解决方案6.UML 是什么,举例5个建模图 模型工具:用例图,交互图,状态图,类图,活动图 1.作为系统分析项目的一部分,需要为大学一卡通的管理系统更新自动化会计功能。
你将要对首席会计牛建国进行访谈。
1)写出 4 到 6 个涉及他所使用的信息资源、信息格式、决策频度、需求的信息性质和决策样式的访谈目标。
2)说明你将如何联系牛建国以安排一次访谈。
3)说明在这场面谈中你会使用哪种访谈结构?为什么? 4)牛建国有 3 个下属也使用这个系统。
你和他们面谈吗?为什么? 5)写出 3 个开放式问题,在访谈前通过电子邮件寄给牛建国。
用一句话解释为什么应当由人而不是由电子邮件来指导访谈? 答:①面谈过程的准备阶段:打电话或者email 给牛建国,因为要进行深入面谈,可以先将一些问题通过 email 发给他 ②采用菱形面谈结构,因为目的是要更新自动化会计功能.也可以考虑使用漏斗结构 ③应当面谈,因为下属和领导应该具有不同的目标,而这些目标是领导不能提供的.采用漏斗型.以一般的开放式的问题开始,有助于分析人员取得总体认识,然后再逐步就某些问题展开深入面谈. 面谈是复杂的过程,可以实现很多的目标,只有依靠人的灵活和主观能动性才能使面谈达到最优效果. 7.软件模拟特性具体指:目的性、正确性、现实可理解性. 8.需求处理中的核心活动:需求建模与分析. 9. 需求工程需要获取的内容主要有3种:需求(需求是获取的主要对象)、问题域描述、环境与约束. 10.问题和期望粒度不同的现象被称为需求的不同抽象层次,需求最为常见的抽象层次有3层:目标→业务需求(起点)任务→用户需求(问题域知识)系统行为→系统级需求(需求分析模型). 11.需求分析根本任务:建立分析模型、给出系统解决方案. 12.问题分析的前提是获取问题,可以通过收集背景资料或与涉众沟通来实现. 13非功能需求中最重要的是质量需求.功能需求是软件系统需求中最常见和最重要的需求,同时也是最为复杂的需求. 14.需求获取过程需要进行交流,交流中最大的问题是理解偏差. 15.获取、分析规格说明与验证这些需求开发活动并不是以线性、顺序方式进行的,这些活动之间是互相交织的,整个开发活动也是不断迭代和递增的. 16.描述场景所使用的表示法要符合正规性的要求,一般使用形式化、非形式化、半形式化语言,实践当中描述场景的方式主要的是非形式化自然语言. 17.结构化分析方法的核心技术是:数据流图. 18.建模最为常用的手段:抽象、分解. 19.领域模型领域的含义主要指:问题集合业务范围. 20.原型按照开发方法进行分类:演化式模型与抛弃式模型.抛弃分为探索实验型。
软件工程期末复习(超详细!!!)
![软件工程期末复习(超详细!!!)](https://img.taocdn.com/s3/m/99d38eee02020740bf1e9be4.png)
软件工程期末复习(超详细!!!)一:软件工程概述软件工程学的存在价值:促进软件项目成功。
软件的概念:软件(software):软件是计算机系统中与硬件相互依存的另一部分。
它包括程序、数据及其相关文档的完整集合。
(1)能够完成预定功能和性能的可执行指令(program)(2)使得程序能够适当地操作信息的数据结构(data)(3)描述程序的操作和使用的文档(document)软件危机:软件危机定义:软件在开发和维护过程中遇到的一系列严重问题。
软件危机包含两层含义:如何开发软件。
如何维护数量不断膨胀的已有软件。
软件工程(Software Engineering):是研究和应用功能如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。
软件生存周期:是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程。
一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。
计划阶段确定待开发系统的总体目标和范围。
研究系统的可行性和可能的解决方案,对资源、成本及进度进行合理的估算。
分析阶段分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。
设计阶段(总体设计和详细设计)设计阶段的目标是决定软件怎么做。
软件设计主要集中于软件体系结构、数据结构、用户界面和算法等方面。
实现阶段(编码)实现阶段是将所设计的各个模块编写成计算机可接受的程序代码。
测试阶段设计测试用例,对软件进行测试,发现错误,进行改正。
运行和维护阶段应当在软件的设计和实现阶段充分考虑软件的可维护性。
维护阶段需要测试是否正确实现了所要求的修改,并保证在产品的修改过程中,没有做其他无关的改动。
维护常常是软件生命周期中最具挑战性的一个阶段,其费用是相当昂贵的。
软件工程三要素:工具、方法、开发过程瀑布模型:问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试、运行与维护。
(完整word版)软工复习材料
![(完整word版)软工复习材料](https://img.taocdn.com/s3/m/f0453221240c844768eaee17.png)
2.1 软件工程&软件过程概述什么是软件,软件的特点软件是在计算机系统支持下,能够完成特定功能和性能的程序、数据和相关的文档。
(书本)软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。
(课件)软件=知识+程序+数据+文档(书本)软件=程序+规程+数据+文档(课件)软件的特点:软件是抽象的逻辑产品,而不是物理产品。
灵活性和不会磨损和老化。
1.软件开发更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。
2.软件存在潜伏错误,硬件错误一般能排除。
3.软件开发成后,只需对原版进行复制。
4.软件在使用过程中维护复杂:(1)纠错性维护-改正运行期间发现的潜伏错误;(2)完善性维护-提高或完善软件的性能;(3)适应性维护-修改软件,以适应软硬件环境的变化;(4)预防性维护-改进软件未来的可维护性和可靠性。
(5)软件不会磨损和老化。
什么是软件危机,软件危机的表现软件危机是指在软件开发和维护中所遇到的一系列严重的问题。
软件危机的表现(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对已完成的软件不满意的现象时有发生。
(3)软件产品的质量往往是靠不住的。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
软件工程的定义、目标及原则定义是:1 将系统化的、规范化的、可量化的的方法应用于软件的开发、运行和维护的过程;2对1中所述方法的研究目标:是在给定成本,进度的前提下,开发出满足用户或市场需求的高质量的软件产品。
原则:抽象、信息隐藏、模块化、局部化、一致性、完全性和可验证性。
软件质量要素产品转移:可移植性、可重用性、互操作性产品运行:正确性、可靠性、效率、完整性、实用性产品校正:可维护性、灵活性、可测试性8个质量要素:(1)正确性(2)可用性(3)可靠性(4)有效性(5)可维护性(6)可移植性(7)安全性(8)可复用性人月神话(1)缺乏合理的时间进度是造成项目滞后的最主要原因,它比其他所有因素加起来影响还大。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.☆ 什么是软件需求工程?请说明软件需求工程中各阶段的主要任务。
p51定义一般定义:指应用工程化的方法、技术和规格来开发和管理软件的需求。
需求工程的目标:获取高质量的软件需求。
与软件工程中传统的需求分析概念相比,需求工程突出了工程化的原则,强调以系统化、条理化、可重复化的方法和技术进行与软件需求相关的活动,从而有利于提高所有与软件需求相关的活动及其过程的可管理性,降低需求开发和管理的难度和成本。
其它定义:Alan.Davis:直到(但不包括)把软件分解为实际架构组建之前的所有活动,即软件设计之前的一切活动。
该定义虽然没有详细说明需求工程是什么,但其给出了需求工程的范围。
Lan K. Bray :对问题域及需求做调查研究和描述,设计满足那些需求的解系统的特性,并用文档给予说明。
这个定义明确指出了需求工程的任务就是获取、分析和表达软件的需求。
需求工程=需求的开发活动+需求的管理活动2各阶段主要任务需求获取阶段:获取用户的需求信息。
需求分析阶段:分析和综合已经收集到的需求信息。
需求建模阶段:根据待开发软件系统的需求利用某种建模方法建立该系统的逻辑模型。
需求定义阶段:根据用户需求编写出需求规格说明。
需求的形式化描述阶段:用严格的数学知识和符号来构造系统的需求模型。
需求验证阶段:检验软件需求规格说明。
需求管理阶段:开发人员在与提出更改的请求者协商的基础上,评估需求变更带来的潜在影响及可能的成本及费用,然后实施更改,一级有效的管理需求规格说明文档和跟踪更改需求的状态。
☆ 什么是软件需求?软件需求有哪些类型,并分别给出它们的定义。
p2软件需求的定义:A. Davis :软件需求是从软件外部能发现的,软件所具有的,满足于用户的特点、功能及属性等的集合。
I. Sommerville:需求是问题信息和系统行为、特性、设计和实现约束的描述的集合。
M. Jackson等:需求是客户希望在问题域内产生的效果。
IEEE 软件工程标准:(1)用户解决问题或达到目标所需的条件或能力;(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。
通俗定义:软件需求是指软件系统必须满足的所有功能、性质和限制。
软件需求的类型 :目标需求:反映组织机构或客户对系统和产品提出的高层次的目标要求,其限定了项目的范围和项目应达到的目标。
业务需求:主要描述软件系统必须完成的任务、实际业务或工作流程等。
软件开发人员通常可从业务需求进一步细化出具体的功能需求和非功能需求。
功能需求:指开发人员必须实现的软件功能或软件系统应具有的外部行为。
性能需求:指实现的软件系统功能应达到的技术指标,如:计算效率和精度,可靠性,可维护性和可扩展性等。
约束与限制:指软件开发人员在设计和实现软件系统时的限制,如:开发语言,使用的数据库等。
☆ 试述快速原型开发模型和面向对象开发模型的基本思想,然后说明快速原型开发模型中抛弃型模型和进化型模型的作用。
p9快速原型模型基本思想:快速建立一个实现了若干功能的(不要求完全)可运行模型来启发、揭示和不断完善用户需求,直到满足用户的全部需求为止。
其基本过程如下:收集需求快速设计建立原型评价并细化需求设计与实现测试维护面向对象开发模型基本思想:应用对象、类、继承、封装、消息、对象或类之间的关系等面向对象的概念对问题进行分析和求解的软件开发技术,或者说,是以对象(类)为数据中心、对象之间的动态行为模式作为运行机制的一种问题求解方法。
其基本过程如下:面向对象分析面向对象设计面向对象实现和测试系统维护抛弃型模型:指在原型达到预期目的后将其抛弃,而且在构建该原型时,可以忽略具体的软件构造技术,亦即应以最小的代价构造抛弃型原型。
进化型模型:在需求被清楚定义的情况下,以渐增式方式构建原型,并使原型最终能成为软件产品的一部分。
☆ 请指出下列陈述属于哪种类型的软件需求或不属于软件需求。
p26(1 )只有电梯停在某一楼层时,电梯才能改变方向。
非功能(2 )系统必须用三个主要模块来实现,即检测、记录和统计分析模块,每个模块各自实现一个主要功能。
功能性需求(3 )当用户输入他们的口令后,系统便自动从口令文件中检索他们的加密口令,并进行核对。
功能性需求(4 )通过对用户进行不到一个小时的培训后,用户能输入和打印某些数据,且输入 / 出的出错率低于 1/20 。
非功能(5 )所有报销单据必须经过财务部门某负责人审核后才能交由系统处理。
非功能(6 )系统必须用面向对象的方法和技术实现。
非功能☆ 下列需求是否含糊,如果含糊的话,请在说明理由后给予修改:p84(1 )系统必须在固定的时间间隔内提供状态信息,并且每次时间间隔不得小于60 秒。
含糊。
需求不完整,导致需求不可验证。
改进如下:后台任务管理器 (BTM) 应该在用户界面的指定区域显示状态消息。
a.在后台任务进程启动之后,消息必须每隔60( 10) 秒更新一次,并且保持连续的可见性。
b.如果正在正常处理后台任务进程,那么后台任务管理器 (BTM) 必须显示后台任务进程已完成的百分比。
c.当完成后台任务时,后台任务管理器(BTM) 必须显示一个“已完成”的消息。
d.如果后台任务中止执行,那么后台任务管理器(BTM) 必须显示一个出错信息。
(2 )“产品必须在显示和隐藏非打印字符之间进行瞬间切换”。
在瞬间这一时间概念上,计算机不能完成任何工作,因此,这个需求是不可行的。
该需求也是不完整的,因为它没有说清状态切换的原因。
在特定的条件下,软件产品是否可以进行自动切换或者可否由用户采取某些措施来激发这样转变?还有,在文档中显示转变的范围是什么?是所选的文本、整个文档或其它内容?这个需求也存在一个不确定性问题。
“非打印”字符是否指隐藏文本、属性标记或者其它的控制字符?由于存在这些问题,该需求是不可验证的。
用如下的语句描述这个需求可能会更好一些:“用户在编辑文档时,通过激活特定的触发机制,可以在显示和隐藏所有H T M L标记之间进行切换”。
现在,指代关系就清楚了,非打印字符指的是H T M L标记。
修改过的需求指明了是用户触发了显示状态的转换,但是它并没有对设计造成限制,因为它并没有精确定义所使用的机制。
当设计人员选择好一种触发机制(例如热键、菜单命令或语音输入)时,你就可以编写详细的测试用例来验证这种转换操作是否正确。
(3)编译系统应该能生出出错报告,这样就可使初学者能迅速的排错。
应说明编译系统在什么情况下出什么出错报告,改为:编译系统应该能标识出错误,并在错误所在的位置显示出出错报告,这样就可使初学者迅速的排错。
(4)软件系统应具有良好的反应时间和数据精度,且能由菜单方式驱动。
“良好的”应使用量化的语言叙述,改为:软件系统的反应时间应小于 1 秒,数据精度为10^-6 。
(5 )“分析程序应该能生成H T M L 标记出错的报告,这样就可以使H T M L 的初学者使用它来迅速排错。
”“迅速” 这个词具有模糊性。
缺乏对出错报告内容的定义表明该需求是不完整的。
我不知道你是如何验证这个需求的。
找一些H T M L 的初学者,看他们利用这个报告是否可以迅速排错?还有一点不清楚的是:H T M L 初学者使用的是分析程序还是出错报告。
并且何时生成这样的报告?让我们使用另一种方式表述这个需求:a. 在 H T M L 分析程序完全分析完一个文件后,该分析程序必须生成一个出错报告,这个报告中包含了在分析文件过程中所发现错误的H T M L 所在的行号以及文本内容,还包含了对每个错误的描述。
b.如果在分析过程中未发现任何错误,就不必生成出错报告。
现在我们知道了任何生成出错报告及其所包含的内容,但是我们已经把该需求提交给设计人员,让他们来决定报告的形式。
我们还指明了一种例外情况:如果没有任何错误,就不生成出错报告。
(6 )“如果可能的话,应当根据主货物编号列表在线确认所输入的货物编号。
”我在想:“如果可能的话”这句话意味着什么?该需求是否在技术上可行?是否可以在线访问主货物编号列表?如果你不能确信是否可以递交一个请求,那么就使用“待确定”( T B D ) 来表示未解决的问题。
这个需求是不完整的,因为它并没有指明如果确认通过或失败,将会发生什么情况。
应该尽量避免使用不精确的词汇,例如“应当”。
客户可能需要这个功能或者不需要这个功能。
一些需求规格说明利用关键字之间微妙的差别如“应当”,“必须”和“可能”来指明重要性。
我更喜欢使用“必须”或“将要”来明确说明需求的目的并且明确指定其优先级。
改进后的该需求描述如下:“系统必须根据在线的主货物编号列表确认所输入的货物编号。
如果在主列表中查不到该货物的编号,系统必须显示一个出错消息并且拒绝订货。
”第二种相关需求可能记录了一种异常情况:当进行货物编号确认时,主货物编号列表不可访问。
(7 )“产品不应该提供将带来灾难性后果的查询和替换选择。
”“灾难性后果” 的含义是解释的中心词。
在编辑文档时,毫无目的地作出全局性变化而用户又不能检测出错误或没有任何办法来纠正它,此时就可能带来灾难性后果。
你也要合理地使用反面需求,因为这些需求描述了系统所不能做的事情。
潜在的关注焦点在于当发生意外损坏时,能保护文件的内容。
也许,真正的需求是针对多级撤销( u n d o )能力、全局变化或其它可导致数据丢失行为确定的。
☆ 为方便顾客,某航空公司拟开发一个机票预订系统。
机票售票点把预订机票的顾客信息(姓名,性别,身份证号,出发时间和目的地,航班号等)输入该系统,系统为顾客查询航班,打印出取票通知单和账单。
顾客在飞机起飞前一天凭取票通知单和账单缴款取票,系统核对无误后立即打印出机票给顾客。
请用数据流图画出该系统的需求模型(不需要给出数据词典)p42系统数据流图订票信息旅客机票机票预订系统取票通知和账单取通知和账单旅客付费信息顶层数据流程图顶层数据流图只是粗略的给出整个系统的数据流情况。
为了更好的把“航空机票预定系统”中各个模块的具体数据流处理细节表示出来,可以在顶层图的基础上自顶向下继续分解,得到 1 层和 2 层数据流图。
旅客信息订票通知、账单信息旅客旅客取票通知、账单信息1层流程图.旅客信息1.1订票信息1.2通知、账单信息打印、通安排航班知账单订票信息旅客D1 订票信息旅客机票 2.3收费信息 2.2 打印机票收费通知、账单信息订票信息核对正2.1确核对机票信息2层流程图1.11 旅客基本信息及1.13订票信息旅客信息旅客基本信订票要求信息航班安D2 通知和账单记录息及订票要求信息录入排旅客基本信息航班信息1.14 1.12旅客管航班管理理D3 旅客基本信息表D4 航班信息票订票细化流程图旅客去票通知和账单信息2.32.2 正确2.1打印机核对机收费票票信息订票信息D1订票记录另附数据字典:旅客信息 :姓名: xxx性别:男描述:旅客订票时所填的资料(省份证号、所需机票的基本信息、乘机时间)定义:订票申请表单 ( 旅客姓名、旅客性别、起飞日期、飞行目的地、座位类型)位置:位置:在客户端由旅客填写航班信息:航班名称:航班类型:描述:所有从本地起飞的航班信息(航班号、起飞时间、到达的目的地、空出的座位数、票价)定义:航班信息(航班号、起飞日期、飞行目的地、空出的座位数、票价)位置:从服务器端查询后,发送到客户端账单信息:账单名称:账单号:描述:已定票的旅客信息资料(帐单号、旅客姓名、旅客性别、旅客身份证号)定义:账单基本信息(订票旅客的姓名、性别、省份证号、航班号)位置:在服务器端产生,发送回客户端机票信息:机票编号:航班号:描述:所有机票信息(已出售的机票、剩余机票、航班号、起飞时间)定义:机票基本信息(旅客姓名、旅客性别、身份证号码、航班号、起飞时间、飞行目的地、座位号)位置:发送到客户端.另附系统流程图(功能需求) :用户接受航 客 班 户 数 端据 安排库预 打印去 服务器终定票通知 端和帐单用户出订 示去票 核对客 票 通知和 数 户 帐单据端库打印 机另附面向对象的需求分析方法:word 专业资料. word 专业资料。