软件工程课后答案(清华大学出版社--钱乐秋)

合集下载

软件工程(钱乐秋版)重点

软件工程(钱乐秋版)重点

软件工程第一章概述1、定义: 软件 == 程序 + 数据 + 文档1.数据:程序加工处理的对象。

包括数据的表示、组织与存储。

数据 == 初始化数据 + 测试数据2.文档(document):开发、使用和维护程序所需的图文资料。

文档 == 开发文档 + 管理文档。

3.程序(program):能完成预定功能和性能的指令集合。

4.软件和程序的区别程序只是完整软件产品的一部分。

编写程序只是软件开发过程数据中的一个阶段,一般来说,其工作量仅仅是软件开发全部工作量的10%-20%2、软件的特点:抽象性、可复制性、无折旧、受硬件制约、未完全摆脱手工工艺、开发费用高3、软件按适用范围分:定制软件和通用软件4、计算机软件发展的三个时期1. 早期时代(60年代中期之前)程序设计阶段硬件通用,软件专用;程序规模小,编写者和使用者为同一人(同组人)。

2. 第二代(60年代中期-70年代中期)程序系统阶段出现“软件作坊”、产品软件;“个体化”开发方法。

3. 第三代(70年代中期之后)软件工程阶段软件开发成为一门新兴的工程学科——软件工程。

5、解决软件危机的途径1. 技术措施◆消除错误的概念和做法◆使用更好的软件开发方法和开发工具2. 组织管理措施◆软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。

6、软件工程定义:软件工程是指导计算机软件开发和维护的工程学科。

它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

7、软件生存周期:软件生存周期一般分为:软件定义(问题定义、可行性研究、需求分析)、软件开发(总体设计、详细设计、编码和单元测试、综合测试)、软件维护等三个时期。

8、能力成熟度模型CMM:CMM(Capability Maturity Model)即能力成熟度模型,用于评价软件机构的软件过程能力成熟度的模型。

软件工程课后答案(清华大学出版社--钱乐秋)

软件工程课后答案(清华大学出版社--钱乐秋)
P 0.048 0.7219851974 4474263 5,789(美元)
(2)如果一条指令的长度为一个字,则使存储器装满程序共 需4474263条指令。
在1985年一名程序员每天可开发出10条指令,如果每月 有20个工作日,则每人每月可开发出10×20条指令。
为了开发出4474263条指令以装满存储器,需要的工作量
D2存款利率
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
19
作业及解答(第3章)
E1 储户
F7密码
F2取款单
P3.1 输入取款信息
无效取款信息
F5存款信息 D1存款信息
P3.2 密码校验
F7密码
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
D3生理信息
F4警告信息
F2生理信号
P1 接收信号
定时的生理信号
P5 更新日志
F2生理信号 定时的 生理信号
E1 护士
E3 时钟
F3日前、时间
P4 定时取样 生理信号
F6日志
F6日志
D1患者日志
E1
护士
F1要求报告
P6
13:07:42
重庆工学产院生计病算情机报科告学与工程学院 李梁(liliang@)
定时的生理信号 F6日志
P5 更新日志
D1患者日志
E1 护士
13:07:42
F6日志 F1要求报告
P6 产生病情报告
重庆工学院计算机科学与工程学院 李梁(liliang@)
11
E2 病人
P2 分析信号
F2生理信号 F5安全范围
危及病人信息 D2患者安全范围

软件工程(钱乐秋)第04章-设计工程

软件工程(钱乐秋)第04章-设计工程
内容摘要
• 软件设计工程概述 • 软件设计原则 • 软件体系结构设计 • 部件级设计技术 • 设计规约与设计评审
内容摘要
• 软件设计工程概述 • 软件设计原则 • 软件体系结构设计 • 部件级设计技术 • 设计规约与设计评审
软件设计工程概述
• 软件需求分析解决“做什么”的问题,软 件设计过程则解决“怎么做”的问题
抽象化与逐步求精
• 抽象,是在软件设计的规模逐渐增 大的情况下,控制复杂性的基本策 略。
• 抽象的过程是从特殊到一般的过程, 上层概念是下层概念的抽象,下层 概念是上层概念的精化和细化。
• 软件工程过程的每一步都是对较高 一级抽象的解作一次具体化的描述
• 软件设计中主要抽象手段有:过程抽象 和数据抽象
软件体系结构的风格
• 绝大多数可以被归类为相对小数量的体 系结构风格之一
• 每种风格描述一种系统范畴,范畴包括:
– ①一些实现系统所需的功能的部件(如数据 库、计算模块);
– ②一组用来连接部件“通信、协调和合作” 的“连接子”;
– ③定义部件之间怎样整合的系统约束; – ④使设计者能够理解整个系统属性并分析已
知属性的语义模型。
数据为中心体系结构
• 一些数据(比如一个文件或者数据库)保 存在整个结构的中心,并且被其他部件频 繁地使用、添加、删除、或者修改
数据流风格的体系结构
• 这种结构适用于输入数据被一系列的计算 或者处理部件变换成输出数据。
调用和返回风格的体系结构
• 这种风格使一个软件设计者设计出非常容 易修改和扩充的体系结构。
5) 标记耦合:两个模块之间通过参数表传递一 个数据结构的一部分(如某一数据结构的子结 构),就是标记耦合。
6) 数据耦合:两个模块之间仅通过参数表传递 简单数据,则称为数据耦合。

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

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

