软件工程课后作业第四章.doc

合集下载

软件工程第四章 结构化分析

软件工程第四章 结构化分析

软件需求分析阶段的工作,可以分成以下四个方面 :对问题的识别、分析与综合、制定规格说明以及 ( )。 A.总结 B.实践性报告 C.需求分析评审 D.以上答案都不正确
答案:C
需求验证应该从下述几个方面进行验证:(C ) A 可靠性、可用性、易用性、重用性 B可维护性、可移植性、可重用性、可测试性 C一致性、现实性、完整性、有效性 D 功能性、非功能性
3、需求分析步骤
1、需求获取
3、亲身实践:观察用户工作流程
优点: 1. 通过直接观察提取用户或系统的特性; 2. 有助于理解难以用语言描述清楚的复杂业务。 3. 更加准确和真实 缺点:
1. 观察可能使用户紧张,从而表现与往常不同。 2. 比较费时间
3、需求分析步骤
1、需求获取
3、需求分析步骤
3、需求分析步骤
3 需求描述
1. 又叫:需求规约
2. 是分析任务的最终产物,给出对目标软件的 各种需求。
3. 需求规约作为用户和开发者之间的一个协议 (需求规格说明书),在之后的软件工程各 个阶段发挥重要作用
软件需求分析阶段的目的是澄清用户的要求 ,并把双方共同的理解明确地表达成一份书 面文档——(软件需求规格说明书)。
经调查,系统分析员给出有问题的初略陈述, 其中部分描述如下:某商场的采购部门要求每 天开出定购清单,交采购员输入系统;仓库管 理员还要将库存信息此输入系统,经库存业务 (进贷或出贷)处理后输出。从这段描述可知 该部分数据流图中的外部项为:
A.采购员、仓库管理员 B.定购清单、库存业务 C.库存业务 D.定购清单、采购员 答案A
3、需求分析步骤
4、需求验证
1. 进行需求评审
2. 验证需求的一致性
3. 验证需求的现实性

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。

课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。

下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。

第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。

2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。

3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。

每个模型都有其独特的特点和适用场景。

4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。

5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。

第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。

2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。

3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。

4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。

第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。

2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。

3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。

软件工程实用教程(2版)-第2、3、4、5章-习题与参考答案(人民邮电大学出版社 郭宁主编)

软件工程实用教程(2版)-第2、3、4、5章-习题与参考答案(人民邮电大学出版社 郭宁主编)

《软件工程实用教程》第2、3、4、5章习题与参考答案第2章软件生存周期及开发模型1.简述什么是软件生存周期?根据国家标准《计算机软件开发规范》,软件生存周期主要包括哪几个阶段?答案要点:软件生存周期是指软件产品从功能确定、设计、开发成功、投入使用,并在使用中不断修改、完善,直至被新的软件所替代,而停止该软件使用的全过程。

国家标准GB8566-1988《计算机软件开发规范》将软件生命周期划分为几个阶段:可行性研究、项目计划、需求分析、总体设计、详细设计、编码实现(包括单元测试)、集成测试、确认测试、系统运行和维护。

这几个阶段又可以归纳为3个大的阶段,即软件定义阶段,软件开发阶段和软件运行维护阶段。

2.瀑布模型有哪些特点?对于里程碑,你有哪些认识?答案要点:瀑布模型是一种基于里程碑的阶段过程模型,它所提供的里程碑式的工作流程,为软件项目按规程管理提供了便利。

例如,按阶段制定项目计划,分阶段进行成本核算,进行阶段性的评审等。

这为提高软件产品质量提供了有效保证。

瀑布模型的特点:•阶段性:前一阶段工作完成以后,后一阶段工作才能开始,前一阶段的输出文档是后一阶段的输入文档。

•阶段评审:在每一阶段工作完成后都要进行评审,以便尽早发现问题,避免后期的返工,如果评审不合格,则不开始下一阶段的工作。

