软件工程基础作业

合集下载

软件工程作业全部答案

软件工程作业全部答案

软件⼯程作业全部答案1、3. 请读者详细解释软件的定义与程序的定义。

软件的定义:软件 = 程序 + 数据 + ⽂档。

这⾥的程序就是指程序系统。

这⾥的数据不仅包括初始化数据、测试数据,⽽且包括研发数据、运⾏数据、维护数据,也包括软件企业积累的项⽬⼯程数据与项⽬管理数据中的⼤量决策原始记录数据。

这⾥的⽂档指的就是软件开发过程中的分析、设计、实现、测试、维护⽂档、管理⽂档。

现在有⼀种新提法正在引起关注,这种提法就是:软件 = 知识 + 程序 + 数据 + ⽂档。

程序就是计算机为完成特定任务⽽执⾏的指令的有序集合。

从应⽤的⾓度可理解为: ⾯向过程的程序 = 算法 + 数据结构⾯向对象的程序 = 对象 + 信息⾯向构件的程序 = 构件 + 构架。

1、5. 读者同意“四种开发⽅法”与“五个⾯向理论”的提法不?为什么?“四种开发⽅法”就是指“⾯向过程的⽅法、⾯向对象的⽅法、⾯向数据的⽅法、形式化⽅法”,⾯向过程的⽅法来源于⾯向过程的程序设计,⾯向对象的⽅法来源于⾯向对象的程序设计,⾯向数据的⽅法就就是⾯向元数据的⽅法,它来源于关系数据库程序设计,形式化⽅法来源于离散数学中的集合运算与逻辑运算。

四种⽅法各适⽤于不同的场合,各有优缺点,互相促进,构成⼀个开发⽅法论的多极化世界。

“五个⾯向理论”就是指“⾯向流程分析、⾯向数据设计、⾯向对象实现、⾯向功能测试、⾯向过程管理”,它就是在综合“四种开发⽅法”各⾃的优点之后提出的软件⼯程实施理论,就是对前者的继承与发展。

总之,上述提法既精彩⼜实⽤。

2、1 为什么要选择软件开发模型?软件开发模型与软件⽣存周期有什么关系?因为软件开发模型就是软件⼯程研究的四⼤内容之⼀,它虽然不就是软件⼯程研究的重点,但就是在宏观上特别重要。

软件公司的项⽬组在开发⼀个⼤项⽬或产品时,⾸先在技术上必须选择⼀个开发模型,使开发模型⾮常适合这个项⽬或产品的⽣存周期;随后通过对⽣存周期的裁减,来给出适合与本项⽬或产品的软件⽣存周期定义。

软件工程作业1

软件工程作业1

软件工程作业1软件工程作业1====================1-引言--------------------2-项目背景--------------------在此章节中,需要详细介绍软件工程作业1的项目背景和项目的目标。

描述项目的背景信息,包括相关的行业、应用领域和目标用户群体等。

明确项目的目标,即开发一个什么样的软件或系统,并说明该软件或系统的主要功能和优势。

3-需求分析--------------------在本章节中,将对项目的需求进行详细的分析和规格说明。

包括用户需求和系统需求的分析,将用户需求转化为可量化和可测量的系统需求。

在此章节中,需要明确项目的功能需求、性能需求、安全需求等各个方面的需求。

4-设计在此章节中,将进行系统的整体设计和详细设计的说明。

首先,进行系统的整体架构设计,包括模块划分、功能划分和模块间的关系等。

然后,对各个模块进行详细设计,并给出相应的设计文档,包括类图、时序图、状态图等。

最后,说明系统的界面设计和用户界面的交互。

5-开发--------------------在本章节中,将详细介绍项目的开发过程和开发环境的配置。

描述项目的开发过程中所采用的开发方法和开发工具。

对于项目的开发环境,包括开发语言、开发框架、集成开发环境等的配置和使用,都需要进行详细的说明。

6-测试--------------------在此章节中,将介绍软件工程作业1的测试策略和测试计划。

描述测试的范围、测试的方法和测试的步骤等。

针对不同的测试阶段,包括单元测试、集成测试、系统测试等,都需要给出相应的测试计划和测试用例。

7-附件本文档附带的附件包括项目的相关文档、设计图纸、测试样例等。

这些附件能够更加全面地展示软件工程作业1的开发过程和实现结果。