1、可行性研究的目的是用最小的代价,在尽可能短的时间,确定该项目是否能够开发。

2、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是工程化。

3、喷泉模型是一种以需求分析为动力,以对象为驱动的模型。

4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。

5、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、社会可行性。

6、可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否值得开发,其中的问题能否解决。

7、判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。

可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。

8、软件工具的发展特点是软件工具有单一工具向多个工具集成化方向发展。

重视用户界面的设计,不断的采用新理论和新技术。

软件工具的商品化推动了软件产业的发展,而软件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。

9、环境集成主要有数据集成、界面集成、控制集成、平台集成、过程集成。

10、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。

11、结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。

12、投资回收期就是累计的经济效益等于最初的项目投资所需的时间。

13、详细描述处理过程常用三种描述工具:图形、表格和语言。

14、数据流图中,每个加工至少有一个输入流和一个输出流。

15、结构化设计以数据流为基础映射成软件结构。

16、当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用判定表或判定树较好。

17、由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。

18、有两类维护技术:在开发阶段是用来减少错误、提高软件可维护性面向维护的技术,在维护阶段用来提高维护的效率和质量的维护支援技术。

软件工程课后习题答案2

软件工程课后习题答案2
5.
12
作业及解答(第3章)
从问题陈述可知,复印机的状态主要有“闲置”、“复印
”、“缺纸”和“卡纸”。引起状态转换的事件主要是“ 复印命令”、“完成复印命令”、“发现缺纸”、“装满 纸”、“发生卡纸故障”和“排除了卡纸故障”。
13
作业及解答(第4章)
14
补充:请将下图的DFD转换为软件结构图。 (注:图中⊕表示或者)
1
作业及解答(第3章)
1. 银行计算机储蓄系统的工作过程大致如下:储户填写的 存款单或取款单由业务员键入系统,如果是存款则系统记 录存款人姓名、住址(或电话号码)、身份证号码、存款类 型、存款日期、到期日期、利率及密码(可选)等信息,并 印出存单给储户;如果是取款而且存款时留有密码,则系 统首先核对储户密码,若密码正确或存款时未留密码,则 系统计算利息并印出利息清单给储户。 请用数据流图描绘本系统的功能,并用实体-联系图描绘 系统中的数据对象。
21
不能是两个分开的子系统,是相同的前台单个处理
银行储蓄系 统
存 款 单 款
率 利
利 存单 息清单
密 码
业务单据录 入
利 率
存款单


储蓄业务处理
存款单
单据输出
利 息
存单

存单
密码

利率



密 码


存款利 率设置
存款单据输 入
取款单 据输入
存款
取款
存单
利息清单
22
(2)机票预定系统 为了方便旅客,某航空公司拟开发一个机票预定系 统。旅行社把预定机票的旅客信息(姓名、性别、 工作单位、身份证号码、旅行时间、旅行目的地等 )输入该系统,系统为旅客安排航班,旅客在飞机 起飞前一天凭取票通知和账单交款取票,系统核对 无误即印出机票给顾客

软件工程课程设计概要设计与详细设计

软件工程课程设计概要设计与详细设计

淮海工学院计算机工程学院实验报告书课程名:《软件工程》题目:图着色理论在仓库管理系统中的应用——概要设计与详细设计班级:网络122学号:***********名:**1、实验目的与要求熟悉Visio绘图工具或PowerDesigner系统,并使用Visio或PowerDesigner系统提供的设计绘图工具,如H图、程序流程图、盒图、PAD图等完成软件工程实验项目的概要设计与详细设计文档中的层次图和程序流程图等图形绘制与文档说明。

2、实验内容一、概要设计1.1引言1.1.1编写目的近年来,生产的工业化速度迅速加快,生产的产品数量猛增,给传统的仓库管理方式手工作业带来了很大的负担,今天的仓库作业和库存控制作业已十分多样化,复杂化,靠人工去记忆去处理已十分困难,且出现错误的可能性很大。

如果不能保证正确的进货、验收、质量保证及发货,就会导致浪费时间,产生库存,延迟交货,增加成本,以致失去为客户服务的机会。

本文正是为解决这个问题而作。

本说明书的预期读者为小中型仓库的管理员及客户和采购员。

1.1.2背景本系统是:仓库管理系统。

本项目的任务提出者、开发者都是本人用户:中小型仓库管理员。

软件的计算机网络:任何装有IIS的计算机作为服务器端,其他处在同一网络的计算机作为客户端。

1.1.3定义DFD: Data Flow Diagram 数据流图,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

DD;Data Dictionary 数据字典:是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。

1.1.4参考资料1.《软件工程》---钱乐秋,赵文耘,牛军钰编著 ------ 清华大学出版社2.《数据库系统概论》—王珊萨师煊主编 -------高等教育出版社3.《 Java语言程序设计实用教程》董迎红张杰敏编著------ 北京大学出版社4. 可行性研究报告5. 需求分析说明书1.2总体设计1.2.1需求规定本系统软件主要实现的功能是仓库管理员对仓库进行库存的管理,主要包括,对于生产部门送来的货物进行清点,无误后入库,对于销售部门请求的货物进行核实,无误后出库。

软件工程课后习题答案

软件工程课后习题答案

第一章习题参考答案1﹑软件产品的特性是什么?答:软件产品特性:⑴是一种逻辑产品,与物质产品有很大的区别。

⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。

⑶软件产品不会用坏,不存在磨损,消耗。

⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的⑸开发软件的费用不断增加,致使生产成本相当昂贵。

2﹑软件生产有几个阶段?各有何特征?答:⑴程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。

⑵程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。

⑶软件工程时代:这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。

3﹑什么是软件危机?产生原因是什么?答:软件开发技术的进步未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。

产生原因:⑴软件规模越来越大,结构越来越复杂。

⑵软件开发管理困难而复杂。

⑶软件包开发费用不断增加。

⑷软件开发技术落后。

⑸生产方式落后,仍采用手工方式。

⑹开发工具落后,生产率提高缓慢。

4﹑什么是软件工程?它目标和内容是什么?答:软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。

软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。

软件工程内容:研究内容包括开发技术和开发管理两个方面。

开发技术主要研究:软件开发方法,开发过程,开发工具和环境。

开发管理主要研究:软件管理学,软件经济学,软件心理学。

5﹑软件工程面临的问题是什么?答:软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。

软件工程(第5版课后答案)

软件工程(第5版课后答案)
FIND (查找)
f(作者姓名)
系统搜索指定的作者姓名,并在屏幕上显示该作者的著作的索引号,同时把这些索引存入文件。
设计测试数据以全面测试系统正常操作。 设计测试数据以测试系统的非正常操作。
P175 5
P175 5 参考答案
划分等价类(略) 全面测试系统正常操作 B BS BSD F FD
B:输入关键字,看是否输出约20个加了行号的字,是否与关键字完全相同的字约在屏幕中央。 输入:“计算机” 预期输出:约20个加行号的字 BS:输入关键字,选取屏幕上行号,是否生成包含索引号的文件。 输入:“计算机”;12 预期输出:约20个加行号的字;文件 BSD:输入关键字,选取屏幕上行号,检索索引号有关信息,是否显示文件中索引信息。 输入:“计算机”;12;3 预期输出:约20个加行号的字;文 件;文件中索引信息。 F:输入作者姓名,是否在屏幕上显示该作者的著作的索引号,是否将这些索引存入文件。 输入:“金庸” 预期输出:该作者著作的索引号 FD:输入作者姓名,检索索引号有关信息,是否现实文件中索引信息。 输入:“金庸”;3 预期输出:该作者著作索引号;文件中 索引信息
单击此处可添加副标题
P23 7参考答案
增量模型 缺点: 至始至终开发者和客户纠缠在一起,直到完全版本出来。 优点: 人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量。 当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能给客户,对客户起到镇静剂的作用。 具有一定的市场。 适合于软件需求不明确、设计方案有一定风险的软件项目。
习题1第6题
什么是软件过程?它与软件工程方法学有何关系?
P23 6
P23 6参考答案

软件工程课后习题答案(钱乐秋版)

