软件工程导论答案(版)
《软件工程导论》参考答案
参考答案(范村长下载的)第1章一、选择题1. D2. C3. B4. D5. B6. A7. D二、填空题1. 程序文档数据2. 抽象模块化信息隐蔽局部化一致性完备性可验证性3. 问题定义可行性研究需求分析4. 软件生命周期模型顺序性依赖性5. 制定计划风险分析实施工程客户评价6. 结构化分析结构化设计结构化程序设计数据流自顶向下,逐步求精功能的分解与抽象三、思考题1. 答:软件产品是一种无形的逻辑产品,是人们脑力劳动的结晶。
软件产品只能以程序、数据和文档的形式出现。
其存储介质是磁盘、磁带或光盘。
通过计算机的执行才能体现出来。
与硬件产品的制造不同,软件产品的成本主要花在研制上,而产品的制造实质上是所开发产品的拷贝。
软件产品不会像硬件产品一样磨损,但仍然需要维护,而且维护的成本很高。
软件产品的开发主要靠脑力劳动,所以产品研制的成本很高,很难像硬件产品那样实现工业化生产。
2. 答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件的日益增长的需求;如何维护数量不断膨胀的软件。
具体来说,软件危机主要有以下一些典型表现。
对软件开发成本和进度的估计常常很不准确。
用户对所交付的软件系统不满意的现象时有发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件文档资料通常不完整、不合格。
软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上日益增长的软件需求。
3. 答:软件工程的基本目标是在给定的成本、进度等条件下,开发出满足用户需求的软件产品。
简单来说,也就是要成功地建造一个大型软件系统。
软件项目的成功主要是要达到以下几个目标:付出较低的软件开发成本;达到用户所要求的软件功能;取得较好的软件性能;所开发的软件易于移植、可重用性好;需要较低的软件维护费用;能按时完成开发任务,及时交付使用;软件工程面临的主要问题是:软件费用、软件可靠性、软件维护、软件生产率和软件重用等。
(完整版)软件工程导论(第六版)张海藩课后习题部分答案
第一章1-1 什么是软件危机?是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1-3 什么是软件工程?是指导计算机软件开发和维护的一门工程学科。
1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
目前使用得最广泛的软件工程方法学(2种):1. 传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
1-6 什么是软件过程?它与软件工程方法学有何关系?z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。
软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。
瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。
适用中小型项目。
快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。
软件工程导论习题解答
7-4 (2)假设有一个由1000行FORTRAN语句构成的程序(经编译后大约 有5000条机器指令),估计对其进行测试期间将发现多少个错 误?为什么?
(3)设计下列伪码程序的语句覆盖和路径覆盖测试用例:
START
INPUT (A,B,C)
IF A>5
THEN X=10
ELSE X=1
COMMENT: PROGRAM SEARCHES FOR FIRSTN REFERENCES
TO A TOPIC IN AN INFORMATION RETRRIEVAL
SYSTEM WITH TOTAL ENTRIES
INPUT N
INPUT KEYWORD(S) FOR TOPIC
② 使3个判定表达式之值全为真 输入:A=20,B=40,C=60 预期的输出:X=10,Y=20,Z=30
路径覆盖的测试用例
① 3个判定表达式之值全为假 输入:A=1,B=1,C=1 预期的输出:X=1,Y=2,Z=3
② 3个判定表达式依次为假、假、真 输入:A=1,B=1,C=60 预期的输出:X=1,Y=2,Z=30
T
打印出“无 匹配”
存入缓冲区
停止
F
MATCH=N
T
(2)这个程序是非结构化的。因为在流程图中“印
出缓冲区的内容”这个处理框有两个入口;此外,循 环结构有两个出口:I≤T为假和MATCH=N为真时都结 束循环。
(3)仅用3种控制结构的等价的结构化程序的伪码如下:
INPUT N INPUT KEYWORD(S) FOR TOPIC I=0 MATCH=0 DO WHILE(I≤T) and (MATCH<N)
软件工程导论张海藩课后习题答案(完整版)
作业及解答(第4章)
其中, ✓符号∷=表示定义为; ✓符号[...]表示可选项; ✓符号a|b表示a或b。 假设有这样一个有穷状态机:以一串字符为输入,判断字符 串中是否含有合法的浮点二进制数。试对这个有穷状态机进 行规格说明。
作业及解答(第4章)
该有穷状态机的初态是“等待字符串输人”。在初态若接收 到字符十、或字符一、或二进制位,则进人“输人尾数” 状态;在初态若接收到其他字符,则进人终态“非浮点二 进制数”。在“输人尾数”状态若接收到二进制位,则保 持该状态不变;若接收到字符 E ,则进人“等待输人指数 ”状态;若接收到其他字符,则进人终态“非浮点二进制 数”。在“等待输人指数”状态若接收到字符+、或字符 一、或二进制位,则进人“输人指数”状态;若接收到其 他字符,则进人终态“非浮点二进制数”。在“输人指数 ”状态若接收到二进制位,则保持该状态不变;若输人其 他字符,则进人终态“非浮点二进制数”;若输人结束, 则进人终态“浮点二进制数”。
E2 病人
F2生理信号
E3 时钟
F3日前、时间
F5安全范围 D2患者安全范围
P2 分析信号
危及病人信息
P3 产生警告信息
F2生理信号
F4警告信息
P1 接收信号
F2生理信号
E1 护士
P4 定时取样 生理信号
定时的生理信号 F6日志
P5 更新日志
D1患者日志
E1 护士
F6日志 F1要求报告
P6 产生病情报告
(3) 假设在1995年存储器字长为32位,一名程序员每天可 开发出30条指令,程序员的月平均工资为6000美元,重 复(1)、(2)题。
作业及解答(第1-2章)
(1)在1985年对计算机存储容量的需求,估计是
(完整)软件工程导论第版的关于课后习题答案
(完整)软件工程导论第版的关于课后习题答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)软件工程导论第版的关于课后习题答案)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)软件工程导论第版的关于课后习题答案的全部内容。
《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机?“软件危机”是指计算机软件的“开发”和“维护"过程中所遇到的一系列“严重问题”.这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。
“软件危机”包含两方面的问题:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。
它们有以下表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势.出现软件危机的原因(1)开发人员与客户认识之间的矛盾(2)开发人员能力与开发目标之间的矛盾(3)预估与实际工作量之间的矛盾(4)客户认识的提高与软件维护之间的矛盾(5)遗产系统与实施软件之间的矛盾2.假设自己是一家软件公司的总工程师,当把图1。
1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?"应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成"是在引入变动,当然付出的代价更高。
《软件工程导论》课后习题详细答案
《软件工程导论》课后习题详细答案第一章软件工程概论1.什么是软件危机?软件危机是指在运算机软件的开发和爱护过程中所遇到的一系列严峻咨询题。
这些咨询题表现在以下几个方面:(1)用户对开发出的软件专门难中意。
(2)软件产品的质量往往靠不住。
(3)一样软件专门难爱护。
(4)软件生产效率专门低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估量。
(7)软件技术的进展远远满足不了运算机应用的普及与深入的需要。
2.什么缘故会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正明白得软件产品是一个完整的配置组成。
造成开发中制定打算盲目、编程草率,不考虑爱护工作的必要性。
(2) 软件本身方面,关于运算机系统来讲,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件爱护困难。
(3) 专门是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估量、爱护困难等一系列咨询题更为突出,技术的进展差不多远远不能适应社会需求。
3.如何样克服软件危机?(1) 充分吸取和借鉴人类长期以来从事各种工程项目中积存的行之有效的有效原理、概念、技术与方法,专门是吸取几十年来人类从事运算机硬件研究和开发的体会教训。
在开发软件的过程中努力作到良好的组织,严格的治理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在运算机系统早期进展时期形成的一些错误概念和作法。
(3) 按照不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个时期使用的软件工具集合成一个整体,形成一个专门好的软件开发支环环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织治理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、爱护到剔除的全过程。
软件工程导论课后习题答案
软件工程导论课后习题答案1. 什么是软件工程?软件工程是将系统化、规范化的方法应用于软件的开发、运行和维护的一门学科。
它包括软件需求分析、软件设计、软件开发、软件测试、软件维护等工作,旨在提高软件开发过程的效率和质量。
2. 软件生命周期是什么?软件生命周期是指软件从概念到退役的整个过程。
它通常包括以下阶段:需求分析、软件设计、编码、测试、部署、运维和退役。
3. 软件需求分析的目的是什么?软件需求分析的目的是理解客户和用户的需求,明确软件系统应具备的功能和性能要求,并以此为基础,为后续的设计、开发和测试工作提供准确的需求规格说明。
4. 软件设计的原则有哪些?•模块化原则:将软件划分为多个模块,每个模块负责一个特定的功能,以实现代码的复用和可维护性的提高。
•高内聚低耦合原则:模块内部的元素之间高度相关,而模块之间的依赖关系要尽量降低。
•封装原则:隐藏实现细节,将内部数据和操作通过接口封装起来,提供对外的访问方式。
•可读性原则:代码要易于阅读和理解,一致的命名和简洁的代码结构能提高代码的可读性。
•可测试性原则:设计要有良好的可测试性,便于进行单元测试和集成测试。
5. 软件开发过程中的常用模型有哪些?•瀑布模型:按照线性流程顺序依次完成需求分析、设计、开发、测试和部署等阶段。
•敏捷开发模型:采用迭代和增量的方式进行开发,快速响应需求变化。
•喷泉模型:将软件生命周期看做是连续不断的循环,在每个循环内快速迭代开发、测试和部署。
6. 软件测试的目的是什么?软件测试的目的是为了发现软件中的缺陷和错误,并尽早地修复这些问题,以确保软件的质量和可靠性。
通过测试,可以评估软件的功能是否满足需求,并验证软件是否在各种工作环境中正常工作。
7. 软件维护的类型有哪些?•纠错性维护:修复软件中的错误和缺陷。
•适应性维护:适应环境的变化,如操作系统升级、硬件设备更换等。
•完善性维护:根据用户的反馈和需求对软件进行改进和增强。
•预防性维护:对软件进行优化和调整,以提高性能和可维护性。
《软件工程导论》试题及答案
《软件工程导论》试题及答案软件工程导论试题及答案一、选择题1. 软件工程是一门多学科交叉的学科,其中包括以下哪些学科?A. 计算机科学B. 电子工程C. 数学D. 管理学E. 心理学答案:A、B、C、D2. 软件工程的目标是什么?A. 提高软件开发效率B. 提高软件质量C. 提高软件可靠性D. 提高软件维护性E. 提高软件安全性答案:A、B、C、D、E3. 软件过程模型是指软件开发过程中的一种抽象表示方法,常用的软件过程模型有哪些?A. 瀑布模型B. 增量模型C. 螺旋模型D. 敏捷模型E. 喷泉模型答案:A、B、C、D4. 以下哪个开发方式可以在软件开发过程中提供更多的灵活性和快速反馈?A. 瀑布模型B. 增量模型C. 螺旋模型D. 敏捷模型答案:D5. 软件需求分析的主要任务是什么?A. 确定软件的功能和性能需求B. 定义软件系统的架构C. 设计软件的用户界面D. 实施软件测试答案:A二、填空题1. 软件工程的核心目标是提高软件的 ______ 和 ______ 。
答案:质量、可靠性2. 软件工程中的四个基本活动是需求分析、设计、 ______ 和______ 。
答案:实现、维护3. 瀑布模型的五个阶段依次是:需求分析、设计、编码、 ______ 和 ______ 。
答案:测试、维护4. “快速原型”开发模型注重 ______ 。
答案:用户参与5. 敏捷开发模型的核心原则是 ______ 。
答案:迭代开发三、简答题1. 请简要说明为什么软件工程是一门多学科交叉的学科?答:软件工程在开发软件的过程中需要结合计算机科学的知识来实现软件的功能,同时也需要借鉴电子工程的设计思想来构建软件系统的架构。
此外,软件工程还应用了数学方法来进行软件需求分析和软件质量保证,同时也需要管理学的知识来进行项目管理和团队协作。
2. 请简述螺旋模型在软件开发过程中的应用场景。
答:螺旋模型适用于大型复杂项目或对安全性要求较高的项目。
软件工程导论第六章课后答案
计算机科学与技术第六章习题答案4、图给出的程序流程图代表一个非结构化的程序,问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。
(3)在(2)题的设计中使用附加的标志变量flag了吗?若没有,再设计一个使用flag的程序;若用了,再设计一个不用flag的程序。
图一个非结构化程序答:(1)图示程序的循环控制结构有两个出口,不符合结构程序的定义,因此是非结构化的程序。
(2)设计的等价结构化程序盒图如下所示:(3)在第(2)题中没有使用标志变量flag,设计使用附加的标志变量flag,将上述程序改成等价的结构化程序,如下盒图所示:7、某交易所规定给经纪人的手续费计算方法如下:总手续费等于基本手续费加上与交易中的每股价格和股数有关的附加手续费。
如果交易总金额少于1000元,则等于手续费为交易金额的%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额的5%,再加34元;如果交易总金额超过10000元,则基本手续费为交易金额的4%加上134元。
当每股售价低于14元时,附加手续费为基本手续费的5%,除非买进、卖出的股数不是100的倍数,在这种情况下附加手续费为基本手续费的9%。
当每股售价在14元到25元之间时,附加手续费为基本手续费的2%,除非交易的股数不是100的倍数,在这种情况下附加手续费为基本手续费的6%。
当每股售价超过25元时,如果交易的股数零散(即,不是100的倍数),则附加手续费为基本手续费的4%,否则附加手续费为基本手续费的1%。
要求:(1)用判定表表示手续费的计算方法。
(2)用判定树表示手续费的计算方法。
答:(1)用判定表表示手续费的计算方法如下所示:(2)用判定树表示手续费的计算方法如下所示:8、画出下列伪码程序的流图,计算它的环形复杂度。
你觉得这个程序的逻辑有什么问题吗?CEXAMPLELOOP:DOWHILEZ>0A=B+1IFA>10THENX=AELSEY=ZEND IFIFY<5THENPRINTX,YELSEIFY=2THENGOTOLOOPELSEC=3ENDIFENDIFG=H+RENDDOIFF>0THENPRINTGELSEPRINTKENDIFSTOP答:(1)该伪码程序的流程图及程序流图如下:环形复杂度V(G)=流图中的边数-流图中的结点数+2=19-14+2=7=流图中的区域数=流图中判定结点数目+1=6+1=7(2)有问题,算法中控制最外层循环的变量Z没有初始化,且在该循环内部未出现任何改变Z取值的语句。
软件工程导论试题答案
第一章4.什么是软件工程?它与软件工程方法学有何关系?软件过程是为了开发高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件过程定义了运用技术方法的顺序,应该交付的文档资料,为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。
软件过程是软件工程方法学的3个重要组成部分之一。
2、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果要求精确到小数点后4位。
一旦实现并测试完成后,该产品将被抛弃。
你打算选用哪种软件生命周期模型?说明你做出选择的理由。
该软件的要求很明确,实现开平方算法的功能也很成熟,因此既无需通过原型来分析需求也无需用原型来验证设计方法。
此外,一旦实现并测试完成后,该产品将被抛弃,因此无需使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。
综上所述,为了开发这个软件,使用瀑布模型就可以了。
8.假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本的开发。
由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。
你打算采用哪种软件生命周期模型?为什么?答:对这个项目的一个重要要求是,严格按照已对外公布的日期完成产品开发工作,因此,选择生命周期模型时应该着重考虑哪种模型有助于加快产品开发的进度。
使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。
这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得出三点结论:第一,旧版本想当于一个原型,通过收集用户对旧版本的反应,较容易确定对新版本的需求,没有必要再专门建立一个原型系统来分析用户的需求;第二,该公司的软件工程师对子处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版本字处理软件所需要的技术水平;第三,该软件收到广大用户的喜爱,今后很可能还要开发更新版本,因此,应该把该软件的体系结构设计成开放式,以利于今后的改进和扩充。
2020年智慧树知道网课《软件工程导论(江西师范大学)》课后章节测试满分答案
第一章测试1【单选题】(2分)下列哪个时期不是软件生存期三个时期中的内容()。
A.维护时期B.定义时期C.开发时期D.计划时期2【单选题】(2分)软件生存周期包括可行性分析的项目开发计划、需求分析、概要设计、详细设计、编码、()、维护等活动。
A.应用B.检测C.其他答案均不正确D.测试3【单选题】(2分)软件是一种()产品。
A.消耗B.有形C.逻辑D.物质4【单选题】(2分)面向对象技术特别强调的是()。
A.结构化编程B.程序结构C.对象的使用方式D.对象的数据结构5【单选题】(2分)螺旋模型最大的优点是()。
A.与用户沟通方便B.风险驱动C.快速建立模型D.需求灵活变动6【单选题】(2分)RUP中的软件开发生命周期在时间上被分解为四个顺序的阶段,分别是()。
A.初始、分析、构造、维护B.初始、细化、构造、维护C.初始、细化、构造、交付D.分析、细化、构造、交付7【单选题】(2分)软件开发过程模型不包括()。
A.对象模型B.增量模型C.瀑布模型D.喷泉模型8【判断题】(1分)一个成功的项目唯一提交的就是运行程序。
()A.错B.。
软件工程导论课后习题答案完整版
第一章●软件工程方法学(3个要素):通常把软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型。
三要素:方法、工具和过程。
●软件生命周期模型–瀑布模型:优点:1.可强迫开发员采用规范的方法2.严格地规定了每个阶段必须提交的文件3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
–缺点:传统的瀑布模型过于理想化,是由文档驱动的。
–快速原型模型:通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的方法,获取用户真正的需要。
–增量模型:优点:能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充实的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
–螺旋模型:优点:对可选方案和约束条件的强调有利于已有软件的重用;减少了过多测试;维护只是螺旋模型中另一个周期。
1-1 什么是软件危机? 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1-2 什么是软件工程?是指导计算机软件开发和维护的一门工程学科。
1-3 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
目前使用得最广泛的软件工程方法学(2种):1.传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
2.面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
1-4 软件生命周期划分成哪些阶段●软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。
1.软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析2.开发时期:总体设计、详细设计、编码和单元测试、综合测试。
软件工程导论习题答案
2.需求分析的基本任务是什么?
准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。
3.怎样建立目标系统的逻辑模型?要经过哪些步骤?
建立目标系统的逻辑模型的过程也就是数据流图的分解过程。它的导出过程如图:
Hale Waihona Puke 4.什么是结构化分析?它的结构化体现在哪里?
结构化分析:使用数据流程图、数据字典、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档-需求规格说明书。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
4.构成软件项目的最终产品:
应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?
软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
6.软件生存周期为什么划分成阶段?
(1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。
(2) 可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。
(3) 使软件开发的全过程以一种有条不紊的方式进行,保证软件的质量,特别是提高了软件的可维护性。
结构化体现在将软件系统抽象为一系列的逻辑加工单元,各单元之间以数据流发生关联。
5.软件需求规格说明书由哪些部分组成?
组成包括:
(1) 引言:编写目的、背景说明、术语定义及参考资料等。
(2) 概述主要功能、约束条件或特殊需求。
(3) 数据流图与数据字典。
(4) 用户接口、硬件接口及软件接口。
软件工程导论习题及答案
一.选择题1。
软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及(B)A).用户B).需求审评C).总结D).都不正确2。
在原型法中称(A)为用户/设计者,开发人员根据用户需求不断修改原型,直到满足用户要求为止。
A).用户B).开发人员C).系统分析员D).程序员3。
下面不属于软件工程的3个要素是(D)A).工具B).过程C).方法D).环境4检查软件产品是否符合需求定义的过程称为(A)A).确认测试B).集成测试C).验证测试D).验收测试5.数据存储和数据流都是(D),仅仅是所处的状态不同。
A).分析结果B).事件C).动作D).数据6。
数据流图和(C)共同组成系统的逻辑模型。
A).HIPO图B).PD)LC).数据字典D).层次图7。
数据元素组成数据的方式的基本类型(D)A).顺序B).选择C).循环D).以上全部8。
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是(A)。
A).控制流B).加工C).数据存储D).源和潭9。
结构化分析方法就是面向(B)的自顶向下逐步求精进行需求分析的方法。
A).目标B).数据流C).功能D).对象10。
通过(B)可以完成数据流图的细化。
A).结构分解B).功能分解C).数据分解D).系统分解11。
下面不属于软件工程原则的是(C)A).抽象B).模块化C).自底向上D).信息隐蔽12。
(D)是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可以通过名字来访问。
A).模块化B).抽象C).精化D).模块13。
(C)是指让一些关系密切的软件元素在物理上彼此靠近。
A).信息隐蔽B).内聚C).局部化D).模块独立14。
面向数据流的设计方法把(D)映射成软件结构。
A).数据流B).系统结构C).控制结构D).信息流15。
程序流程图(PDF)中的箭头代表的是(B)。
软件工程导论答案
软件工程导论答案1. 软件是()A.设计开发的(正确答案)B.程序员编写代码实现的C.项目经理组织实施的D.软件项目组制造的2. 与硬件产品相比()A.软件可以用备用部件替换B.软件会退化(正确答案)C.软件会磨损D.软件失效遵守盆形曲线3. 软件工程是一种层次化的技术,支持软件工程的根基在于()A.软件工程过程模型B.软件工程工具C.软件生命周期模型D.质量关注点(正确答案)4. “软件危机”是指()A.计算机病毒的出现B.软件开发和软件维护中出现的一系列问题(正确答案)C.利用计算机系统进行经济犯罪D.人们过分迷恋计算机系统5. 下列那种做法符合软件工程师的职业道德?()A.不在私人电脑上编辑公司的项目源代码和文档。
(正确答案)B.把公司项目中完全由自己开发的模块封装为小软件,发布到网络牟利。
C.过于夸大自己的技术水平,从而得到一份超出自己能力范围的工作。
D.在客户现场进行技术维护休息期间,在客户的电脑上打游戏。
6. 构成软件工程基础的是()A.工具B.设计C.方法D.过程(正确答案)7. 对软件的描述正确的是()A.软件质量依赖于程序员的个人水平。
B.软件测试是一项比较简单的工作。
C.具有技术和文化的双重属性。
(正确答案)D.软件是没有附加价值的产品。
8. 下列对软件的描述错误的是()A.软件的文档是用于记录软件的活动和中间制品,如需求规约、源程序等。
B.软件=程序+数据+文档,为了突出其功能和性能,可扩展为:软件=知识+程序+数据+文档C.能够完成预定的功能和性能,并对相应数据进行加工的程序,及描述程序、操作的文档。
D.软件交付的形式为可执行软件。
(正确答案)9. 软件过程模型中定义的框架活动是 ( )A.必须符合标准B.必须执行的C.可以迭代的(正确答案)D.团队每个成员必须参与的10. 瀑布模型也称为经典生命周期模型 ( )A.是增量的模型B.强调设计的模型C.是迭代的模型D.是顺序的模型(正确答案)11. 统一过程(UP) ( )A.不追求架构的稳定B.是迭代和增量式模型(正确答案)C.适用于所有软件工程D.是不强调文档的12. 过程是多种多样的,下面不属于过程共同活动的是( )A.计划B.部署C.建模D.分析(正确答案)13. 有关增量模型,下面说法正确的是( )A.是一种整体开发的模型B.每个增量的开发是嵌套式增量方式C.在前面增量的基础上开发后面的增量,采用迭代的方式(正确答案)D.适用于技术成熟的项目14. 关于原型模型,下面说法正确的是( )A.原型模型里没有迭代方式B.适用于小而可用的项目C.容易让设计者在质量和原型间有所折中,让客户意识不到一些质量问题(正确答案)D.快速应用开发模型(RAD)是一个原型过程模型15. 关于敏捷模型,下面说法错误的是( )A.需要开发者和客户之间积极持续的交流。
《软件工程导论》试题及答案
一, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分)Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×)PAD图在设置了五种基本控制结构后,还允许递归调用. (×)为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×)当验收测试通过,软件开发就完成了.(×)完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)在进行总体设计时应加强模块间的联系.(×)系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×)用黑盒法测试时,测试用例是根据程序内部逻辑设计的.(×)在程序调试时,找出错误的位置和性质比改正该错误更难.(√)以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√)二,单项选择题(每小题2分,共10分)试判断下列叙述中,哪个(些)是正确的(D)a,软件系统中所有的信息流都可以认为是事务流b,软件系统中所有的信息流都可以认为是变换流c,事务分析和变换分析的设计步骤是基本相似的A,a B,b C,c D,b和c进行需求分析可使用多种工具,但(B)是不适用的.A,数据流图B,PAD图C,判定表D,数据词典在详细设计阶段,经常采用的工具有(A).A,PAD B,SA C,SC D,DFD详细设计的结果基本决定了最终程序的(C)A,代码的规模B,运行速度C,质量D,可维护性使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准.A,程序的内部逻辑B,程序的复杂程度C,该软件的编辑人员D,程序的功能三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.) (ABCD)可以作为模块.A,子程序B,函数C,过程D,编译文件下面哪些测试属于黑盒测试(BCD).A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于度量效益方法的是(ABCD).A,货币的时间价值B,投资回收期C,收入D,投资回报率软件维护的策略包括(BCD).A,定期检测维护B,改正性维护C,适应性维护D,完善性维护下列属于软件测试过程的是(ABE).A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试四,简答题(每题6分,共24分)耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱请举例说明什么是多态,什么是重载答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法.重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别.例: public class A{int age;String name;public void setValue(int i) {age=i; }public void setValue(String s) {name=s; }什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量. 面向对象的测试和传统开发方法的测试有什么不同答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.五,分析应用题(20分)求一组数组中的最大数, 数组表示为A(n) ,n=1,2……n的自然数.(10分)请画出程序流程图(4分)请画出该算法的N-S图(3分)请用PAD图来表示该算法(3分)答案:2. 下面是某程序的流程图:(10分)计算它的环路复杂性.(3分) 答案:7为了完成基本路径测试,求它的一组独立的路径.(7分)答案:路径1: (0)—①—(13)—(19)路径2: (0)—②—③—(14)—(19)路径3: (0)—②—④—⑤—(15)—(19)路径4: (0)—②—④—⑥—⑦—(16)—(19)路径5: (0)—②—④—⑥—⑧—⑨—(17)—(19)路径6: (0)—②—④—⑥—⑧—⑩—(11)—(18)—(19)路径7: (0)—②—④—⑥—⑧—⑩—(12)—(19)六,阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内.(12分) [说明]某基于微处理器的住宅安全系统,使用传感器(如红外探头,摄像头等)来检测各种意外情况,如非法进入, 火警,水灾等.房主可以在安装该系统时配置安全监控设备(如传感器,显示器,报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互.在安装过程中,系统给每个传感器赋予一个编号(即id)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码.当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息.加工4的细化图[问题1](3分)数据流图1(住宅安全系统顶层图)中的A和B分别是什么答案:A:传感器: B:报警器[问题2](3分)数据流图2(住宅安全系统第0层DFD图)中的数据存储"配置信息"会影响图中的哪些加工答案:监控传感器,显示信息和状态[问题3](6分)将数据流图3(加工4的细化图)中的数据流补充完整,并指明加工名称,数据流的方向(输入/输出)和数据流名称.答案: 4.4"读传感器"添加输入数据流"传感器状态"4.1"显示格式"添加输出数据流"传感器数据"4.5"拨号"添加输出数据流"电话拨号"七,请以自己的实际体会说明项目管理的意义和作用.(8分)答案:(要点)软件项目管理就是对软件工程项目开发过程的管理.具体地说,就是对整个软件生存期的一切活动进行管理,以达到提高生产率,改善产品质量的目的.软件项目管理的职能:(1)制定计划:规定待完成的任务,要求,资源,人力和进度等.(2)建立项目组织:为实施计划,保证任务的完成,需要建立分工明确的责任机构.(3)配备人员:任用各种层次的技术人员和管理人员.(4)指导:鼓励和动员软件人员完成所分配的任务.(5)检验:对照计划或标准监督检查实施的情况.。
软件工程导论(第六版)课后习题答案
软件工程导论(第六版)课后习题答案软件工程导论(第六版)课后习题答案1. 简答题1.1 软件是如何演变而来的?软件起源于计算机的发展。
最初,计算机只能执行硬件内置的指令,而随着计算机的发展,人们开始意识到可以编写程序来控制计算机的行为。
因此,软件就诞生了。
从最初的汇编语言、机器语言编写程序,到高级编程语言的出现,软件也逐渐从简单的指令集合演变为复杂的程序系统。
同时,计算机应用领域的拓展也催生了更多类型的软件,如操作系统、数据库管理系统、图形界面等。
软件工程导论旨在帮助人们理解和应对软件开发过程中的种种问题和挑战。
1.2 简述软件危机的原因以及软件工程的解决途径。
软件危机指的是在软件开发过程中出现的一系列问题和挑战。
其原因主要包括:(1)软件开发过程中需求不明确或者需求频繁变更;(2)软件项目规模庞大,组织和管理困难;(3)软件开发中缺乏标准化的工程方法和规范;(4)软件开发中技术不成熟、人员培训和素质不足等。
为了应对软件危机,软件工程提出了一系列解决途径:(1)引入系统化的软件开发过程,如瀑布模型、迭代模型、敏捷开发等;(2)规范化软件开发活动,如需求分析、软件设计、编码、测试、维护等;(3)建立软件开发的标准和规范,如ISO 9000、CMMI等;(4)提高软件开发人员的专业水平,加强软件工程教育和培训。
1.3 软件工程活动的核心内容是什么?软件工程活动的核心内容包括需求分析、软件设计、编码、测试和维护等。
(1)需求分析:确定用户需求,定义软件的功能和性能要求。
(2)软件设计:制定软件的体系结构,并将需求转化为具体的设计方案。
(3)编码:根据设计方案,使用编程语言实现软件的功能。
(4)测试:验证软件是否符合需求和设计的要求,发现并修复潜在的问题。
(5)维护:对软件进行改进、优化和修复,确保软件长期稳定运行。
2. 应用题2.1 简述软件生命周期模型,并列举至少两种常见的软件生命周期模型。
软件生命周期模型指的是软件开发过程中各个阶段的组织和安排方式,常见的软件生命周期模型包括:(1)瀑布模型:按照固定的顺序依次进行需求分析、设计、编码、测试和维护等活动。
软件工程导论课后习题答案.
第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。
软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。
常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。
而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。
这些都降低了开发商的信誉,引起用户不满。
(2) 用户对已完成的软件不满意的现象时有发生。
(3) 软件产品的质量往往是靠不住的。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。
(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。
(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。
软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。
(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。
(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。
二、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机?1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。
软件工程的本质特征:(1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题是分解问题,控制复杂性(3) 软件是经常变化的,开发过程中必须考虑软件将来可能的变化(4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具(5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户(7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径:(1) 对计算机软件有一个正确的认识(软件≠程序)(2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目(3) 推广使用在实践中总结出来的开发软件的成功技术和方法(4) 开发和使用更好的软件工具三、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。
《软件工程导论》课后习题详细答案
数字零=0 3位数字=3{数字}3 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9] 6. 可行性研究报告的主要内容? 可行性分析的结果是可行性研究报告,内容包括:(1) 系统概述:说明开发的系统名称,提出单位 和开发单位。 (2) 可行性研究的前提:系统目标; 要求; 约束和限制; 可行性研究的基本准则等。 (3) 对 现有系统的分析:处理流程,图示说明现有系统的处理流程和数据流程;现有系统存在的问题。 (4) 系统 需求:主要功能;主要性能及其要求;操作要求;信息要求;限制性要求。(5) 建议系统:系统目标;处理 流程;系统结构,功能,性能;系统技术可行性;投资和效益分析;操作可行性;法律可行性。(6) 其它可 选方案:与国内外同类型方案的比较; 提出一两个可行性方案供论证和探讨。 (7) 制定下一阶段的预算。 (8) 结论性意见:由用户方、设计方和投资方共同签署意见。 第三章 需求分析 习题答案 //3至3个数字
M 4080e 0.28(19851960) 4080e 7 4,474,263(字)
P 0.048 0.7219851974 4474263
5, 789(美元)
(2)如果一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。 在1985年一名程序员每天可开发出10条指令,如果每月有20个工作日,则每人每月可开发出10×20条指 令。 为了开发出4474263条指令以装满存储器,需要的工作量是:
M 4080e 0.28(19951960)
73,577,679(字)
如果一条指令为一个字长,则为使存储器装满程序共需73,577,679条指令。
7,127(美元)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
www第一章●软件工程方法学(3个要素):通常把软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型。
三要素:方法、工具和过程。
●软件生命周期模型瀑布模型:优点:1.可强迫开发员采用规范的方法2.严格地规定了每个阶段必须提交的文件3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
–缺点:传统的瀑布模型过于理想化,是由文档驱动的。
快速原型模型:通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的方法,获取用户真正的需要。
增量模型:优点:能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充实的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
螺旋模型:优点:对可选方案和约束条件的强调有利于已有软件的重用;减少了过多测试;维护只是螺旋模型中另一个周期。
1-1 什么是软件危机?是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1-2 什么是软件工程?是指导计算机软件开发和维护的一门工程学科。
1-3 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
目前使用得最广泛的软件工程方法学(2种):1.传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
1-4 软件生命周期划分成哪些阶段●软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。
1.软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析2.开发时期:总体设计、详细设计、编码和单元测试、综合测试。
3.维护时期:主要任务是使软件持久地满足用户的需要。
1-5 什么是软件过程?它与软件工程方法学有何关系?●软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤●软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型1-6 传统“瀑布模型”的主要缺陷是什么?试说明改进的方法。
传统的瀑布模型过于理想化了。
增加“反馈环”第二章●可行性研究的目的:就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
可行性研究的任务:1.进一步分析和澄清问题;2.导出系统的逻辑模型;3.从逻辑模型出发,提出若干种系统实现方案4.研究每种实现方案的可行性:●技术上的可行性——使用现有的技术能实现这个系统吗?●经济上的可行性——这个系统的经济效益能超过它的开发成本吗?(投资与效益)●操作可行性——系统的操作方式在这个用户组织内行得通吗?●社会、政策允许的可行性5.为每个可行的解决方案制定一个粗略的实现进度6.对以后的行动方针提出建议方法:1.系统流程图2.数据流图:(DFD)符号数据流3.数据字典:是关于数据的信息的集合,也就是对数据流图中饮食的所有元素的定义的集合。
数据流图与数据字典共同构成系统的逻辑模型。
4.成本/效益分析5.数据流图–定货系统P32–习题2第2题P43(银行储蓄系统)–习题2第3题P43(机票预订系统)–习题2第4题P43(医院监护系统)6.数据定义1、顺序+ 2、选择〔 | 〕3、重复下限{}上限–定货系统P39–习题2第5题P442-1 应该从哪些方面研究目标系统的可行性?●技术上的可行性——使用现有的技术能实现这个系统吗?●经济上的可行性——这个系统的经济效益能超过它的开发成本吗?(投资与效益)●操作可行性——系统的操作方式在这个用户组织内行得通吗?●社会、政策允许的可行性2-2 为方便储户,某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。
请画出此系统的数据流图。
某航空公司拟开发一个机票预定系统。
旅行社把预订机票的旅客信息(姓名、性别…等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统核对无误即印出机票给旅客。
2-3 北京某高校可用的电话号码由以下几类:校内电话号码由4位数字组成,第一位数字不是零;校外电话又分为本市电话和外地电话两类,拨校外电话先拨0,若是本地电话再接着拨8位数字(固话第一位不是0)或11位数字(移动电话第一位为1);若是外地电话,则拨3位区码再拨8位电话号码(固话第一位不是0),或拨0再拨11位数字(移动电话第一位为1)。
请用数据定义的方法,定义上述电话号码。
电话号码=[校内号码|校外号码] 校内号码=非0数字+3{数字}3 校外号码=0+[本地号码|外地号码] 本地号码=[固话号码|手机号码] 固话号码=非0数字+7{数字}7 手机号码=1+10{数字}10外地号码= [外地固话号码|外地手机号码] 外地固话号码=3{数字}3+固话号码 外地手机号码=0+手机号码 非0数字=[1|2|3|4|5|6|7|8|9]第三章需求分析的准则:1、必须并描述的信息域,根据这条准则应该建立数据模型。
2、必须定义软件应完成的功能,这条准则要求建立功能模型。
3、必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。
4、必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。
需求分析的任务(P46)1、确定对系统的综合要求。
2、分析系统的数据要求。
3、导出系统的逻辑模型。
4、修正系统开发计划。
● 方法– 实体-联系图● 教案管理系统P54● 习题3第3题P63 (银行储蓄系统)课程号课名 学时 学分学号姓名 性别 系 年级教工号姓名 性别 职称 职务●习题3第5题P63 (医院监护系统)–数据流图–状态转换图●电话系统P57●习题3第6题P63 (复印机)第五章●总体设计的任务划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等设计软件的结构。
也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。
●总体设计过程两个阶段1.系统设计阶段,确定系统的具体实现方案;2.结构设计阶段,确定软件结构。
●总体设计过程9个步骤1设想供选择的方案 2选取合理的方案 3推荐最佳方案 4功能分解 5设计软件结构 6 设计数据库7制定测试计划 8书写文档 9审查和审核●低耦合(5种类型)1.数据耦合:数据传递2.控制耦合:控制信息传递3.特征耦合:传过多的信息给被调用模块4.公共环境耦合:因全局变量,共享通信区5.内容耦合:诸如一个模块访问另一个模块内部●高内聚(7种类型)功能内聚10分顺序内聚 9分通信内聚7分过程内聚5分时间内聚3分逻辑内聚1分偶然内聚 0分●面向数据流的设计方法P95–变换流●患者监护系统(参见习题2第4题) –事务流●用户命令交互子系统(DFD)格式化配机票预订系统(参见习题2第3题)第六章●结构程序设计概念P108如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构进行连接,而且每个代码块只有一个入口和一个出口,则称这个程序是结构化的●结构程序设计3种概念类型P1091、经典的结构程序设计只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环着三种基本控制结构2、扩展的结构程序设计还允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构3、修正的结构程序设计还允许使用EXIT(或BREAK)结构方法1、人机界面设计2、过程设计的工具P1143、面向数据结构的设计方法——Jackson方法4、程序复杂程度的定量度量P127–McCabe方法根据程序控制流的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的环形复杂度。
可用三种方法之一来计算复杂性:1.流图中区域的数量对应于环形的复杂度;2.流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的数量,N是流图中节点的数量;3.流图G的环形复杂度V(G)=P+1,其中, P是流图中判定节点的数量–Halstead方法●程序流程图P114–习题六第3题P131STARTIF p THENWHILE q DOFEND DOELSEBLOCKGNEND BLOCKEND IFSTOPFP T●PAD(问题分析)图●判定表P117–行李托运费计算P118–讲课课时津贴计算●判定树P118–行李托运费计算P119–讲课课时津贴计算●过程设计语言(PDLJackson设计方法的步骤(5步)P122–实例P123高考后将考生的基本情况文件(简称考生基本情况文件)和考生高考成绩文件(简称考分文件)合QFGN1 2 3 4 5教授T F F F副教授 F T F F讲师 F F T F助教 F F F T讲座T F F F F50 ×30 ×25 ×20 ×15 ×并成一个新文件(简称考生新文件)。
考生基本情况文件和考分文件都是由考生记录组成的。
为简便起见,考生基本情况文件中的考生记录的内容包括:准考证号、姓名、通讯地址。
考分文件中的考生记录的内容包括:准考证号和各门考分。
合并后的考生新文件自然也是由考生记录组成,内容包括:准考证号、姓名、通讯地址和各门考分。
(2)打开两个输入文件;(3)建立输出文件。
(4)从输入文件中各读一条记录。
(5)生成一条新记录。
(6)将新记录写入输出文件。
(7)关闭全部文件。
把操作和条件分配到程序结构图的适当位置将程序流程图映射为流图P127● 计算环形复杂度P127实例P128-129习题6第8题P132 1: LOOP: DO WHILE Z>0 2: A=B+1 IF A>103: THEN X=A 4: ELSE Y=Z 5: END IF IF Y<56: THEN PRINT X,Y 7: ELSE IF Y=2THEN GOTO LOOP 8: ELSE C=3 END IF 9: END IFG=H+REND DO 10: IF F>011: THEN PRINT G 12: ELSE PRINT R 13: END IF STOP V(G)=6 第七章● 软件测试的概念P140目的:(1)测试是为了发现程序中的错误而执行程序的过程;(2(3)成功的测试是发现了至今为止尚未发现的错误的测试。