•文档管理:在每阶段都规定了要完成的文档,没有完成文档,就认为没有完成该阶段的任务。

3.试说明原型模型的两种实现方案各有什么特点?各适用于什么情况?答案要点:原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求分析上的模糊认识。

将模拟的手段引入需求分析的初期阶段,通过建立原型缩短用户与分析人员之间的距离。

快速原型方法具有以下一些特点。

•快速原型是用来获取用户需求的,或是用来试探某种设计是否有效。

一旦需求或设计确定下来,原型就将被抛弃。

因此快速原型要求快速构建、容易修改,以节约原型创建成本,加速开发速度。

快速原型往往采用软件生成工具来创建,例如,4GL语言。

软件工程第四版课后答案

软件工程第四版课后答案

20
作业及解答(第3章)
ER模型
本问题中共有两类实体,分别是“储户”和“储蓄所”,
E2 业务员
13:07:42
F8储蓄利率
D2存款利率
19
重庆工学院计算机科学与工程学院 李梁(liliang@)
作业及解答(第3章)
F2取款单 无效取款信息 D1存款信息 F7密码 F7密码 P3.2 密码校验 P3.1 输入取款信息 F5存款信息
E1 储户
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
4
作业及解答(第1-2章)
(1)在1985年对计算机存储容量的需求,估计是
M 4080 e
0.28(19851960)
4080e 4,474,263(字)
7
如果字长为16位,则这个存储器的价格是 19851974
73,577,679条指令。 在1995年一名程序员每天可开发出30条指令,每月可开 发出600条指令,为了开发出可装满整个存储器的程序, 需要的工作量为 73577679 122 629(人月) , 600
13:07:42 重庆工学院计算机科学与工程学院 李梁(liliang@)
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
15
作业及解答(第3章)
电话号码=[校内电话号码|校外电话号码] 校内电话号码=非零数字+
3 位数字 //后面继续定义 校外电话号码=[本市号码|外地号码] 本市号码=数字零+8位数字 外地号码=数字零+3位数字+8位数字 非零数字=[1|2|3|4|5|6|7|8|9] 数字零=0 3位数字=3{数字}3 //3至3个数字 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9]

软件工程第4章 软件设计

软件工程第4章  软件设计

5. 设计软件结构 通常程序中的一个模块完成一个适当的子功能。应 该把模块组织成良好的层次系统,顶层模块调用它 的下层模块以实现程序的完整功能,每个下层模块 再调用更下层的模块,从而完成程序的一个子功能, 最下层的模块完成最具体的功能。
6. 设计数据库 对于需要使用数据库的那些应用系统,软件工程师 应该在需求分析阶段所确定的系统数据需求的基础 上,进一步设计数据库。
高内聚也有两类:如果一个模块内的处理元素和同 一个功能密切相关,而且这些处理必须顺序执行 (通常一个处理元素的输出数据作为下一个处理元 素的输入数据),则称为顺序内聚。根据数据流图 划分模块时,通常得到顺序内聚的模块,这种模块 彼此间的连接往往比较简单。如果模块内所有处理 元素属于一个整体,完成一个单一的功能,则称为 功能内聚。功能内聚是最高程度的内聚。
(2) 用户手册根据总体设计阶段的结果,修改更正 在需求分析阶段产生的初步的用户手册。
(3) 测试计划包括测试策略,测试方案,预期的测 试结果,测试进度计划等等。 (4) 详细的实现计划 (5) 数据库设计结果
9. 审查和复审 最后应该对总体设计的结果进行严格的技术审查, 在技术审查通过之后再由使用部门的负责人从管理 角度进行复审。
为什么模块的独立性很重要呢?主要有两条理由: 第一,有效的模块化(即具有独立的模块)的软件比 较容易开发出来。这是由于能够分割功能而且接口 可以简化,便于多人分工合作开发同一个软件。
第二,独立的模块比较容易测试和维护。这是因为 相对说来,修改设计和程序需要的工作量比较小, 错误传播范围小,需要扩充功能时能够“插入”模块。
(2)详细设计。详细设计阶段的根本目标是确定 应该怎样具体地实现所要求的系统,也就是说,经 过这个阶段的设计工作,应该得出对目标系统的精 确描述,从而在编码阶段可以把这个描述直接翻译 成用某种程序设计语言书写的程序。 详细设计阶段的任务还不是具体地编写程序,而是 要设计出程序的“蓝图”,结果基本上决定了最终 的程序代码的质量。