8-法律名词及注释--------------------在此章节中,列出本文档涉及的法律名词及其相应的注释解释。

这些法律名词的注释将有助于读者更好地理解和解释相关内容。

软件基础作业

软件基础作业

1、已知线性表L(a1,a2,……,an),元素按递增有序排列,用向量做存储结构,试编写算法:
删除表中值在c与d(c≤d)之间的元素。

2、试编写算法删除单链表中第k个结点。

3、在分页管理的页面淘汰算法中,若M=4,计算FIFO及LRU 两种算法下页面中断率,并与M=3时进行比较。

4、设有工厂产品生产管理系统
工人:代号,姓名,工种,工资
产品:代号,名称,性能参数
工人分成若干小组,每组生产某一种产品。

每个工人生产某种产品数登记在册。

产品由某些零件和材料组成
零件:代号,零件名,产地
材料:代号,名称,单价,库存量
一件产品可使用多种零件与材料,一种零件和材料可供多种产品使用。

此外一种零件可以由多种材料组成,一种材料可供各种零件使用。

请用E-R图画出:
(1)工人与产品管理子系统
(2)产品与零件、材料管理子系统
(3)零件与材料管理子系统
(4)汇总以上三部分,消除冗余部分,构成一个全局E-R 图。

软件工程作业含答案解析

软件工程作业含答案解析

软件工程第一章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2简述软件的分类,并举例说明。

(1)1.4什么是软件工程? (1)1.5简述软件工程的基本原则。

(1)1.6软件生存周期分哪几个阶段?分别简述各个阶段的任务。

11.9简述各类软件过程模型的特点。

(2)1.10敏捷软件开发的特点是什么? (2)1.12简述敏捷软件开发的原则。

(2)第2、3章 (3)2.1简述系统工程的任务。

(3)2.2基于计算机的系统由哪些元素组成? (3)2.3简述可行性分析的任务。

(3)3.1需求工程的重要性是什么?举出身边由于需求分析失败而造成整个项目失败的例子。

(3)3.2需求工程具体包括哪些步骤?每个步骤的具体任务是什么?33.3 一个系统分析员应该具备哪些思想素质和基础知识?请说明理由。

43.4列出在制定需求获取策略时的3种主要考虑因素。

(5)3.6举例说明一个系统的3个不同类型的非功能需求 (5)3.8软件需求分析的操作性原则和需求工程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?自己寻找一个实例,亲自写一个需求规约。

.53.10需求验证应该有哪些人参加?画出一个过程模型,说明需求评审应该如何组织。

5第4章 (5)4.1简述软件设计阶段的基本任务 (5)4.2软件设计与质量的关系是怎么样的? (6)4.4简述模块、模块化及模块化设计的概念。

(6)4.6耦合和软件可移植性的概念有何关系?举例说明自己的结论。

(6)4.7用自己的话描述信息隐蔽概念,并讨论信息隐藏与模块独立两概念之间的关系。

64.8什么是模块独立性?设计中为什么模块要独立?如何度量独立性?模块功能独立有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1简述数据流图的主要思想,概述使用数据流图进行需求分析的过程。

75.2分别采用数据流方法中得哪些技术来完成用户需求的精确化、一致化和完全化的任务。

软件工程作业

软件工程作业

软件工程-作业一、判断(共计50分,每题2.5分)1、测试计划、测试用例和有关的分析报告一般不用长期保存。

()A. 正确B. 错误参考答案:B2、类封装比对象封装更具体,更细致。

()A. 正确B. 错误参考答案:B3、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。

()A. 正确B. 错误参考答案:B4、面向对象设计的结果,既可以用面向对象语言,也可以用非面向对象语言实现。

()A. 正确B. 错误参考答案:A5、数据流图是结构化设计的最基本的工具。

()A. 正确B. 错误参考答案:B6、良好的面向对象程序设计风格,既包括传统的程序设计风格,也包括为适应而面向对象方法所特有的概念(如继承性)而必须遵循的一些新准则。

()A. 正确B. 错误参考答案:A7、模块化程序设计中,模块越小,模块化的优点越明显。

()A. 正确B. 错误参考答案:B8、软件测试的目的是证明软件是正确的。

()A. 正确B. 错误参考答案:B9、在软件开发中采用原型系统策略的主要困难是成本问题。

