软件工程思考题答案

合集下载

软件工程思考题答案

软件工程思考题答案

第一章基本概念1.软件的特点是什么?软件的定义:软件=程序+数据+文档软件的特点:1)软件是逻辑实体;具有抽象性;软件的形态不可见;--必须通过观察、分析、思考、判断来了解其功能、性能和其它特性。

2)软件是人脑思维的产物,其生产过程与硬件不同。

--开发过程的质量控制及软件产品保护问题。

3)软件的开发和运行受计算机系统限制。

--软件移植问题。

4)软件的开发技术落后,手工开发方式仍占统治地位。

--开发效率低。

2.2006年发布的国家分类标准是什么?1)按功能:系统软件、支撑软件、应用软件2)按规模:微型软件、小型软件、大型软件、甚大型软件、极大型软件3)按工作方式:实时处理软件、分时软件、交互式软件、批处理软件4)按服务对象:项目软件、产品软件5)按使用频度:使用频度低、使用频度高6)按失效影响:不良影响、严重影响3.软件危机的表现有哪些?1)软件开发进度难以预测2)软件开发成本难以控制3)用户对产品功能难以满足4)软件产品质量无法保证5)软件产品难以维护4.产生软件危机的原因?1)用户需求不明确2)缺乏正确的理论指导3)软件开发规模越来越大4)软件开发复杂度越来越高5.什么是软件工程三要素?软件工程的三要素:方法、工具和过程。

6.软件工程的基本目标是什么?①付出较低的开发成本②达到要求的软件功能③取得较好的软件性能④开发的软件易于移植⑤需要较低的维护费用⑥能按时完成开发工作,及时交付使用7软件工程的基本原则是什么?①抽象:采用分层次抽象,自顶向下、逐层细化的办法控制软件开发过程的复杂性。

②信息隐蔽:将模块设计成“黑箱”,实现的细节隐藏在模块内部,不让模块的使用者直接访问。

这就是信息封装,使用与实现分离的原则。

③模块化:如C语言程序中的函数过程,C++ 语言程序中的类。

模块化有助于信息隐蔽和抽象,有助于表示复杂的系统。

④局部化:要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块之间具有松散的耦合,模块内部具有较强的内聚。

软件工程思考题答案(精)

软件工程思考题答案(精)

1、一个软件公司许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产品。

每个部门由部门名字唯一确定。

该公司有许多员工,员工分为经理,工作人员和开发人员每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,开发人员使用语言开发项目。

每位经理可主持多个开发项目。

建立该软件公司的对象模型。