软件工程课后习题参考答案

软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。

1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。

它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。

2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。

它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。

2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。

功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。

3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。

3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。

面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。

4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。

4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。

编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。

5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。

软件工程专业《面向对象技术》课程的课后作业参考答案(第4部分)

软件工程专业《面向对象技术》课程的课后作业参考答案(第4部分)

}
public void run(){ //结束条件设定为,当卡内资金大于 100 元时,线程 OVER while(this.mycard.getMoney()<=100){ AddSystem.addMoney(this.mycard); } System.out.println("资金大于 100 元,该线程 OVER"); System.out.println("");
}
public void addMoney(float addmoney){
money=money+addmoney;
//金额累加:
System.out.println("充值完毕,增加了"+addmoney+"元钱lass Student extends Thread{
money=0; id=0; name="No"; }
Card(int id, String name){ money=0;
this.id=id;
=name; }
public float getMoney(){
return money; }
public void dispInformation() { System.out.println("该一卡通考号为:"+id+"号");
}
public void dispInformation() { System.out.println("******************************"); System.out.println("该学生的基本信息如下:"); System.out.println("姓名-------:"+name);

软件工程第4章

软件工程第4章
试用有穷状态机说明上述的图书流通系统。
4-5 试用Petri网说明第4题所述图书馆中一本书的循 环过程。在规格说明中应该包括操作H、C及R。
4-6 试用Z语言对第4题所述图书馆图书流通系统做一 个完整的规格说明。

生 活 中 的 辛 苦阻挠 不了我 对生活 的热爱 。20.12.2820.12.28Monday, December 28, 2020
第二条和第三条规则,分别对应于电梯即将下降 或者没有待处理的请求的情况。
4.2.3 评价
有穷状态机方法采用了一种简单的格式来描述规 格说明:
当前状态+事件+
这种形式的规格说明易于书写、易于验证,而且 可以比较容易地把它转变成设计或程序代码。
有穷状态机方法比数据流图技术更精确
4.3 Petri网
4.3.1 概念
所有按钮的集合,因此,Z规格说明开始于: 〔Button〕 2. 状态定义 一个Z规格说明由若干个“格(schema)”组成,每个 格含有变量说明和限定变量取值范围的谓词。例如, 格S的格式如图4.12所示。
图4.12 Z格S的格式
3. 初始状态 对于电梯问题来说,抽象的初始状态为:
ˆ Button_Init Button_State|pushed=Φ〕
第4章 形式化说明技术
4.1 概述 4.2 有穷状态机 4.3 Petri网 4.4 Z语言 4.5 小结 习题
按照形式化的程度,可以把软件工程使用的方 法划分成非形式化、半形式化和形式化3类:
• 用自然语言描述需求规格说明,是典型的非形式 化方法。
• 用数据流图或实体-联系图建立模型,是典型的 半形式化方法。
有穷状态机对本产品进行规格说明: 这个问题中有两个按钮集。

软件工程课后习题答案第五版

软件工程课后习题答案第五版

软件工程课后习题答案第五版《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。

(2)软件产品的质量往往靠不住。

(3)一般软件很难维护。

(4)软件生产效率很低。

(5)软件开发成本越来越大。

(6)软件成本与开发进度难以估计。

- (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。

2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。

造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。

(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。

(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。

3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。

在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。

(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。

将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。

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

4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。

5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。

软件工程作业1-4 章答案

软件工程作业1-4 章答案
-------------------以上为第三章知识点---------------------------------------
10.在SD方法中全面指导模块划分的最重要的原则是(D)。
A、程序模块化B、模块高内聚C、模块低耦合D、模块独立性
11.在模块的3种基本属性中,反映模块内部特性的是(C)。
4.什么是需求分析?需求分析阶段的基本任务是什么?
答:所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,“需求分析”就是确定要计算机“做什么”。
任务:确定软件项目的目标和范围。调查使用者的要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。除此之外,还包括需求变更控制,需求风险控制,需求版本控制等对需求的管理工作
7.数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。
A、SAB、SDC、SPD、SC
8.DFD中的每个加工至少有(B)。
A、一个输入流或一个输出流B、一个输入流和一个输出流
C、一个输入流D、一个输出流
9.需求分析阶段的关键任务是确定(D)
A、软件开发方法B、软件开发工具C、软件开发费D、软件系统的功能
IPO5
打印报表
处理
打印查询到的信息
IPO6
处罚管理
处理
根据规则对延期给予相应的处罚
IPO7
数量检查
处理
对读者借出的数量是否符合规定进行检查
DS001
读者信息
数据存储
读者信息录入,修改,删除,保存
DS002
库存信息
数据存储
图书的基本的情况以及所有图书的整体情况

软件工程第四章结构化需求分析

软件工程第四章结构化需求分析

数据字典
定义
数据字典是一种用于描述数据元 素及其属性的工具,它提供了数 据的详细描述和定义。
பைடு நூலகம்
内容
包括数据元素的名称、别名、类 型、长度、取值范围、默认值等 属性信息。
作用
为开发人员提供了一个统一的数 据定义和描述标准,避免了数据 不一致和歧义的问题。
03 结构化需求分析过程
问题识别
01
确定软件系统的范 围和目标
用例表
列出系统的所有用例,包括用例名称、描述、前置条件和后置条件 等。
用户故事表
以用户为中心描述系统需求,包括用户角色、场景、任务和目标等。
原型工具
低保真原型
使用简单的工具和方法创建的原型,主要用于 概念验证和用户反馈收集。
高保真原型
使用高级工具和方法创建的原型,几乎与实际 产品一样,用于详细需求分析和用户测试。
04 结构化需求分析工具
图形工具
流程图
用于描述系统或程序的逻辑流程,包括开始、结束、决策点和活动 等元素。
数据流图
用于描述数据在系统中的流动和处理过程,包括数据源、数据存储、 数据处理和数据终点等元素。
实体关系图
用于描述系统中实体之间的关系,包括实体、关系和属性等元素。
表格工具
需求规格说明书
详细列出系统需求,包括功能需求、性能需求、安全需求和接口 需求等。
步骤
首先确定系统的主要功能,然后逐层向下分解,直 到每个功能都清晰、具体、可实现。
优点
能够全面地了解系统的功能需求,有助于保 证系统的完整性。
数据流图
定义
数据流图是一种图形化表示方法,用于描述系统中数 据的流动和处理过程。
组成
包括数据流、数据存储、数据处理和外部实体等基本 元素。

软件工程第4章习题解答

软件工程第4章习题解答
解:(1)判定表:
说明:1,每一笔交易有3种属性:“交易金额”、“每股售价”、“股数”。
2,“交易总额”有3种值;“每股售价”有3种值;“股数”有2种值。所以每笔交易有18种状态。(表有19列,第1列是说明列)
3,每种状态有一个决策公式。判定表中的决策方案有18行。
4,每个计算公式中只有一个变量“交易金额”,设为a。
教师的工资档案存储在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇佣日期等信息。需要写一个计算程序计算并印出每名教师的原有工资和调整后的新工资。要求:
⑴画出此系统的数据流图;
⑵写出需求说明;
⑶设计上述的工资调整程序(要求用判断表描述),设计时请分别采用下述两种算法,并比较这两种算法的优缺点;
set START to (I+1)
else if TABLE(I) > ITEM then
set FINISH to (I-1)
endif
enddo
if TABLE(I) = ITEM or TABLE(START) = ITEM or TABLE(FINISH) = ITEM then
set FLAG to 1
解:
⑴ 系统的数据流图
⑵ 需求说明:(略)
⑶ 程序框图:
算法说明:1 此算法是先找出工资少于$26,000的人, 再进行工资调整,属算法a
2 算法a适于数据库的记录不太多的情况,在数据库中查找较费时。
但是,调整系统的主要部分少一个判断,结构清晰一些。
3 算法b适于数据库的记录较多的情况,利用数据库的排序功能可很快地将教师的档案数据按工资大小排好序,调整程序只对前若干个记录进行操作。这个算法对于修改数据库回更便捷些。
交易

软件工程第四章形式化说明技术

软件工程第四章形式化说明技术

N
姓名 学号
性别 系
学生
N
M

年级 成绩
课程号
课程
课名
学时
学分
图3.2 某校教学管理ER图
3.5 数据规范化
通常用范式定义消除数据冗余的程度。第一范式(1 NF)数据冗余度 最大,第五范式(5 NF)数据冗余度最小。但范式级别越高,(1)存 储同样多数据需要分解成更多张表,“存储自身”的过程越复杂;(2) 数据存储结构与基于问题域的结构间的匹配程度也随之下降,需求变 化时数据稳定性下降;(3)需要访问的表增多,性能下降。(第三范式) 第一范式:每个属性都是原子值 第二范式:满足第一范式条件,每个关键字属性都仅有关键字决定 第三范式:符合第二范式条件,每个非关键字属性都仅有关键字决 定,并且一个非关键字属性值不依赖于另一个非关键字属性值
用户和开发人员共同组成联合小组
加强联系 促进交流 增进合作
3.2.2 面向数据流自顶向下求精
借助数据流图、数据字典、IPO图等,细化、完善详 细的数据流图,等到各处理环节对应的功能。
需要分解
有补充修正
分析追踪数据 流图
用户复查
无补充修 正
细化 数据流图
不需分解
图3.1 需求分析基本过程
3.2.3 简易的应用规格说明技术
3.7.3 IPO图
在需求分析阶段可以使用IPO图简略地描述数据流图中各个处理 的基本算法(着重说明处理功能而不是具体实现功能的算法)。 当然,在需求分析阶段,IPO表中的许多附加信息暂时还不具备。 但是,在软件设计阶段可以进一步补充、修正这些表,继续作为 设计阶段的文档。这正是在需求分析阶段用IPO表作为描述基本算 法的工具的重要优点。
(1)选择合适的形式化方法;适用于当前项目 (2)需要形式化,但不能过渡形式化,不能放弃传统的需求 表达方法; (3)应该估算成本; (4)应该有形式化方法的专家提供指导; (5)不应该放弃传统的开发方法;

软件工程实用教程(2版)-4章-习题与参考答案-2012-5-30

软件工程实用教程(2版)-4章-习题与参考答案-2012-5-30
通过模块的耦合度、模块的内聚性来衡量模块的独立性
3.从数据流程图导出的初试模块结构图是不完美的,应从哪些方面考虑改进?
答案要点:
1)做到模块的高内聚性,并且能够辨别出低内聚性的模块,加以修改使之提高内聚性;
2)降低模块间的耦合度:控制使用全局数据、模块间尽量传递数据型信息;
3)作用(影响)范围性”与“个性化”
3)界面信息反馈
4)界面的合适性
5)容错性
6)审美性和可用性
int n=1;
int sum=0;
while(n<=1000){
n=n+1;
if( (n%7==0)){
sum=sum+n;
}
}
System.out.println("在1000以内能被7整除的所有数的和是:"+sum);
}
}
12.试述界面设计中需要考虑哪些因素。
答案要点:
1)用户工作环境与工作习惯
4)模块的扇入、扇出要适当等。
4.什么是软件体系结构?什么是软件体系结构风格?
答案要点:
软件体系结构表示了一个软件系统的逻辑结构,描述包含系统基础构成单元、它们之间的作用关系、在构成系统时它们的集成方法以及对集成约束的描述等方面。在设计软件体系结构时,必须考虑系统的动态行为,考虑与现有系统的兼容性、安全性、可靠性、扩展性和伸缩性。
顺序内聚:计算学生平均成绩、求出最高分、最低分与达到优秀的学生等。
功能内聚:计算工资
2.答案要点:
答案要点:
内容耦合:A模块中功能要完成需要调用B模块中的代码来实现;
公共耦合:多个模块共享一个数据变量;
控制耦合:根据医护人员的信息,调用医生的评价模块、或护士的考核模块;