软件工程课后习题答案(钱乐秋版)
3
力; (6)财务能力: 系统分析员往往需要参与项目的招投标分析,为了保证企业的利润和客户的利益,必须进行财务核算,需要具备 会计、财务,成本计算等方面的能力; (7)司法能力: 与其他大部分行业一样,IT 行业也受到法律的约束,任何活动必须合情合理合法,任何违背法律的项目最终都会 失败,违背伦理道德的事和人最终都将失去人心。 (8)超强超快的学习能力: IT 行业新技术层出不穷,同时其他相关必备知识、业务知识也是瞬息万变,系统分析师要能够快速学习并快速掌 握和灵活应用; (9)敏锐的观察力: 由于 IT 行业项目的特殊性,项目复杂多变,系统分析师要能够先于其他人员发现问题、发现隐患,并提前做出 规避风险的策略。 3.4 列出在制定需求获取策略时的 3 种主要考虑因素。 答:(1)能否建立起顺畅的通讯途径;(2)是否能够获取用户对系统的功能需求和非功能需求;(3)是否利于在 可运行系统时的管理要求。 3.6 举例说明一个系统的 3 个不同类型的非功能需求
需求获取需求分析与协商系统建模需求规约需求验证以及需求管理六个步1需求获取在需求获取阶段系统分析人员通过与用户的交流对现有系统的观察以及对任务进行分析确定系统或产品范围的限制性描述与系统或产品有关的人员及特征列表系统的技术环境的描述系统功能的列表以及应用于每个需求的领域限制一组描述不同运行条件下系统或产品使用状况的应用场景以及为更好地定义需求而开发的原型
2
项目功能:管理邮政方面业务的监督和管理,提高邮政的服务效率。 失败原因:需求分析不足,需求内容不明确,把握不充分。
第3章
3.2 需求工程具体包括哪些步骤?每个步骤的具体任务是什么? 答:需求工程具体步骤包括:需求获取、需求分析与协商、系统建模、需求规约、需求验证以及需求管理六个步 骤。 (1)需求获取 在需求获取阶段系统分析人员通过与用户的交流、对现有系统的观察以及对任务进行分析,确定系统或产品范围 的限制性描述、与系统或产品有关的人员及特征列表、系统的技术环境的描述、系统功能的列表以及应用于每个 需求的领域限制、一组描述不同运行条件下系统或产品使用状况的应用场景以及为更好地定义需求而开发的原 型。需求获取的工作产品为进行需求分析提供了基础。 (2)需求分析与协商 此阶段的任务是对需求进行分类组织,分析每个需求与其他需求的关系以检查需求的一致性、重叠和遗漏的情况, 并根据用户的需要对需求进行排序。 (3)系统建模 系统建模是为了在用户和系统分析人员之间建立统一的语言和理解的桥梁,系统分析人员借助建模技术对获取的 需求信息进行分析,排除错误和弥补不足,确保需求分析文档正确反映用户的真实意图。 (4)需求规约 软件需求规约是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能和设计约束的说 明、合适的验收标准,给出对目标软件的各种需求。需求规约作为用户和开发者之间的一个协议,在之后的软件 工程各个阶段发挥重要作用。 (5)需求验证 此阶段的任务是对功能的正确性、完整性和清晰性,以及其他需求给予评价,保证软件需求定义的质量。 (6)需求管理 软件需求管理是对需求工程所有相关活动的规划和控制。换句话说,需求管理就是:一种获取、组织并记录系统 需求的系统化方案,以及一个使用户与项目团队对不断变更的系统需求达成并保持一致的过程。 3.3 一个系统分析员应该具备哪些思想素质和基础知识?请说明理由。 答: (1)强烈的责任心和事业心 系统分析师由于必须保证分析的准确性,尤其是需求,所以责任更为重大。一般来说,不应以用户表述不明确, 无法得到需求,或者用户需求变化太多太快作为借口,更不能因为下面的研发技术人员技术水平不如自己而责备 研发技术人员,同时也需要能够为保证企业利益而说服公司领导做出正确的决策; (2)钻研精神 IT 行业不同于其他行业,新理念新技术新方法层出不穷,系统分析师需要能够适时适当地引进新理念新技术新方 法,为企业提高生产效率,为员工降低劳动强度,为客户提供更具竞争力和更加实用的产品和服务; (3)优秀的协商谈判能力 复杂的系统有许多项目相关的人员,他们之间的需求必定会出现冲突,协商的过程就是讨论需求,找出每个人都 满意的折衷方案。分析人员是参与这之中的重要一份子,需要协调这之中的各方利益,这就要求分析员必须要有 优秀的协商谈判能力。 (4)广泛的知识面: 除了具备基本的 IT 技能、知识外,需要广泛涉猎其他行业其他学科的知识方法,以系统工程的理念,借鉴和利 用其他行业的为 IT 行业所用,也可以把 IT 行业的理念应用到其他行业; (5)精湛的技术能力: 系统分析员往往需要分析可行性和解决研发人员的技术问题,因此必须具备广泛的技术涉猎面和较强的技术能

软件工程钱乐秋课后习题答案

软件工程钱乐秋课后习题答案

软件工程钱乐秋课后习题答案软件工程是一门涉及软件开发和维护的学科,而钱乐秋老师的软件工程课程是在这个领域中被广大学生所喜爱的一门课。

在学习过程中,钱乐秋老师留给学生一些习题,以加强对知识的理解和运用。

本文将针对这些课后习题进行解答,帮助学生更好地掌握软件工程的重点内容。

1. 什么是软件工程?软件工程是一门研究如何对软件进行开发、维护和管理的学科。

它包括了软件需求分析、软件设计、软件编码、软件测试、软件维护等一系列过程。

软件工程的目标是提高软件的质量、效率和可靠性。

2. 软件开发生命周期有哪些阶段?软件开发生命周期一般包括需求分析、软件设计、编码、测试、部署和维护等阶段。

需求分析阶段确定软件的功能和性能需求;软件设计阶段设计软件的结构和算法;编码阶段将设计转化为可执行的程序;测试阶段测试软件的正确性和稳定性;部署阶段将软件安装到用户的计算机上;维护阶段解决软件中的问题并进行更新。

3. 什么是软件需求?它的分类有哪些?软件需求是指用户对软件的功能和性能方面的要求。

根据不同的角度和需求分类方法,软件需求可以分为功能需求、非功能需求和设计约束需求。

功能需求是指软件需要具备的功能或特性;非功能需求是指软件的性能、安全性、用户界面等方面的要求;设计约束需求是指软件设计和实现时需要遵循的规范和限制。

4. 什么是软件项目管理?它的重要性是什么?软件项目管理是指针对软件开发项目的组织、计划、协调和控制等活动。

它包括了项目范围管理、进度管理、风险管理、质量管理等方面的内容。

软件项目管理的重要性在于可以确保项目按时、按质量、按预算完成,同时还可以提高团队的协作效率和工作质量。

5. 什么是软件测试?为什么软件测试如此重要?软件测试是指通过运行软件来检测和评估软件的正确性、完整性和质量。

它是软件工程中非常重要的一环,因为软件测试可以发现软件中的错误和缺陷,防止错误的程序进入到用户的手中。

通过测试,可以提高软件的质量、可靠性和安全性,从而增加用户对软件的满意度。

软件工程课本习题答案