()A. 正确B. 错误参考答案:A10、结构化分析是面向数据流进行需求分析的方法。

()A. 正确B. 错误参考答案:A11、质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。

()A. 正确B. 错误参考答案:A12、白盒测试无需考虑模块内部执行过程和程序结构,只要了解模块的功能即可。

()A. 正确B. 错误参考答案:B13、软件测试目的是尽可能多地发现软件中存在的错误,将它作为纠错的依据。

()A. 正确B. 错误参考答案:B14、UML是一种面向对象的建模方法。

()A. 正确B. 错误参考答案:B15、类是指具有相同或相似性质的对象的抽象,类的具体化就是对象。

()A. 正确B. 错误参考答案:B16、开发一个软件项目总存在某些不确定性,即存在风险。

有些风险如果控制得不好,可能导致灾难性的后果。

()A. 正确B. 错误参考答案:A17、软件维护的目的就是修改程序中的错误。

软件工程练习题目及答案

软件工程练习题目及答案

软件工程练习题目及答案[正文]软件工程练习题目及答案一、软件需求工程1、题目:解释什么是软件需求工程?列出软件需求工程的主要活动。

答案:软件需求工程是一门软件工程学科,旨在定义和管理软件系统的需求。

它包括以下主要活动:1.1 需求获取:确定和收集用户和其他相关利益相关者的需求。

1.2 需求分析:对需求进行分析、组织和分类,以确保其完整性和一致性。

1.3 需求规格说明:将需求转化为规范化的文档,包括功能需求、非功能需求等。

1.4 需求验证:与用户和其他利益相关者确认需求的准确性和完整性。

1.5 需求管理:跟踪和控制需求的变化,确保其能够适应项目的变化。

2、题目:什么是需求?请将需求分类并解释每类需求。

答案:需求是指对软件系统的功能、性能、约束和限制等方面的描述。

需求可以分为如下几类:2.1 功能需求:描述系统应该具备的功能和行为,例如用户登录、数据查询等。

2.2 非功能需求:描述系统的性能要求、可靠性、安全性等方面的要求,例如响应时间、可用性等。

2.3 设计约束:描述对系统设计的限制,如使用特定的编程语言或框架。

2.4 约束条件:描述系统操作的限制和前提条件,如系统的运行环境和操作系统等。

二、软件设计和建模1、题目:什么是软件设计?软件设计的目标是什么?答案:软件设计是指定义软件系统的结构、组件和交互的过程。

软件设计的目标是实现软件需求,并确保软件的可靠性、可扩展性和可维护性。

2、题目:简述面向对象分析和设计方法。

答案:面向对象分析和设计是一种用来分析和设计软件系统的方法。

其核心思想是将系统分解为对象,通过对象之间的交互来实现系统功能。

2.1 面向对象分析(OOA):分析系统需求并识别出系统中的对象、对象的行为和它们之间的关系。

2.2 面向对象设计(OOD):基于面向对象分析的结果,设计系统的具体实现方式,定义对象的属性、方法和接口等。

三、软件测试1、题目:什么是软件测试?常见的软件测试方法。

答案:软件测试是指通过运行软件系统来评估其质量和功能的过程。

北理网上作业软件工程基础

北理网上作业软件工程基础
单选题
10.0
2
2

在软件工程中原型化方法和软件开发人员之间进行的一种交互过程合用于_____系统。
单选题
10.0
4
×
软件产品影响产品市场和生成能力潜在风险属于_________。
单选题
10.0
2
×
软件需求分析是保证软件质量的重要环节,它的实行应当是在_____。
单选题
10.0
3
×
对于分层的DFD,父图与子图的平衡是指____。
2
3
×
类是具有相同属性和相同操作的对象抽象,对象是类的_______。
单选题
10.0
3
3

“软件工程的概念是为解决软件危机而提出的”这句话的意思是_____。
单选题
10.0
2
×
软件工程的目的是_____。
单选题
10.0
3
×
在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于____。
单选题
10.0
1
×
面向对象分析的首要工作是建立________。
单选题
10.0
4
×
关于模块的耦合性,模块独立性最差的耦合是________。
单选题
10.0
3
×
类是具有相同属性和相同操作的对象抽象,对象是类的_______。
单选题
10.0
3
×
使用SD方法,以下模块间的偶合类型中,可修改性和可理解性依次变好的是____。的活动是指_____。
单选题
10.0
1
×
软件过程模型是根据不同项目定义的、贯穿于软件生命周期的______。