软件工程作业4-5

软件工程作业4-5

软件工程作业4-5软件工程作业4-51. 简介2. 软件工程的核心概念和原则软件工程是一门涉及软件开发与维护的学科,其核心概念包括需求分析、设计、编码、和维护等。

以下是软件工程的核心原则:2.1 可靠性软件工程要求开发出高可靠性的软件系统,以确保软件在各种情况下的稳定性和可靠性。

其中的技术包括错误处理和异常处理机制的设计,以及系统的容错能力。

2.2 可维护性一旦软件系统运行在实际环境中,还需要能够方便地对其进行维护和升级。

可维护性是一个软件系统长期生存和发展的基础。

为了提高软件的可维护性,可以采取合理的软件设计和编码规范。

2.3 可扩展性随着需求的不断变化,软件系统需要能够支持新的功能和特性的添加,而不会对现有功能和特性产生不良影响。

可扩展性的设计可以提高软件系统的灵活性和适应性。

3. 软件开发过程中的重要任务在软件开发过程中,有一些重要的任务需要完成,以确保项目的成功交付。

以下是其中的一些任务:3.1 需求分析需求分析是整个软件工程过程中的第一步,它包括对项目需求的调研和分析。

需求分析的目标是明确项目的功能和要求,为后续的设计和开发工作提供基础。

