需求工程总结、
- 格式:doc
- 大小:36.50 KB
- 文档页数:6
软件需求工程软件需求工程是指在软件开发过程中对软件需求进行系统化、规范化的管理和处理的过程。
它包括软件需求的获取、分析、规范化、验证和管理等环节。
在整个软件开发生命周期中,软件需求工程起着至关重要的作用,它直接影响到软件开发质量和项目进展。
一、软件需求工程的定义软件需求工程是指在软件开发过程中对软件需求进行系统化、规范化的管理和处理的过程。
它包括软件需求的获取、分析、规范化、验证和管理等环节。
软件需求工程的目标是确保软件开发团队理解用户需求,并能够根据用户需求开发出满足其期望的软件产品。
二、软件需求工程的重要性软件需求工程在软件开发过程中具有重要的地位和作用,主要体现在以下几个方面:1. 确保项目顺利进行:软件开发过程中,需求不明确或者需求变更频繁往往会导致项目进展受阻。
通过对软件需求进行有效的工程化管理,可以确保项目按计划进行,减少开发过程中的不确定性。
2. 提高软件质量:软件需求工程能够对软件需求进行全面、准确的描述和规范化处理,使开发团队对用户需求有明确的认识。
这样可以避免开发过程中的误解和偏差,从而提高软件的质量和用户满意度。
3. 降低开发成本:软件需求工程能够在软件开发初期就发现和解决潜在的问题,避免在后期进行大幅度的修改和调整。
这样可以降低开发成本,并节约开发团队的时间和资源。
4. 加强项目管理:软件需求工程作为软件开发的基础,能够帮助项目经理对项目进展、人力资源和进度进行有效的管理。
通过对软件需求的追踪和管理,项目经理能够及时发现问题并做出相应的调整和决策。
三、软件需求工程的主要过程软件需求工程包含以下主要过程:1. 需求获取:通过与用户交流、访谈、需求调研等方式,获取用户的需求信息。
需求获取是软件需求工程的第一步,也是最关键的一步,它直接关系到后续工作的开展和软件开发质量。
2. 需求分析:在需求获取的基础上,进行需求分析工作,主要包括需求划分、需求描述、需求模型化等。
通过需求分析,将用户需求转化为开发团队所理解的形式,为后续的开发工作提供参考依据。
软件需求工程实验报告软件需求工程实验报告摘要:本篇实验报告旨在介绍软件需求工程的基本概念、方法和实践过程。
通过对需求工程实验的设计和执行,我们深入了解了需求工程的重要性和应用价值。
本实验以一个虚拟的在线购物平台为例,通过需求分析、需求建模、需求验证等环节,详细描述了软件需求工程的实践过程,并总结了实验中遇到的问题和解决方案。
1. 引言软件需求工程是软件开发过程中至关重要的一环。
它旨在明确用户和系统之间的需求,为软件开发提供明确的目标和方向。
本实验以一个在线购物平台为例,通过需求工程的实践过程,展示了如何从用户需求到系统需求的转化过程。
2. 需求分析需求分析是软件需求工程的第一步。
通过与用户的沟通和交流,我们了解到用户对于在线购物平台的期望和需求。
在需求分析阶段,我们采用了面谈、问卷调查等方法,收集了用户的意见和建议。
通过分析用户需求,我们确定了在线购物平台的基本功能和特性。
3. 需求建模需求建模是将用户需求转化为系统需求的过程。
在本实验中,我们采用了用例图、活动图和类图等建模工具,对在线购物平台的功能和流程进行了详细描述。
通过用例图,我们清晰地展示了用户和系统之间的交互关系。
通过活动图,我们详细描述了用户在购物平台上的操作流程。
通过类图,我们定义了系统中各个对象的属性和行为。
4. 需求验证需求验证是确保需求的正确性和完整性的过程。
在本实验中,我们通过模拟用户操作和系统响应,验证了在线购物平台的功能和性能。
我们对系统进行了功能测试、性能测试和用户体验测试等,确保系统能够满足用户的需求和期望。
通过需求验证,我们发现了一些问题和不足,并及时进行了修正和改进。
5. 实验总结通过本次实验,我们深入了解了软件需求工程的实践过程和方法。
通过需求分析、需求建模和需求验证等环节,我们成功地将用户需求转化为系统需求,并验证了系统的功能和性能。
在实验过程中,我们也遇到了一些问题和挑战,但通过团队合作和不断努力,我们最终解决了这些问题,并取得了令人满意的结果。
填空: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.需求工程:是软件工程的一个分支,它关注与软件系统所应予实现的现实世界目标,软件系统的功能和软件系统应当遵守的约束,同时它也关注以上因素的准确的软件行为规范说明之间的联系,关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系。
软件工程总结报告(一)引言概述:软件工程是一门涉及软件开发和维护的学科,它的目标是通过系统化的方法来提高软件的质量和生产效率。
本文将从五个大点来总结软件工程的相关内容,包括项目管理、需求工程、软件设计、软件开发和软件测试。
通过对这些方面的梳理和分析,旨在提供一个全面的软件工程总结报告。
正文:一、项目管理1. 制定明确的项目目标和计划,确保项目可控性。
2. 分配适当的资源和人力,确保项目的顺利进行。
3. 建立有效的沟通渠道,保持团队协作和信息共享。
4. 实施变更管理,及时应对和解决项目的变化和风险。
5. 进行定期的项目评估和审查,及时纠正问题并改进工作流程。
二、需求工程1. 进行详尽的需求调研和分析,确保准确理解客户需求。
2. 制定清晰的需求规格说明书,明确需求的优先级和约束条件。
3. 参与用户的需求验证和确认,确保开发的软件符合预期。
4. 进行有效的需求变更管理,追踪和控制需求的变化。
5. 建立有效的需求跟踪和追踪机制,保证需求的完整性和一致性。
三、软件设计1. 采用模块化和面向对象的设计方法,提高软件的可维护性。
2. 进行系统结构的设计,确保软件的可扩展性和可重用性。
3. 制定清晰的设计文档,明确软件的结构和功能。
4. 进行软件架构的评估和选择,确保选择适合的架构风格。
5. 进行软件设计的评审和验证,确保设计的正确性和合理性。
四、软件开发1. 使用合适的编程语言和开发工具,实现软件的功能需求。
2. 遵循统一的编码规范和标准,提高代码的可读性和可维护性。
3. 进行有效的代码审查和测试,发现和修复潜在的问题。
4. 实施持续集成和自动化测试,提高软件的质量和可靠性。
5. 进行软件版本控制和发布管理,确保软件的稳定性和安全性。
五、软件测试1. 制定详尽的测试计划和测试用例,覆盖软件的各个功能。
2. 进行黑盒和白盒测试,确保软件的功能正确和完善。
3. 进行性能测试和安全测试,验证软件在各种条件下的表现。
第1章. 需求工程导论本章小结⏹从20世纪60年代末期软件工程产生起,需求分析就一直是软件开发的重要主题⏹20世纪90年代的调查状况表明,单纯的需求分析已经不能很好的解决软件生产中的“需求”问题⏹应用型软件的模拟性和一系列的技术原因表明软件生产需要进行一个比需求分析更加复杂和完整的需求工程⏹需求工程是软件工程当中一项重要和复杂的活动,需求工程需要具备一定的知识和技能才可以很好的执行需求工程活动第2章. 需求基础实例分析(系统A—招标书)⏹请说出下列需求的类型,是否存在问题?❑1、实现各部门的公文流转无纸化、文档一体化、业务管理的规范化、自动化和网络化;❑2、实现工作流程合理化、高效化,决策支持科学化、准确化;❑3、统一办公流程、规范公文格式,加强信息交流和共享,提高工作效率。
⏹请说出下列需求的类型,是否存在问题?❑先进性:软件系统采用三层B / S 系统结构,以“界面表示层-逻辑处理层-数据访问层”分层设计实现。
采用国际上先进成熟的、厂商广泛支持的计算机技术、网络技术与软件技术对系统进行规划,保证系统整体架构在未来几年内都处于国际领先的地位。
❑安全性:软件系统具有较高的安全要求,系统必须具备充分的安全措施,包括具备严格的权限控制机制和完备的日志记录,以确保信息安全。
❑可靠性:保证系统核心功能可以7×24小时连续运行;❑规范性:系统必须遵循国家有关法律法规要求,符合国家有关标准要求以及关于信息系统建设的各项标准和规范。
⏹请说出下列需求的类型,是否存在问题?❑收文管理应包括:⏹来文登记、拟办、领导审批、办理、归档、查询统计等功能。
附件支持WORD 、PDF 、EXCEL 、HTML 等文档类型格式;需提供方便、灵活、直观的文件批示处理;对收文的处理全过程进行自动化管理、跟踪和记录;在收文处理的过程中,支持电子印章、电子签名或手写批注等功能。
⏹来文登记:完成来文登记功能。
登记来文基本信息(来文编号、来文标题、主题词、来文单位、来文时间),还要对原文进行扫描处理,引入到公文库中。
软件工程中的需求工程方法与实践经验总结需求工程是软件工程中非常重要的一环,它涉及到软件开发的前期阶段,主要是指明软件系统需要解决的问题、需求和期望。
在软件工程领域,需要使用一些方法和技术来收集、分析和规范需求,以确保软件开发过程的质量和成功。
本文将总结一些常用的需求工程方法和实践经验,帮助读者更好地理解和应用于实际项目中。
一、需求获取与收集需求获取与收集是需求工程的起点,它是通过各种手段和技术来获取用户需求,包括用户访谈、问卷调查、场景描述、头脑风暴等。
需求获取的核心目标是准确理解用户的期望和需求,建立起与用户的有效沟通。
在实践中,可以通过以下方法来优化需求获取和收集的结果:1.与用户密切合作:软件开发团队应与最终用户密切合作,了解他们的需求、期望和痛点。
开发团队应该在项目初期与用户建立沟通渠道,定期更新需求,并及时解决用户的问题和反馈。
2.多种需求获取手段:可以结合使用多种需求获取手段,例如用户访谈、观察、头脑风暴等多种方法,以便获取全面、准确的需求信息。
不同的手段可以互相补充,从而提高需求获取的效果。
3.需求合理化:对于获取到的需求,需要进行合理化和整合,以去除冲突、不明确或不实际的需求。
在需求合理化过程中,开发团队需要与用户协商和沟通,确保最终的需求符合用户期望。
二、需求分析与规范需求分析是将用户需求转化为可执行的软件需求规格说明书或原型的过程。
它主要包括需求分解、需求组合、需求约束等环节。
以下是一些使用的需求分析和规范方法和经验:1.分阶段进行需求分析:将大型项目的需求分析过程分阶段进行,可以减少分析的复杂性,提高分析和规范的质量。
可以先进行整体的需求分析,然后逐步细化为模块或子系统的需求分析。
2.采用合适的需求建模工具:需求建模是将需求表示为可视化的工具,帮助开发团队更好地理解和分析需求。
常用的需求建模工具包括用例图、活动图、时序图等。
选择合适的工具可以更好地组织和规范需求。
3.明确需求优先级:在需求分析和规范过程中,需要根据客户的要求和项目的限制明确需求优先级。
1、在需求分析阶段,系统分析员的主要焦点是“做什么(what)”,不是“怎样做(how)” 2.需求工程:需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。
需求工程的活动:(1)需求获取:通过与用户的交流,对现有系统的观察及对任务进行分析,从而开发、捕获和修订用户的需求(2)需求提炼:分析建模(导出软件逻辑模型)为最终用户所看到的系统建立一个概念模型,作为对需求的抽象描述,并尽可能多的捕获现实世界的语义(3)需求描述:生成需求模型的精确的形式化的描述,作为用户和开发者之间的一个协约;(4)需求验证:以需求规格说明为输入,通过符号执行、模拟或快速原型等途径,分析需求规格的正确性和可行性;(5)需求管理:支持系统的需求演进,如需求变化和可跟踪性问题3.需求获取方法•访谈•面向数据流自顶向下求精(案例:学校小型财务系统)•简易的应用规格说明技术(案例:Safehome系统)•快速建立软件模型.需求验证从下述方面•一致性•完整性•现实性•有效性.结构化分析方法是一种以数据、数据的封闭性为基础,从问题空间到某种表示的映射方法,由数据流图(DFD 图)表示。
结构化方法总的指导思想自顶向下、逐步求精%它的基本原那么是功能的分解与抽象。
SA法的步骤(1)建立当前系统的“具体模型”。
(2)抽象出当前系统的逻辑模型。
(3)建立目标系统的逻辑模型。
(4)为了对目标系统做完整的描述,还需要考虑人机界面和其他一些问题。
4. SA法的描述方法(1)数据流图(功能模型)DFD中每个功能的描述包含在加工规约(小说明),描述加工逻辑的结构化语言、判定表及判定树。
(2)数据词典(模型核心,中心库)(3) E-R图(数据模型)(4)状态图(行为模型)掌握案例:医院患者监护系统的分析及描述方法,学会为一个规模适当的系统建立数据流图是重点!!!7.理解状态图状态转换图是行为建模的基础。
工程总结报告范文1XX南龙望海公寓安心工程46#楼工程位于XX经济技术开发区XX号地块。
由XX市XX房地产开发有限公司开发建设,XX理工大学建筑设计研究院设计,XX市X X建筑安装工程有限公司承建,XX建筑技术开发总公司XX分公司监理,工程地质勘察单位为XX市勘察测绘研究院。
一、工程施工概况:本工程为框架六层,地下一层,±标高相对于绝对高程,总建筑面积㎡,其中地下层㎡,楼层高度为:地下层,一层层高为,二层以上层高,建筑物总高度(女儿墙顶)。
二、结构工程施工概况:〈一〉、地基、基础分部工程本工程采用预应力混凝土管桩桩基承台梁板式混凝土基础,预应力管桩总桩数38根,采用静力压桩施工。
于2003年5月25日完成桩基工程。
基础、地下层砼墙混凝土强度等级C30,抗渗等级S6。
基础底板厚400mm ,地下层结构于2月29日完成。
(二)主体分部工程主体结构采用现浇混凝土框架结构,一层以上柱、梁、板混凝土强度等级均为C25,主体混凝土结构从2月29日开始至4月25日结顶,墙体工程:地下层砌体采用MU10水泥标准砖水泥砂浆实砌,±以上外墙、楼梯间、屋面女儿墙采用MU10水泥多孔砖混合砂浆实砌,室内填充墙均为MU10水泥多孔砖M5混合砂浆空砌。
墙体工程于4月12日开始砌筑,与混凝土工程错开施工,xxx处斜砖待每一楼层的墙体完成二周后砌筑。
(三)、屋面分部工程:屋面为上人架空屋面,采用结构找坡2%。
屋面及阳台雨水系统采用UPVC管及配件。
(四)、装饰装修分部工程:1、抹灰工程:采用中级抹灰,面层腻子刮白,卫生间为水泥砂浆墙面,踢脚线为水泥砂浆暗踢脚。
2、地面工程:所有楼地面均为水泥混凝土地面。
3、门窗工程:进户门为防盗安全门,外窗均为62系列PVC塑料门窗,无色透明玻璃5 mm厚。
4、涂饰工程:外墙为浅红色普通外墙涂料,木门黄色醇酸磁漆二度,所有栏杆涂刷防锈漆底,灰色醇酸磁漆二度。
(五)、给排水安装工程:给水总管采用镀锌钢管,给水立、支管采用PPR复合管,排水管道采用UPVC塑料管,梯间设一双出口消防箱,管道出屋面及地下层砼墙均预埋防水套管。
工程师周总结需求分析与系统设计总结一、需求分析总结在本周的工作中,我主要负责需求分析工作。
通过与项目组的有效沟通,我深入了解了客户的需求,并按照标准的需求分析方法进行了总结。
首先,在需求分析过程中,我明确了项目的目标和范围,并与相关利益相关者进行了交流。
通过需求访谈、文档分析和用户故事等方法,我详细了解了用户的需求。
在与客户的沟通中,我充分发挥沟通技巧,倾听客户的意见和建议,并将其准确地记录下来。
其次,我将需求进行了分析和归类。
基于需求的重要性和优先级,我将它们划分为功能需求、非功能需求和限制性需求。
我利用梳理需求的方法,确定了关键需求和次要需求,并与项目组讨论了解可能的冲突和难点。
在这个过程中,我也尽量避免了需求的重复和冗余,确保了需求的准确性和完整性。
最后,在需求规格说明书的编写中,我注重了详细描述和清晰的结构。
我使用了用例图、用例规约、数据流图等工具,将需求进行了可视化和细化。
同时,我还对需求进行了风险评估和可行性分析,确保了项目的可实施性。
总的来说,通过本周的需求分析工作,我对项目的目标和需求有了更深入的了解。
我通过有效的沟通和分析方法,准确地把握了需求的核心,为系统设计提供了重要的参考。
二、系统设计总结本周,在需求分析的基础上,我承担了系统设计工作。
通过系统设计,我将需求转化为具体的系统架构和模块设计。
在系统架构的设计中,我考虑了系统的可靠性、可扩展性和可维护性。
我采用了分层结构和模块化设计的原则,将系统划分为不同的模块,并确定了各模块之间的接口和交互方式。
在设计中,我充分考虑到系统性能和安全性的要求,并选择了适当的技术和工具进行支持。
在具体的模块设计中,我按照需求规格说明书的要求,对每个模块进行了详细的设计。
我运用了面向对象设计的思想,定义了各个模块的类和关系,并对其进行了细化和优化。
我注重了模块的内聚性和耦合性,并通过适当的设计模式提高了系统的可维护性和重用性。
同时,在数据库设计中,我充分考虑了数据的完整性和可靠性。
需求阶段工作总结
需求阶段工作是项目开发过程中至关重要的一环,它直接影响着项目的成败。
在这个阶段,我们需要深入了解客户的需求,明确项目的目标和范围,以便为后续的开发工作奠定良好的基础。
在过去的一段时间里,我们团队在需求阶段工作中取得了一些成绩,也遇到了一些挑战,现在让我们来总结一下这一阶段的工作。
首先,我们在需求阶段工作中充分沟通和了解客户的需求。
通过与客户的多次会议和沟通,我们逐渐明确了项目的目标和范围,理解了客户的期望和需求。
这为后续的开发工作提供了明确的方向和目标,避免了项目开发过程中的偏差和误解。
其次,我们在需求阶段工作中充分发挥团队协作的优势。
通过团队内部的讨论和协作,我们对项目的需求进行了深入分析和讨论,找出了需求中的矛盾和不足之处,并提出了解决方案。
团队成员之间的密切合作,使得我们能够更好地理解客户的需求,提出更合理的解决方案。
然而,在需求阶段工作中,我们也遇到了一些挑战。
客户需求的变化和不明确性,给我们的工作带来了一定的困难。
在项目需求的变化过程中,我们需要及时调整和应对,确保项目能够顺利进行。
此外,客户需求的不明确性也给我们的工作带来了一定的挑战,需要我们与客户充分沟通,明确需求,避免后续的开发工作出现偏差。
总的来说,需求阶段工作是项目开发过程中至关重要的一环。
通过充分沟通和了解客户的需求,团队协作和合理分析,我们能够为后续的开发工作奠定良好的基础。
在未来的工作中,我们将继续努力,不断提升需求分析能力和团队协作能力,为项目的顺利进行做出更大的贡献。
1、软件需求的定义(1)用户解决问题或达到目标所需的条件或能力(从用户的角度定义)(2)系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件(从软件系统的角度定义)2、软件的需求通常分为几类①目标需求反应组织机构或客户对系统和产品提出的高层次的目标要求,其限定了范围的范围和项目应达到的目标②业务需求主要描述软件系统必须完成的任务,实际业务或工作流程③指开发人员必须实现的软件功能或软件系统应具有的外部行为④性能需求指实现的软件系统功能应达到的技术指标⑤约束与限制指软件开发人员在设计和实现系统时的限制3、需求工程的定义对问题域及需求做调查研究和描述,设计满足那些需求的解系统的特征并用文档给予说明,这个定义明确指出了需求工程的任务就是获取、分析和表达软件的需求。
同时需求工程也可认为有需求的开发活动和需求的管理活动组成的4、需求工程的任务(1)确定待开发的软件系统的用户类,并获取他们的其需求信息。
(2)分析用户的需求信息,并按软件需求的类型对这些需求信息进行分类,同时,过滤掉不是需求的信息(3)根据软件需求信息建立软件系统的逻辑模型或需求模型,并确定非功能需求和约束条件及限制。
(4)根据收集的需求信息和逻辑模型编写需求规格说明及其文档(5)评审需求规格说明(6)当需求发生变更时,对需求规格说明及需求变更实施进行管理5、用户①利用计算机系统所提供的服务的人②直接使用软件系统的人6、客户①掌握经费的人,通常有权决定软件需求②正式接受新开发或修改后的硬件和软件系统的某个人或组织7、软件开发人员为用户开发软件系统的人8、项目相关人员与提出和定义软件需求相关的人,包括所有用户,客户,和软件开发人员二软件工程与需求工程9、软件工程研究的基本内容包括:软件开发过程、软件开发和维护的方法与技术、软件开发和维护工具系统、质量评价和质量保证、软件管理和软件开发环境等10、软件的生命周期是指软件从软件计划开始,经历需求分析和定义、设计、编码、测试、运行、维护直到废止为止的期间11、瀑布型模型(1)瀑布式开发模型是最早的、依据软件生命期而提出的软件开发模型,亦称软件生命期模型①软件计划②需求分析与定义③设计④编码⑤测试⑥维护(2)瀑布型模型的特点①阶段间具有顺序性喝依赖性,②各阶段必须完成规定的文档(3)瀑布型模型的不足①用户不能一开始就是自己的需求很清晰②由于模型各个阶段的界限划分清晰,比较独立③用户的参与程度不足或者要求用户一开始就提出清晰完整的需求中途移交信息(文档)的过程中,由于人的理解不同容易产生误会。
12、快速原型模型①收集需求②快速设计③建立原型④评价并细化需求⑤设计与实现⑥测试⑦维护13 (1)使用快速原型模型的目的是①明确并完善需求②探索设计选择方案③可以发展为最终的产品(2)快速原型模型的特点:①弥补了瀑布模型的一些不足,如用户参与程度不够等②减少用户需求的遗漏或用户评分修改需求的可能性③用户能及时提出一些反馈意见使开发人员在开发工作中能尽量减少错误。
(3)快速原型模型的不足:①用户易于视原型为正式产品②快速原型系统对于软件系统的开发环境要求较多14、渐增式模型的基本思想是从核心功能开始,通过不断的改进和扩充,使得软件系统能适应用户需求的变动和扩充(2)①需求分析和定义②、(概要)设计③实现与集成各个构件④测试⑤维护(3)渐增式模型的特点①能在短时间向用户提交可完成部分功能的产品②能逐步增强产品功能,以使用户有比较充足的时间学习和适应新的软件系统(4)渐增式模型的不足①新增构件时必须考虑不破坏原有系统②设计软件系统体系时要考虑其开放性15、螺旋式模型(1)基本思想将瀑布模型与快速模型结合到一起,加上风险分析,理解这种模型的一个简便方法是把他看做每个阶段之前都增加风险分析(2)开发过程①制定计划②风险分析③实施工程④计划下一阶段⑤系统实现(3)螺旋形模型特点①适用于软件开发机构内部开发大规模软件项目②对于可选方案和预算条件的强调有利于已有软件的重用③减少过多测试或测试不足所带来的风险16、需求工程对软件开发的影响①需求是制定项目计划的基础②需求工程所产生的最终产物需求规格说明是软件设计和软件实现的基础③需求规格说明也是测试工作和用户验收软件系统的依据④需求规格说明也是软件维护工作的依据17、需求工程面临的困难有那些①需求获取与需求分析的困难性②需求描述语言和规范化的困难性③需求验证的困难性④需求管理的困难性18. 需求工程开发阶段细分为:需求获取、需求分析、需求描述和需求验证四个活动每个活动的主要任务如下:需求获取:确定和收集与软件系统相关的、来自不同来源和对象的用户需求信息需求分析:对获得的用户需求信息进行分析和综合,即提炼、分析和自习审查已收到的用户需求信息,并找出其中的错误、遗漏和其他不足的地方,以获得用户对软件系统的真正要求,建立软件系统的逻辑模型需求定义:使用适当的描述语言,按标准的格式,描述软件系统的需求,并产生需求规格说明及其相关文档。
需求验证:审查和验证需求规格说明是否正确和完整地表达了用户对软件系统的需求。
19. 需求获取的过程:①确定需求开发计划②建立项目范围和目标③确定调查对象④实地收集用户需求信息⑤确定非功能需求和约束条件20. 确定项目目标和范围的基本任务是根据项目目标把项目相关人员定位到一个共同的和明确的方向,并决定软件系统的范围。
21. 项目的目标主要包括:项目开发的目的和意义、软件系统应实现的目标22. 项目的范围是指软件系统具体应包括和不应包括的部分,以及软件系统所涉及的各个方面,即软件系统在一个完善的环境中最终具有的功能。
23. 软件需求可以分为三个层次:目标需求、业务需求和功能及非功能需求24. 根据需求的层次可以区分不同的用户:①提出目标需求的用户②提出业务需求和功能需求的用户③软件开发人员25. 软件需求来源:①直接和间接使用软件系统的用户②系统需求规格说明③市场调查和用户问卷调查④已开发出的和待开发的同类软件系统的描述和文档⑤对人工系统的存在问题的报告和增强要求⑥观察正在工作的用户⑦用户工作内容的分析26. 开发人员在实地收集信息面临的困难(含解决方法):①能提出软件需求的用户可能觉得没有充分的时间与开发人员进行交流和讨论(预约时间)②有时用户系统通过简单的方法和说明,或者通过简单回答开发人员询问后,软件开发人员就能清楚得理解他们的需求,而不需要花费太多的时间进行讨论(抛砖引玉)③用户和开发人员只考虑自己的利益,特别是有些用户认为损害了自己的利益。
(给用户讲解使用软件的优点)27. 开发人员与用户交流的方式:①座谈会的方式②书面咨询的方式③利用用例表示方法28. 执行者可以是一个人、一个应用软件系统或一个硬件,或其他一些与系统交互以实现某些目标的实体等。
29. 需求大致分类如下:①目标需求②用例说明③业务规则④功能需求⑤性能需求⑥外部接口需求。
⑦限制⑧数据定义⑨解决方案30. 非功能需求:①可靠性②可扩充性③安全性④互操作性⑤易使用性⑥可维护性⑦可移植性⑧可重用性31. 需求分析的具体工作包括:①建立系统关联图②构建用户接口原型③分析需求可行性④确定需求的优先级⑤需求建模⑥建立数据字典52. 构建用户接口原型方法①纸上原型化方法②人工模拟原型化方法③自动原型化方法。
53. 软件建模方法共同特点:①提供描述手段②提供基本步骤54. SA方法主要适用于数据处理,特别是大型管理系统管理系统的需求分析,主要用于分析系统的功能,是一种直接根据数据流划分功能层次的分析方法55. SA方法的基本特点是:①表达问题时尽可能使用图形符号的方式,即使非计算机专业人员也能理解②设计数据流图时只考虑系统必须完成的基本功能,不需要考虑如何具体的实现这些功能56.SA方法的基本思想:SA方法的基本思想是按照由抽闲到具体、逐层分解的方法,确定软件与系统内部的数据流、交换(或加工)的关系,并用数据流表示。
57. 数据流可以从加工流向加工,从源点流向加工,从加工流向终点,从加工流向文件,从文件流向加工58. 数据流图包括:①数据流②加工(变换)③文件④源点和终点59. 一套分层的数据流图由顶层、底层和中间层组成。
60. SA方法的分析步骤:①理解和分析当前的现实环境,以获得当前系统的具体模型②建立当前系统的逻辑模型③建立目标系统的逻辑模型④进一步完善目标系统的逻辑模型61. 在状态图中定义的状态主要有初态(初始状态)、结束状态和中间状态。
62. 建立对象模型的步骤:①分析需求信息②确定类和对象③确定静态关系④划分主题⑤确定属性⑥简化对象模型63. 需求规格说明的作用主要体现在以下几个方面:①需求规格说明是软件设计和实现的基础②需求规格说明是测试和用户验收软件系统的重要依据③需求规格说明能为软件维护提供重要的信息64. 需求验证所包括的活动是为了确认以下几个方面的内容:①软件需求规格说明是否正确描述了目标系统的行为和特征;②从其他来源中(包括硬件的系统需求规格说明书)得到软件需求③需求是完整和高质量的④所有人对需求的看法是一致的⑤需求为进一步的软件开发和测试提供了足够的基础上述内容使得需求验证的目的就是要确保需求规格说明具有良好的特性(如完整性、正确性等)65. 需求验证的重要性在于发现和修复需求规格说明书存在的问题,并避免在软件系统设计和实现时出现返工。
66. 审查人员必须由以下4个方面的人组成:①从事软件系统需求开发的相关人员②具有便携需求规格说明经验和知识的人员③客户或客户代表④将依据需求规格说明开展工作的软件开发人员67. 审查人员在审查中的作用可分类:①作者②调解员③读者④记录员68. 正式的审查过程:①建立被审查的需求规格说明文档②筹备③总体会议④准备⑤审查会议⑥修改⑦重审⑧基准的需求规格说明69.退出审查的标准:①已经明确阐述了审查员提出的所有问题②已经正确修改了文档③修订过的文档已经进行了拼写检查和语法检查④所有已标识的待解决问题已经全部解决,或者已经记录下每个待确定问题的解决过程、目标日期和提出问题的人⑤文档已经登记入项目的配置管理系统。
70. 需求管理主要强调的内容如下:①控制对基准需求规格说明的变动②保持项目计划与需求一致③控制单个需求的更改和需求规格说明文档的更改④管理需求和需求间的联系,以及需求与设计和实现等方面的依赖关系⑤跟踪需求更改的状态,控制多个需求同时更改的复杂性71. 变更控制的步骤:①变更控制的启动②确定角色与责任③影响分析与评估(如被采纳则实施变更,如不采纳,则变更结束)④实施变更⑤验证⑥变更控制的结束72. 可跟踪信息的分类:①需求-源可跟踪性:把需求与说明该需求的人或文档相链接②需求-理由可跟踪性:把需求和说明为什么需要该需求的描述相链接③需求-需求可跟踪性:把需求与其他依赖于该需求的需求相链接④需求-体系结构可跟踪性:把需求与实现该需求的子系统相链接,这对于由不同的开发人员开发此子系统来说特别重要。