2、某教务中心准备开发一个成人自学考试系统考务管理系统,经过调研该系统有如下功能: (1对考生填写的报名单进行审查,对合格的考生,编好准考证发给考生,汇总后的报名单送给阅卷站。

(2给合格的考生制作通知单,将考试科目、时间、地点安排告诉考生。

(3对阅卷站送来的成绩进行登记;按当年标准审查单科合格者,并发成绩单,对所考专业各科成绩全部合格者发给大专毕业证书。

(4对成绩进行分类(按地区、年龄、职业、专业、科目等分类产生相应统计表(5查询考生可按准考证号随时查询自己的各科成绩试根据要求画出系统的用例图3、某图书馆借阅系统有以下功能:(1借书:根据读者的借书证查询读者档案,若借书数目未超过规定数量,则办理借阅手续(修改库存记录及读者档案,超过规定数量者不予借阅。

对于第一次借阅者则直接办理借阅手续。

(2还书:根据读者书中的条形码,修改库存记录及读者档案,若借阅时间超过规定期限则罚款。

请对以上问题,画出数据流图4、某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下: (1报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。

(2报社下属多个发行站,每个站负责收集登陆订单,打印收款凭证等事务。

(3报社负责分类并统计各个发行站送来的报刊订阅信息。

请就比需求建立对象模型,并画出系统的用例图。

(0010)《软件工程》复习思考题及参考答案

(0010)《软件工程》复习思考题及参考答案

(0010)《软件工程》复习思考题模拟试卷一(开卷)“商场管理信息系统”问题描述:库房管理员负责录入商品的入库和出库信息,系统自动根据库房管理员的输入修改库房的库存商品信息;当商品的库存数量低于临界值,系统自动打印出缺货商品的采购单交给采购员。

售货员负责登入商品销售信息(品名,编号,销售量,单价),系统根据售货员的输入,自动修改前台商品库存信息,当前台商品数量低于临界值,系统打印出领货通知单交给库房管理员。

问题1:画出尽可能详细的“商场管理信息系统”数据流图。

问题2:按照软件工程的规范写出“商品入/出库信息”的数据字典(定义到第2层)。

问题3:根据问题1中你所画的数据流图,采用面向数据流的方法,画出系统的软件结构图问题4:已知“销售模块”的IPO表如下,请画出该模块的程序流程图。

问题5说明你采用了什么测试方法。

模拟试卷二(开卷)“报刊订阅系统”问题描述:系统保存所有通过邮局发行的报刊的与发行有关的信息;接受订阅者的订阅和付款,并保存订阅、付款日期和金额、以及投递信息;输出投递和订阅清单;接受顾客的查询服务;统计各报刊的各阶段的总订阅数,并输出各报社、各杂志社的订单汇总表。

问题1:画出尽可能详细的“报刊订阅系统”数据流图。

问题2:按照软件工程的规范写出“报刊订单”的数据字典(定义到第2层)。

问题3:根据问题1中你所画的数据流图,采用面向数据流的方法,画出系统的软件结构图问题4问题5:请至少设计出两组测试数据,用于测试问题4中你设计的程序,并说明你采用了什么测试方法和目的。

(0010)《软件工程》复习思考题答案模拟试卷一“商场管理信息系统”问题描述:库房管理员负责录入商品的入库和出库信息,系统自动根据库房管理员的输入修改库房的库存商品信息;当商品的库存数量低于临界值,系统自动打印出缺货商品的采购单交给采购员。

售货员负责登入商品销售信息(品名,编号,销售量,单价),系统根据售货员的输入,自动修改前台商品库存信息,当前台商品数量低于临界值,系统打印出领货通知单交给库房管理员。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程课后题答案

软件工程课后题答案

软件⼯程课后题答案第⼀章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 产品的开发是近年来软件⼯程领域的特点之⼀。

软件工程思考题答案

软件工程思考题答案

《软件工程》思考题答案2、软件工程是什么时候提出来的?它主要包括哪些方面?软件工程的提出:伴随着软件危机的出现以及解决过程中软件工程学的主要内容是软件开发技术和软件工程管理:软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学5、面向对象系统设计的特点面向对象分析设计界限不明显面向对象分析和设计通常采用迭代方法和传统的设计方法类似,面向对象设计也是基于模块化和功能独立等方法之上6、需求分析的主要任务建立分析模型,完成用户需求报告:分析模型是一组描述软件需求的模型;编写软件需求规格说明(SRS)需求分析的特点:用户需求具有动态性用户需求具有模糊性用户与设计者在对需求的认识和理解上存在偏差对需求分析,用户和设计者应共同承担责任需求规格说明书内容:一、概述二、目标系统描述三、目标系统功能需求四、目标系统性能需求五、目标系统界面与接口需求六、目标系统其他需求七、目标系统假设与约束需求分析重要:●需求分析工作对于整个系统的成败影响最大●用户需求报告是第一个最重要的文档,是用户、软件开发人员和项目管理人员三者必须遵守的一根基线●需求分析中的错误对后续工作影响较大●需求分析时期的工作量约占整个开发系统工作量的1/47、●数据流图DFD、数据字典DD和加工说明PSPEC●控制流图CFD、控制状态说明CSPEC和状态变迁图STD●关系实体图E-R图1.8、概要设计的主要任务是什么?它与需求分析有什么关系?主要任务:1.设计软件系统结构(简称软件结构)2.数据结构及数据库设计3.编写概要设计文档4.评审关系需求分析--产生软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。

不涉及具体实现方法。

用户能看得明白,开发人员也可据此进行下面的工作(概要设计)概要设计--产生软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。

并且需要指出关键技术难点等。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

第一章1.1什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其文档软件的特点:●软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。

●软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。

●软件的使用没有硬件那样的机械磨损和老化问题。

1.2简述软件的分类,并举例说明1.系统软件系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。

例如:编译软件、操作系统。

2.支撑软件支撑软件是支撑软件的开发和维护的软件。

例如:数据库管理系统、网络软件、软件工具、软件开发环境。

3.应用软件应用软件是特定应用领域专用的软件。

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

1.3简述软件语言的分类,并举例说明。

1.需求定义语言是用于书写软件需求定义的语言。

例如:PSL/PSA。

2.功能性语言是用于书写软件功能规约的语言,通常又称为功能规约语言。

例如:广谱语言、Z 语言。

3.设计性语言是用于书写软件设计规约的语言。

例如:PDL。

4.实现性语言也称为程序设计语言,是用于书写计算机程序的语言。

例如:C、java、PROLOG、FORTRAN、COBOL、Modula。

5.文档语言是用于书写软件文档的语言。

通常用自然语言或半形式化语言书写。

1.4什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。

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

软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。

1.选取适宜的开发模型必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。

2.采用合适的设计方法合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

3.提供高质量的工程支撑软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。

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

1、一个软件公司许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产
品。

每个部门由部门名字唯一确定。

该公司有许多员工,员工分为经理,工作人员和开发人员每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,开发人员使用语言开发项目。

每位经理可主持多个开发项目。

建立该软件公司的对象模型。

2、某教务中心准备开发一个成人自学考试系统考务管理系统,经过调研该系统有如下功能:(1)对考生填写的报名单进行审查,对合格的考生,编好准考证发给考生,汇总后的报名单送给阅卷站。

(2)给合格的考生制作通知单,将考试科目、时间、地点安排告诉考生。

(3)对阅卷站送来的成绩进行登记;按当年标准审查单科合格者,并发成绩单,对所考专业各科成绩全部合格者发给大专毕业证书。

(4)对成绩进行分类(按地区、年龄、职业、专业、科目等分类)产生相应统计表
(5)查询考生可按准考证号随时查询自己的各科成绩
试根据要求画出系统的用例图
3、某图书馆借阅系统有以下功能:
(1)借书:根据读者的借书证查询读者档案,若借书数目未超过规定数量,则办理借阅手续(修改库存记录及读者档案),超过规定数量者不予借阅。

对于第一次借阅者则直接办理借阅手续。

(2)还书:根据读者书中的条形码,修改库存记录及读者档案,若借阅时间超过规定期限则罚款。

请对以上问题,画出数据流图
4、某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。

(2)报社下属多个发行站,每个站负责收集登陆订单,打印收款凭证等事务。

(3)报社负责分类并统计各个发行站送来的报刊订阅信息。

请就比需求建立对象模型,并画出系统的用例图。

相关文档
最新文档