3.2 设计在需求分析阶段后,需要进行软件系统的设计。

设计包括系统架构设计、模块设计、数据库设计等。

良好的设计能够提高软件系统的可维护性和可扩展性。

3.3 编码在设计完成后,进入编码阶段。

在此阶段,开发人员需要根据设计文档进行编码工作,实现项目需求。

编码过程中,需遵循编码规范,注意代码的可读性和可维护性。

3.4编码完成后,需要进行工作,以验证软件系统的正确性和稳定性。

包括单元、集成和系统等。

通过充分的,可以发现和排除潜在的问题,提高软件的质量。

3.5 维护软件系统交付后,还需要进行维护工作,包括故障修复、功能升级和性能优化等。

维护的目标是确保系统正常运行,并不断满足用户的需求。

4.。

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

第四章
4.1.简述软件设计阶段的基本任务。

答:(1)数据/类设计数据/类设计将分析类模型变换成类的实现和软件实现所需要的数据结构。

(2)体系结构设计体系结构设计定义了软件的整体结构,由软件部件、外部可见的属性和他们之间的关系组成。

(3)接口设计接口设计描述了软件内部、软件和协作系统之间以及软件同人之间的通信方式。

(4)部件级设计部件级设计将软件体系结构的结构性元素变换为对软件部件的过过程性描述。