软件工程课本习题答案
2.3形式化方法的特点是什么?
形式化方法的主要特点是:
(1)软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明;
(2)设计、实现和单元测试等开辟过程由一个变换开辟过程代替。通过一系列变换将形式的规格说明细化成为程序。
2.5安装RationalRose2000/2002/2003,并练习基本操作。
缺点:RUP只是一个开辟过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容;此外,它没有支持多项目的开辟结构,这在一定程度上降低了在开辟组织内大范围实现重用的可能性。
合用范围:合用于基于构件的软件开辟。
2软件工程方法与工具
2.1软件工程的三种基本要素是什么,各自的作用是什么?
术问题,更重要的是必须有科学严格的管理。
(5)缺少有效的软件评测手段,提交给用户的软件的质量不能彻底保证。
1.5什么是软件工程?
第1章 作业参考答案
软件工程是指导计算机软件开辟和维护的工程学科。采用工程的概念、原理、技术和方法来开辟和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开辟出高质量的软件并有效地维护它,这就是软件工程。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:
(1)缺乏软件开辟的经验和有关软件开辟数据的积累,使得开辟工作计划很难制定。
(2)软件人员与用户的交流存在障碍,使得获取的需求不充分或者存在错误。
(3)软件开辟过程不规范。如,没有真正了解用户的需求就开始编程序。
(4)随着软件规模的增大,其复杂性往往会呈指数级升高。需要不少人分工协作,不仅涉及技
必须做什么”这个问题。
(3)软件设计:本阶段要回答的关键问题是“目标系统如何做?”为此,必须在设计阶段中制

软件工程课后题答案

软件工程课后题答案

软件⼯程课后题答案第⼀章1 简述软件的发展过程。

共经历了四个阶段;第⼀阶段:(20世纪50年代初期到60年代初期的⼗余年)计算机系统开发的初期。

第⼆阶段:(20世纪60年代中期到70年代中期的⼗余年)软件产品和“软件作坊”的概念开始出现。

软件开发⼈员不再像早期阶段那样只因个⼈⼯作需要⽽开发,⽽是为了⽤户更好地使⽤计算机。

第三阶段:(20世纪70年代中期到80年代末期)分布式系统嵌⼊“智能”;硬件价格下降,软件价格急剧上升,导致了软件危机的加剧。

第四阶段:(20世纪80年代末期开始)强⼤的桌⾯系统和计算机⽹络迅速发展。

2 简述软件的定义和特点。

定义:软件是计算机程序、规程以及运⾏计算机系统可能需要的相关⽂档和数据。

特点:(1)是⼀种逻辑实体,具有抽象性;(2)软件的⽣产不存在明显的制造过程;(3)在软件的运⾏和使⽤的过程中,不会存在像硬件那样的机械磨损及⽼化问题;(4)由于对计算机系统的依赖性,对软件的通⽤性造成了⼀定的影响;(5)软件的开发⽅式还没有完全脱离⼿⼯开发⽅式,还不能完全采⽤组装的⽅式进⾏软件开发;(6)作为提⾼⼯作效率的逻辑产品,本⾝具有复杂性;(7)成本相当昂贵;(8)相当多的软件⼯作设计社会因素。

3 软件有哪些种类1. 按功能特征进⾏划分(1)系统软件。

(2)⽀撑软件。

(3)应⽤软件2. 按规模⼤⼩进⾏划分微型、⼩型、中型、⼤型、甚⼤型、、极⼤型4 什么是软件危机答:是指在计算机软件的开发和维护过程中所遇到的⼀系列严重问题。

5 什么是软件⼯程有哪些本质特性怎样⽤软件⼯程消除软件危机答:是指导计算机软件开发和维护的⼀门⼯程学科。

特性略。

技术措施和管理措施消除软件危机。

6 软件⼯程的三要素;⽅法、⼯具和过程。

7. 结合⾃⼰的亲⾝经历,谈谈软件⼯具在软件开发过程中的作⽤。

使软件开发更加模式化,⼯程化,从⽽提⾼软件开发的效率和封装性。

8. CASE 的研究和CASE 产品的开发是近年来软件⼯程领域的特点之⼀。

软件工程课后答案

软件工程课后答案

软件工程课后答案1.1什么是运算机软件?软件的特点是什么?答:运算机软件指运算机体系中的法度榜样及其文档。

软件的特点是:A 软件是一种逻辑实体,而不是有形的体系元件,其开创成本和进度难以精确得估算;B 软件是被开创的或被设计的,没有明显的制造过程,一旦开创成功,只需复制即可,但其爱护的工作量大年夜;C 软件的应用没有硬件那样的机械磨损和老化问题。

1.2 简述软件的分类,并举例说明。

答:在《运算机科学技巧百科全书》中,将软件分为体系软件、支撑软件和应用软件3类。

A 体系软件:体系软件居于运算机体系中最接近硬件的一层,其他软件一样都经由过程体系软件发挥感化。

体系软件与具体的应用范畴无关。

例如:编译法度榜样、操作体系等。

B 支撑软件:支撑软件是支撑软件的开创和爱护的软件。

例如:数据库治理体系、收集软件、软件对象、软件开创情形等。

C 应用软件:应用软件是特定应用范畴专用的软件。

例如:工程/科学运算软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

1.4 什么是软件工程?答:在《运算机科学技巧百科全书》中软件工程是应用运算机科学、数学及治理科学等道理,开创软件的工程。

1.5 简述软件工程的基来源差不多则。

答:软件工程原则包含围绕工程设计、工程支撑和工程治理提出的以下4条基来源差不多则:第一条:围绕合适的开创模型;第二条:采取合适的设计方法;第三条:供给高质量的工程支撑;第四条:看重软件工程的治理。

1.6 软件生计周期分哪几个时期?分别简述各个时期的义务。