软件工程习题(附答案)

软件工程习题(附答案)

软件工程习题(附答案)软件工程习题 (附答案)1、软件需求工程1.1 问题描述给定一个学生管理系统,要求实现以下功能:添加学生信息、查询学生信息、修改学生信息、删除学生信息。

1.2 解决方案通过用户界面收集学生信息,使用数据库存储学生信息,编写相应的查询、修改和删除功能实现。

1.3 测试与验证编写测试用例,包括正常情况和异常情况的输入,测试系统是否正确执行学生信息的增删改查操作,并验证结果是否正确。

2、软件设计2.1 模块划分将学生管理系统划分为以下模块:用户界面模块、数据存储模块、查询模块、修改模块、删除模块。

2.2 模块接口设计用户界面模块接收用户输入的学生信息,数据存储模块负责将学生信息存储到数据库中,查询、修改和删除模块通过调用数据库接口实现相应功能。

2.3 系统架构采用三层架构,将用户界面、业务逻辑和数据存储分离,提高代码的可维护性和可扩展性。

3、软件实现3.1 开发工具选择选择合适的开发工具,如Java编程语言、Eclipse开发环境和MySQL数据库。

3.2 编码规范遵循公司制定的编码规范,保证代码的可读性和一致性。

3.3 数据库设计设计学生信息表,包括学生ID、姓名、性别、年龄等字段,并建立适当的索引以提高查询性能。

4、软件测试4.1 单元测试针对每个模块编写相应的单元测试,确保模块的各个功能都能正常工作。

4.2 集成测试将各个模块按照设计要求进行集成测试,验证系统的功能完整性和正确性。

4.3 系统测试对整个学生管理系统进行全面的系统测试,包括正常场景和异常场景的测试,确保系统能够满足需求并稳定可靠。

5、软件部署5.1 环境准备部署系统所需的软件和硬件环境,包括操作系统、数据库等。

5.2 安装部署将开发完成的系统安装到目标机器上,配置必要的参数,确保系统能够正常运行。

5.3 系统发布将系统发布到生产环境,对外提供服务。

6、软件维护6.1 问题定位与修复对用户反馈的问题进行定位和修复,确保系统的稳定性和可用性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件工程基础》作业答案第一章概述1.什么是软件危机,它有哪些典型表现?所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。

软件危机的典型表现主要有:a. 开发成本和进度不能准确估计b. 开发出来的软件不能满足用户的要求c. 软件的可维护性差d. 软件质量不可靠e. 软件成本在系统中的比重逐年上升f. 软件开发生产率的提高速度不够2.简述产生软件危机的原因和解决的思路。

软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。

解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。

即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性?软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。

其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。

4.软件工程是如何用来消除软件危机的?软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。

6.简述软件的定义。

软件=程序 + 数据 + 文档7.软件工程的目的是什么?为高质量的软件开发提供一个科学的体系框架。

8.什么是软件工程方法学?软件工程是一种什么样的技术?包括哪三大要素?分为哪三个分支?软件工程方法学就是指在软件生命周期全过程中使用的一整套管理和开发技术方法的集合。

目前,使用最广泛的软件工程方法学分别是传统方法学和面向对象方法学。

软件工程作为一种层次化的技术,有方法、工具和过程三大要素,并由于其涉及学科内容的极为广泛,而分为三个分支:软件开发技术、软件项目管理技术、软件质量管理技术。

9.简述软件工程的基本原理。

软件工程有7条基本原理:1.严格按照软件生命周期计划进行管理2.坚持进行阶段评审3.实行严格的产品控制4.采用先进的程序设计技术5.结果应能清楚的审查6.开发小组成员应少而精7.承认不断改进软件工程实践的必要性10.软件工程的基本开发原则有哪些?软件工程的基本开发原则有:1.模块化2.抽象和信息隐蔽3.模块的高内聚和低耦合4.确定性5.一致性6.完备性11.构成软件工程的基本元素有哪些?除了前面给出的软件工程三大要素,还应该包括控制和质量保证。

这里的控制,即规模控制、成本控制、复杂性控制等。

12.什么是软件过程?它与软件工程方法学有何关系?软件过程是指为了获得高质量软件产品,在软件工具支持下,由软件人员完成的一系列软件工程活动。