4.2.软件设计与软件质量的关系是怎么样的?
答:设计是在软件开发中形成质量的阶段,设计提供了可以用于质量评估的软件表示,是将用户需求准确地转化为完整的软件产品或系统的主要途径。

4.4.简述模块、模块化及模块化设计的概念。

答:模块:具有名字、参数、功能等外部特征以及完场模块功能的程序代码和模块内部数据等特征。

模块化:把软件按照规定原则,划分为一个个较小的,相互独立的但又相互关联的部件。

模块化设计:简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,
并定义和调试好各个框架之间的输入、输出链接关系。

4.5.举例说明每种类型的模块耦合度和每种类型的模块内聚度。

答:1、巧合内聚:讲几个模块中没有明确表现出独立功能的相同程序代码段独立出来建立的模块称巧合内聚模块。

2、逻辑内聚:逻辑内聚是指完成一组逻辑相关任务的模块,调用该模块时,由传送给模
块的控制性参数来确定该模块应执行哪一种功能。

3、时间内聚:时间内聚是指一个模块中的所有任务必须在同一时间段内执行。

4、过程内聚:过程内聚是指一个模块完成多个任务,这些任务必须指定的过程执行。

5、通信内聚:通信内聚是指一个模块内所有处理元素都集中在某个数据结构的一块区
域中。