答:软件生计周期有运算机体系工程、需求分析、设计、编码、测试、运行和爱护6个时期。

A运算机体系工程的义务是确信待开创软件的总体要乞降范畴,以及该软件与其他运算机体系元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技巧、司法等方面分析待开创的软件是否有可行的解决筹划,并在若干个可行的解决筹划中做出选择。

B需求分析重要解决待开创软件要“做什么”的问题,确信软件的功能、机能、数据、界面等要求,生成软件需求规约。

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

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

软件工程课后习题参考答案1.简述软件开发的本质答: 软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。

P192.简述实施软件开发的基本途径。

答: 实施软件开发的基本途径是系统建模。

所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。

P193.简述何谓模型以及软件开发中所涉及的模型。

答: 模型是一个抽象。

该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。

软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。

4.简述软件开发所涉及的两大类技术。

答: 软件开发所涉及的两大类技术为: 一是求解软件的开发逻辑,二是求解软件的开发手段。

5、简述需求与需求规约的基本性质。

答:需求的基本性质:1) 必要的,该需求是用户所要求的。

2) 无歧义的,该需求只能用一种方式解释。

3) 可测的,该需求是可进行测试的。

4) 可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。

5) 可测量的,该需求是可测量的。

需求规约的基本性质:1) 重要性和稳定性程度: 按需求的重要性和稳定性,对需求进行分级。

2) 可修改的: 在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。

3)完整的:没有被遗漏的需求。

4)一致的:不存在互斥的需求。

6、简述软件需求的分类答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、功能需求7、举例说明功能需求和非功能需求之间的基本关系。

答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1作用于功能需求1和功能需求3等;非功能需求2作用于功能需求2等。

P248、有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。

软件工程课后题答案

软件工程课后题答案

第1章2.为什么说软件工程的发展可以在一定程度上解决软件危机的各种弊端?软件工程的提出是为了解决软件危机所带来的各种弊端。

具体地讲,软件工程的目标主要包括以下几点:1)使软件开发的成本能够控制在预计的合理范围内。

2)使软件产品的各项功能额性能能够满足用户需求。

3)提高软件产品的质量。

4)提高软件产品的可靠性。

5)使生产出来的软件产品易于移植、维护、升级、和使用。

6)使软件产品的开发周期能够控制在预计的合理实践范围内。

3.简述软件工程的基本原则。

1)将软件的生命周期划分为多个阶段,对各个阶段实行严格的项目管理。

2)坚持阶段评审制度,以确保软件产品的质量。

3)实施严格的产品控制,以适应软件规格的变更。

在软件开发的过程中,用户需求可能不断发生变化。

4)采用现代程序设计技术。

5)开发出来的软件产品应该能够清楚地被审查。

6)合理地安排软件开发小组的人员,并且开发小组的人员少而精。

4.简述软件工程研究的内容。

软件工程研究的内容主要包括以下两部分:1)软件开发技术。

主要研究软件开发方法、软件开发过程、软件开发工具和环境。

2)软件开发过程管理。

主要研究软件工程经济学和软件管理学。

随着人们对软件系统研究的逐渐深入,软件工程研究的内容也在不断跟新和发展。

5.简述软件工程的三要素。

软件工程以关注质量为目标,其中过程、方法、工具是软件过程的3要素。

6.简述软件工程的目标。

软件工程的基本目标如下:1)达到要求的软件功能;2)取得较好的软件性能;3)开发出高质量的软件;4)付出较低的开发成本;5)需要较低的维护费用;6)能按时完成开发工作,及时交付使用。

7.通常有哪几种软件工程开发方法?通常有四种开发方法:1)结构化方法;2)面向数据结构方法;3)面向对象方法;4)形式化方法。

此外还有问题分析法,可视化开发方法。

第2章2.请对比瀑布模型、快速原型模型、增量模型和螺旋模型。

瀑布模型的优点:过程模型简单,执行容易。

缺点:无法适应变更。

完整版软件工程课后题答案

完整版软件工程课后题答案

1什么是软件危机?软件危机产生的原由是什么?软件危机就是指人们在开发软件和保护软件过程中遇到的一系列问题。

产生的原由: <1>忽视软件开发先期的需求剖析。

<2>开发过程缺少一致的、规范化的方法论的指导。

<3>文档资料不齐全或不正确。

<4>忽视与用户之间、开发构成员之间的交流 <5>忽视测试的重要性。

<6>不重视保护或因为上诉原由造成保护工作的困难。

<7>从事软件开发的专业人员对这个家产认识不充分,缺少经验。

<8>没有圆满的质量保证系统。

2请简述软件工程的三因素三因素是指过程、方法和工具软件工程的基础是过程层,它定义了一组要点过程地域的框架,使软件能过被合理和及时的开发;软件工程的方法供应了建筑在在技术上需要“做什么”,它覆盖了一系列的任务,包括需求剖析、设计编程、测试和支持等;软件工程的工具对过程和方法供应了自动的或半自动的支持。

3请比较瀑布模型、快速模型、增量模型和螺旋模型。

瀑布模型的长处是:过程模型简单,履行简单;弊端是没法适应更正。

快速模型的长处是:软件产品的开发基本上是按线性序次进行的(它所达成的功能常常是最后产品能达成的功能的一个子集)增量模型的最大特色是将待开发的软件系统模块化和组件化,长处是:将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时认识项目的进展;以组件为单位进行开发降低了软件开发的风险;开发序次灵巧。