软件过程规定了开发软件所需完成的各项任务步骤。

过程步骤的设定与软件生命周期、生命周期模型、软件开发工具,以及参与开发的人员等诸方面因素有关。

13.什么是软件生命周期?什么是软件生命周期模型?软件如同自然界任何事物一样,都有其孕育、诞生、成长、成熟、衰亡的生存过程。

软件的这一过程,称为软件生命周期。

软件生命周期模型也称软件开发过程模型,是为了解决产业环境中的实际问题,而提出的开发策略。

是反映整个软件生命期中,系统开发、运行、维护等实施活动的一种结构框架。

14.简述软件生命周期方法学的途径,以及划分阶段步骤的目的和实质。

软件生命周期方法学是软件工程的传统途径,划分阶段步骤的目的和实质是:控制开发工作的复杂性,通过有限步骤,把抽象逻辑概念,转化为具体物力实现。

15.试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明它们各自的适用范围。

1.瀑布模型。

瀑布模型广为人知和历史悠久,其优势是规范及文档驱动的方法。

但问题是,往往不能够真正满足用户的需求。

适用于传统软件工程领域的结构化开发。

2.原型模型。

是为了克服瀑布模型的缺点而提出来的。

通过快速构建一个在机器上可运行的原型系统,让用户试用原型,并收集反馈意见的办法,来获取用户真实的需求。

3.螺旋模型。

螺旋模型适用于大型软件项目,比起之前的其它模型而言,有其一定的优越性,但这些优越性并不是绝对的。

主要体现在对开发人员的风险评估经验和专门知识的要求较高。

如果项目风险较大,而开发人员的水平较低,不能准确的识别和分析风险,则势必造成重大损失。

4.增量模型。

具有在软件开发早期阶段使投资获得明显回报和交易维护的优点,但是要求软件具有开放的结构。

第二章可行性研究1.在软件开发的早期阶段,为什么要进行可行性研究?其目的和任务各是什么?可行性研究的目的是用最小的代价,在尽可能短的时间内确定问题是否可解决,以及是否值得解决。

可行性研究的任务不是解决问题,而是确定是否可解/值得解。

2.应该从哪些方面研究目标系统的可行性?主要从以下几个方面进行可行性研究:1. 技术可行性。

以现有技术,能否在预定时间内完成该系统开发。

2. 经济可行性。

通过成本-效益分析,估算系统的整体经济效益是否满足要求。

3. 操作可行性。

分析系统的运行方式、操作规程是否适应用户应用需要。

4. 社会可行性。

分析系统在法律、社会、市场等方面的认可度。

3.可行性研究有哪些工作步骤?(1) 复查定义,确定系统规模和目标。

(2) 研究老系统(3) 导出高层逻辑模型(conceptual design)(4) 重新定义(5) 导出多种解法(6) 推荐行动方针(7) 开发计划(粗略)(8) 审查、存档4.简述系统流程图在可行性研究中的作用。

系统流程图是概括的描述物理系统的传统工具。

系统流程图反映的是信息在系统各部分间流动的情况。

系统流程图可以帮助了解和分析系统,以概括的方式表达对系统的认识,并可以描述未来物理系统的概貌。

5.简述数据流图在可行性研究中的作用和用途。

数据流图在可行性分析中可以帮助分析和描绘数据在软件中流动和被处理的逻辑过程,用图形的方式描述系统的逻辑功能,是系统分析员和用户之间理想的通信工具。

6.简单描述数据字典的内容和定义数据的方法。

数据字典主要由下列4种元素定义组成:1.数据流2.数据流分量3.数据存储4.处理除了数据定义外,数据字典还应包含一些关于数据的其它信息。

定义数据的方法通常采用自顶向下分解的方式。

并由顺序、选择、重复三种基本数据元素类型组成数据。

7.说明软件计划的内容和目标。

软件计划的内容=项目任务范围 + 环境资源 + 工作量 + 进度软件计划的目标是为了提供一个框架,以便于管理者对资源、成本和进度等进行合理的估算。

8.什么是软件范围?定义软件范围需要哪些信息?软件范围就是在技术和管理层面上都是无二义性和可理解的项目范围,是软件开发各阶段的工作依据。

定义软件范围需要以下信息:a. 与用户、总体目标及利益相关的问题。