6、顺序内聚:顺序内聚是指一个模块完成多个功能,这些功能又必须顺序执行
7、功能内聚:功能内聚是指一个模块中各个部分都是为完成一项具体功能而协同工作,
紧密联系,不可分割。

1、内容耦合:当一个模块直接修改或操作另一个模块的数据,或者直接转入另一
个模块时 ,就发生了内容耦合。

此时 ,被修改的模块完全依赖于修
改它的模块。

如果发生下列情形 ,两个模块之间就发生了内容耦合
(1) 一个模块直接访问另一个模块的内部数据;
(2) 一个模块不通过正常入口转到另一模块内部;
(3) 两个模块有一部分程序代码重叠(只可能出现在汇编语言中);
(4) 一个模块有多个入口。

2、公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。

公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。

3外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。

4.控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。

5.标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。

这个记录是某一数据结构的子结构,而不是简单变量。

其实传递的是这个数据结构的地址;
6.数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。

7非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。

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

答:耦合性是2个或多个模块相关的程度,可移植性是指软件从一个平台/环境转移到另一个平台/环境的难易程度。

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

答:1、信息隐蔽指在设计和确定模块时,使得一个模块内包含信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的.
在面向对象方法中 ,信息隐蔽是通过对象的封装性来实现的。

2、信息隐蔽的概念与模块的独立性直接相关。

4.8.什么是模块的独立性?设计中为什么模块要独立?如何度量独立性?模块功能独立有何优点?
答:(1)模块独立性:1.模块独立性指每个模块只完成系统要求的独立的子功能,并且
与其他模块的联系最少且接口简单
2.模块独立性是指模块内部各部分及模块间的关系的一种衡量
标准,由内聚和耦合来度量。

(2)1、具有独立的模块的软件比较容易开发出来。

这是由于能够分割功能而且接口可以简化,当许多人分工合作开发同一个软件时,这个优点尤其重
要。

2、独立的模块比较容易测试和维护。

这是因为相对说来,修改设计和程序
需要的工作量比较小,错误传播范围小,需要扩充功能时能够"插入"模
块。

总之,模块独立是优秀设计的关键,而设计又是决定软件质量的关键
环节。

(3)模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。

耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个
模块内部各个元素彼此结合的紧密程度。

(4)1、具有独立的模块的软件比较容易开发出来。

这是由于能够分割功能而且
接口可以简化,当许多人分工合作开发同一个软件时,这个优点尤其重
要。

2、独立的模块比较容易测试和维护。

4.9软件设计规约主要包括哪些内容?自己寻找一个实例,亲自写一个设计规约。

答:包括软件设计规约的目的、范围、定义、首字母、缩写词、缩略语、参考资料和概述。

相关文档
最新文档