它的弊端是要求待开发的软件系统可以被模块化螺旋模型的长处是对可选方案和拘束条件的重申有益于已有的软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试(浪费资本)或测试不足(产品故障多)所带来的风险;更重的是,在螺旋模型中保护但是模型的另一个周期,在保护和开发之间并没有实质的差别,它的主要优势在于风险驱动但是这也可能是他的一个弊端。

4什么是软件过程?他与软件工程方法学有何不一样样?软件过程:是指一个为获取高质量软件所需达成的任务的框架,它规定了软件产品开发时达成各项任务的一系列工作步骤,包含中间产品、资源、角色及过程中采纳的方法、工具等范围。

软件工程第五版课后全答案准确对应书山

软件工程第五版课后全答案准确对应书山

软件工程第五版课后全答案准确对应书山答案一:软件工程概述软件工程是一门研究如何以系统化、规范化、可定量化的方法开发和维护软件的学科。

它包括软件开发的理论、方法和工具,以及软件工程实践中的管理过程。

答案二:软件工程的原则和概念1. 软件工程的原则:- 适应性原则:软件工程应适应不断变化的需求和环境。

- 开发可验证性:软件开发过程应可验证和检验。

- 风险管理:软件开发中应采取风险管理策略。

- 可扩展性:软件应具备可扩展性,以适应未来的发展和变化。

2. 软件工程的概念:- 软件生命周期:指软件从提出需求到废弃的整个过程。

- 开发过程模型:指将软件开发过程分为一系列可管理的阶段和活动。

- 软件需求:用户对软件的功能、质量和性能等方面的要求和期望。

- 软件设计:确定软件系统的体系结构和组件之间的关系,并编写详细的规格说明。

- 软件测试:验证软件是否符合需求,并发现和修复软件中的缺陷。

- 软件维护:对已经交付使用的软件进行错误修复、性能优化等活动。

答案三:软件过程和项目管理1. 软件过程:- 软件过程定义:软件过程是指为实现软件的开发和维护需要采取的一系列方法和活动。

- 软件过程模型:包括瀑布模型、迭代模型、增量模型等。

- 软件过程改进:通过评估现有过程并采取相应的改进措施,提高软件开发效率和质量。

2. 项目管理:- 项目管理概述:项目管理是指将规划、组织、指导、控制和评估项目活动的过程。

- 项目管理知识体系:包括项目范围管理、项目时间管理、项目成本管理等多个方面。

- 项目管理过程:包括项目启动、规划、执行、监控和收尾等阶段。

答案四:需求分析与规格说明1. 需求工程:需求分析是软件开发的重要阶段,它涉及对用户需求的收集、分析和规格说明等活动。

- 需求获取:通过面谈、问卷调查等方式,从用户和相关人员中获取需求。

- 需求分类和排序:将获取的需求进行分类和排序,以便进一步分析和规格说明。

2. 需求分析模型:在需求分析过程中,可以使用不同的模型来表示需求,常用的模型有数据流图、用例图等。

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

13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
4
作业及解答(第1-2章)
(1)在1985年对计算机存储容量的需求,估计是
M 4080e0.28(19851960) 4080e7 4,474,263(字)
如果字长为16位,则这个存储器的价格是
医院对患者8监护系统的基本要求是随时接收每个病人的 生理信号(脉搏、体温、血压、心电图等),定时记录病人 情况以形成患者日志,当某个病人的生理信号超出医生规 定的安全范围时向值班护士发出警告信息,此外,护士在 需要时还可以要求系统印出某个指定病人的病情报告。
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
请用定义数据字典的方法,定义上述的电话号码。
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
14
作业及解答(第3章)
数据结构的描述
符号
含义 举 例

被定义为