b. 有利于系统分析员理解的问题。

c. 集中于交流效果的问题。

9.简述软件开发环境资源的三个层次。

软件开发环境资源由三个层次构成:开发环境、软件构件以及最重要的资源——人。

10.软件环境资源的特征有哪些?它们对制定软件计划都有哪些意义?每一类资源都有四个特征:资源描述、可用性说明和资源提供的时间、资源使用的延续时间。

可以为制定软件计划估算软件开发所需的资源。

11.软件计划中,安排软件开发进度主要可以用哪些工具?都有哪些优缺点?编制进度计划的常用工具主要有甘特图和网络计划法。

甘特图的优点是简单,能动态地反映开发进展;缺点是难以反映多个任务间的逻辑关系。

网络计划法则恰好弥补了甘特图的缺点,最适合反映多个工作之间的逻辑关系。

12.主要的成本估计技术有哪些?其依据的主要是什么?主要有,代码行技术。

是一种基于规模的分解估算:D= f(vi)以及基于问题的分解估算:EV=(Sopt+4Sm+Spess)/6还有功能点技术。

这种技术以功能点(FP)为单位,度量软件的规模。

由于项目本身的复杂性,因此,成本估计技术主要采用“分而治之”的分解技术对软件项目进行估算。

13.为什么说成本估计是不可能精准的?那是由于太多的变化因素——人员、技术、环境、策略、复杂性等等,使得成本估算永远不可能精确。

14.进行成本/效益分析的方法主要有哪些?常用成本/效益分析的方法主要有:(1) 货币的时间价值(2) 投资回收期(3) 纯收入(4) 投资回收率16.如何对制定完成的软件计划进行复审?为什么要复审?软件计划的复审通常涉及有关软件工作范围和软硬件资源问题等。

复审应该邀请用户参加,用户可提出建议,并与开发人员最终商定内容。

复审内容分为技术和管理两个方面:技术方面需要考虑的问题有:系统的任务是否合理;系统的给你复杂性是否与开发成本、进度以及风险一致;系统规格说明书是否足够充分;系统性能要求是否恰当管理方面需要考虑的问题有:计划中描述的工作范围是否符合用户需求?计划中对资源的描述是否有效、合理?计划中系统的开发成本与进度要求是否合理?计划中人员的安排是否合理?系统开发存在哪些风险?复审可以尽早发现错误,复审是软件质量保证的重要措施。

第三章需求分析1.为什么要进行需求分析?通常对软件系统有哪些需求?需求问题是软件工程项目失败的主要原因。

一个高质量的软件,很大程度上取决于对要解决的问题的认识,以及如何准确的表达用户的需求。

需求分析就是要解决这个问题。

通常,对一个软件系统的需求可以有功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求等多个方面。

2.怎样与用户有效地沟通,以获得用户的真实需求?访谈、情景分析,以及面向数据流的自顶向下求精等方法,编制简易的系统规格说明文档,创建原型等,是获取真实需求的有效方法。

3.需求分析的任务是什么?确定对待开发系统的综合要求。

4.通常系统的需求可以分为哪几个层次?一般可以分成5个层次:(1) 功能需求:系统必须做什么?(2) 业务需求:反映客户组织机构对系统高层次的目标要求。

(3) 运行需求:运行环境、软硬件配置等。

(4) 属性需求:包括用户关心的属性,如效率、灵活性、完整性、可靠性等;开发者关心的属性,如可维护性、可复用性、可移植性等。

(5) 未来可能的扩充需求:如HDIS各组的合并,3维虚拟现实的效果等等。

5.进行需求分析的步骤有哪些?1.确定系统的综合要求2.分析系统的数据要求3.导出逻辑模型4.修正系统开发计划6.简述建立原型模型对软件需求分析的作用。

可以快速构建旨在演示目标系统主要功能的可运行程序,帮助用户确定及提供更为精准的需求,以利用户和开发者能够在目标系统应该“做什么”这一问题上尽快达成一致。

7.解释实体-联系图及其用途。

实体-联系图是按照用户的观点对数据建立的模型。

描述从用户角度看到的数据,反映用户的现实环境,并且与在软件系统中的实现方法无关。

8.说明为什么需要进行需求验证及验证的步骤有哪些?进行需求验证是为了确保软件开发的质量,降低开发成本。

相关文档
最新文档