与 x = a+b
[...,...] 或 [...|...] 或 x = [a , b],x = [a | b]
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
17
作业及解答(第3章)
E1 储户
F1存款单 F2取款单
P0储蓄系统信息
D1存款信息
E1 储户
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
从问题陈述可知,本系统数据源点是“病人”和“护士” ,他们分别提供生理信号和要求病情报告的信息。进一步 分析问题陈述,从系统应该“定时记录病人情况以形成患 者日志”这项要求可以想到,还应该有一个提供日期和时 间信息的“时钟”作为数据源点。
从问题陈述容易看出,本系统的数据终点是接收警告信息 和病情报告的护士。
D2存款利率
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
19
作业及解答(第3章)
E1 储户
F7密码
F2取款单
P3.1 输入取款信息
无效取款信息
F5存款信息 D1存款信息
P3.2 密码校验
F7密码
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
定时的生理信号 F6日志
P5 更新日志
D1患者日志
E1 护士
13:07:42
F6日志 F1要求报告
P6 产生病情报告
重庆工学院计算机科学与工程学院 李梁(liliang@)
11
E2 病人
P2 分析信号
F2生理信号 F5安全范围
危及病人信息 D2患者安全范围
P3 产生警告信息
F2生理信号
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
2
作业及解答(第1-2章)
1-5 根据历史数据可以做出如下的假设 :
对计算机存储容量的需求大致按下面公式描述的趋势逐年增 加:M=4080e0.28(Y-1960)
存储器的价格按下面公式描述的趋势逐年下降: P1=0.3×0.72Y-1974(美分/位)
20
作业及解答(第3章)
ER模型
✓本问题中共有两类实体,分别是“储户”和“储蓄所”, 在它们之间存在“存取款”关系。因为一位储户可以在多 家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取 款”是多对多(M:N)关系。
✓储户的属性主要有姓名、住址、电话号码和身份证号码, 储蓄所的属性主要是名称、地址和电话号码,而数额、类 型、到期日期、利率和密码则是关系类型存取款的属性。
如果计算机字长为16位,则存储器价格下降的趋势为: P2=0.048×0.72Y-1974(美元/字)
在上列公式中Y代表年份,M是存储容量(字数),P1和P2代 表价格。
基于上述假设可以比较计算机硬件和软件成本的变化趋势。 要求计算:
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
P 0.048 0.7219851974 4474263 5,789(美元)
(2)如果一条指令的长度为一个字,则使存储器装满程序共 需4474263条指令。
在1985年一名程序员每天可开发出10条指令,如果每月 有20个工作日,则每人每月可开发出10×20条指令。
为了开发出4474263条指令以装满存储器,需要的工作量
{ ... }或 m{...}n 重复 x = {a}, x = 3{a}8
(...)
可选 x = (a)
“...”
基本数据元素 x = “a”
..
连结符 x = 1..9
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]
软件工程部分 作业解答
山东科技大学 计算机科学与工程学院
王磊
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
1
作业及解答
作业一 基本概念(第1-2章) 作业二 需求分析(第3章) 作业三 系统设计(第5章) 作业四 详细设计(第6章) 作业五 系统实现(第7章) 作业六 系统维护(第8章) 作业七 面向对象方法学引论(第9章) 作业八 面向对象分析(第10章) 作业九 面向对象设计(第11章) 作业十 面向对象实现(第12章) 作业十一 软件项目管理(第13章)
D3生理信息
F4警告信息
F2生理信号
P1 接收信号
定时的生理信号
P5 更新日志
F2生理信号 定时的 生理信号
E1 护士
E3 时钟
F3日前、时间
P4 定时取样 生理信号
F6日志
F6日志
D1患者日志
E1
护士
F1要求报告
P6
13:07:42
重庆工学产院生计病算情机报科告学与工程学院 李梁(liliang@)
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
F6日志
D1患者日志
E1
护士
F1要求报告
P6
13:07:42
重庆工学产院生计病算情机报科告学与工程学院 李梁(liliang@)
13
作业及解答(第3章)
2-5 北京某高校可用的电话号码有以下几类:校内电话号码 由4位数字组成,第1位数字不是0;校外电话又分为本市 电话和外地电话两类,拨校外电话需先拨0,若是本市电 话则再接着拨8位数字(第1位不是0),若是外地电话则拨3 位区码再拨8位电话号码(第1位不是0)。
12
E2 病人
P2
分析信号
危及病人信息
F2生理信号
F5安全范围
D2患者安全范围
F2生理信号
D3生理信息
P7制定安 全范围
F2生理信号
P1 接收信号
定时的生理信号
P5 更新日志
F2生理信号 定时的 生理信号
P3 产生警告信息
F4警告信息
E1 护士
E3 时钟
F3日前、时间
P4 定时取样 生理信号
F6日志
3
作业及解答(第1-2章)
(1) 在1985年对计算机存储容量的需求估计是多少?如果字 长为16位,这个存储器的价格是多少?
(2) 假设在1985年一名程序员每天可开发出10条指令,程 序员的平均工资是每月4000美元。如果一条指令为一个 字长,计算使存储器装满程序所需用的成本。
(3) 假设在1995年存储器字长为32位,一名程序员每天可 开发出30条指令,程序员的月平均工资为6000美元,重 复(1)、(2)题。
18
E1 储户
F1存款单 F7密码
P1 记录存款信息
F5存款信息
D1存款信息
P2 打印存单
F5存款信息 F3存单
E1 储户
F7密码 F2取款单
F5存款信息
F4利息 F4利息
P3 核算密码
F6取款信息
P4 计算利息
F4利息 P5 打印利息清单
F8储蓄利率
E2 业务员
F8储蓄利率
P6 设置利率
F8储蓄利率
系统对病人生理信号的处理功能主要是“接收信号”、“ 分析信号”和“产生警告信息”。
此外,系统还应该具有“定时取样生理信号”、“更新日 志”和“产生病情报告”的功能。
为了分析病人生理信号是否超出了医生规定的安全范围, 应该存储“患者安全范围”信息。此外,定时记录病人生 理信号所形成的“患者日志”,显然也是一个数据存储。
是: 4474263 22,371(人月) 200
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
5
作业及解答(第1-2章)
程序员的月平均工资是4000美元, 开发出4474263条指
令的成本是 22371 4000 89,484,000(美元)
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
16
作业及解答(第3章)
3-3 银行计算机储蓄系统的工作过程大致如下:储户填写的 存款单或取款单由业务员键入系统,如果是存款则系统记 录存款人姓名、住址(或电话号码)、身份证号码、存款类 型、存款日期、到期日期、利率及密码(可选)等信息,并 印出存单给储户;如果是取款而且存款时留有密码,则系 统首先核对储户密码,若密码正确或存款时未留密码,则 系统计算利息并印出利息清单给储户。 请用数据流图描绘本系统的功能,并用实体-联系图描绘系 统中的数据对象。
相关文档
最新文档