软件工程课后习题答案2(精)
作业2(软件工程 含答案)
1. 研究开发资源的有效性是进行(c)可行性研究的一方面。
A. 技术B. 经济C. 社会D. 操作2. 在软件的可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的功能可行性角度考虑的是(B)。
A. 经济可行性B. 技术可行性C. 操作可行性D. 法律可行性3. 在遵循软件工程原则开发软件过程中,计划阶段应该依次完成(B)。
A. 软件计划、需求分析、系统定义B. 系统定义、软件计划、需求分析C. 需求分析、概要设计、软件计划D. 软件计划、需求分析、概要设计4. 技术可行性要解决(D)。
A. 存在侵权否B. 成本-效益问题C. 运行方式可行D. 技术风险问题5. 在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是( D)。
A. 工作阶段间的等待时间B. 生产原型的复杂性C. 参与人员所需的工作站数D. 参与人员之间的通信困难6. 制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是(D)。
A. 组织与管理B. 分析与估算C. 设计与测试D. 规划与调度7. 可行性分析中,系统流程图用于描述(A)。
A. 当前运行系统B. 当前逻辑模型C. 目标系统D. 新系统8. 研究软硬件资源的有效性是进行(A)研究的一方面。
A. 技术可行性B. 经济可行性C. 社会可行性D. 操作可行性9. 可行性研究要进行的需求分析和设计应是(C)。
A. 详细的B. 全面的C. 简化、压缩的D. 彻底的10. 雇员类含有计算报酬的行为,利用面向对象的(A),可以使得其子类专职雇员类和兼职雇员类计算报酬的行为有相同名称,但有不同的计算方法。
A)多态性 B)继承性 C)封装性 D)复用性11. 下面关于UML叙述正确的是(C)。
A)UML是一种建模语言,使用者不能对其扩展B)UML仅适用于系统的分析和设计阶段C)UML是独立于软件开发过程的D)UML仅是一组图形的集合12. 某公司欲开发一个在线交易系统,为了能够精确表达用户于系统的负责交互过程,应采用UML的( A)进行交互过程建模。
软件工程 课后习题答案
第一章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.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。
1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。
它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。
2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。
它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。
2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。
功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。
3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。
3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。
面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。
4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。
4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。
编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。
5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。
软件工程课后习题参考答案
软件工程课后习题参考答案1.简述软件开发的本质。
答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。
P192.简述实施软件开发的基本途径。
答:实施软件开发的基本途径是系统建模。
所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。
P193.简述何谓模型以及软件开发中所涉及的模型。
答:模型是一个抽象。
该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。
软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。
4.简述软件开发所涉及的两大类技术。
答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。
5、简述需求与需求规约的基本性质。
答:需求的基本性质:1)必要的,该需求是用户所要求的。
2)无歧义的,该需求只能用一种方式解释。
3)可测的,该需求是可进行测试的。
4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。
5)可测量的,该需求是可测量的。
需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。
2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。
3)完整的:没有被遗漏的需求。
4)一致的:不存在互斥的需求。
6、简述软件需求的分类。
答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、设计约束和质量属性需求。
P237、举例说明功能需求和非功能需求之间的基本关系。
答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1作用于功能需求1和功能需求38、有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。
软件工程第四版齐治昌课后答案
1、Chapter 11.1 What is Software Engineering? Software engineering is the application of engineering principles and techniques to the development, operation, and maintenance of software systems. It is a discipline that involves the application of scientific and mathematical principles to the design, development, and maintenance of software products. Software engineering focuses on the development of efficient, reliable, and maintainable software systems thatmeet the needs of their users.1.2 What is the Software Life Cycle? The software life cycle is the set of stages that a software product goes through from its conception to its retirement. It typically consists of the following stages: Requirements Analysis, Design, Implementation, Testing, Deployment, Maintenance, and Retirement. Requirements Analysis involves gathering information from stakeholders and users to determine the needs of the software. Design involves creating a plan for the software thatmeets the requirements identified during Requirements Analysis. Implementation involves coding the software according to the plan created during Design. Testing involves verifying that the software works as expected. Deployment involves making the software available to its users. Maintenance involves making changes to the software to fix any bugs or to add new features. Retirement involves removing the software from use and archiving any important data or documents associated with it.1.3 What is the Difference Between Software Engineering and Computer Science?Software engineering and computer science are related disciplines, but they are not the same. Software engineering focuses on the development of software products, while computer science focuses on the study of computers and computing. Software engineering involves the design, development, and maintenance of software systems, while computer science involves the study of algorithms, data structures, and programming languages. Softwareengineering focuses on the practical application of engineering principles and techniques to the development of software products, while computer science focuses on the theoretical aspects of computing.2、Chapter 22.1 What is the System Development Life Cycle?The system development life cycle (SDLC) is a process used by software engineers to develop software products. The SDLC consists of six stages: planning, analysis, design, implementation, testing, andmaintenance. During the planning stage, the software engineer collects information from stakeholders and users to determine the scope and requirements of the software product. During the analysis stage, the software engineer analyzes the gathered information to determine the user’s needs and the software’s requirements. During the design stage, the software engineer creates a plan for the software product. During the implementation stage, the software engineer codes the software according to the plan created during the design stage. During thetesting stage, the software engineer verifies that the software works as expected. During the maintenance stage, the software engineer makes changes to the software to fix any bugs or to add new features.2.2 What is the Waterfall Model?The waterfall model is a software development process that follows a linear approach. It is a sequential process where each stage must be completed before the next stage can begin. The stages of the waterfall model are: requirements analysis, design,implementation, testing, deployment, and maintenance. During the requirements analysis stage, the software engineer collects information from stakeholders and users to determine the scope and requirements of the software product. During the design stage, the software engineer creates a plan for the software product. During the implementation stage, the software engineer codes the software according to the plan created during the design stage. During the testing stage, the software engineer verifies that the software works as expected. During thedeployment stage, the software engineer makes the software available to its users. During the maintenance stage, the software engineer makes changes to the software to fix any bugs or to add new features.2.3 What is the Spiral Model?The spiral model is a software development process that follows a cyclical approach. It is an iterative process where each stage is repeated multiple times until the desired result is achieved. The stages of the spiral model are: requirements analysis, design,implementation, testing, deployment, and maintenance. During the requirements analysis stage, the software engineer collects information from stakeholders and users to determine the scope and requirements of the software product. During the design stage, the software engineer creates a plan for the software product. During the implementation stage, the software engineer codes the software according to the plan created during the design stage. During the testing stage, the software engineer verifies that the software works as expected. During the软件工程第四版齐治昌课后答案deployment stage, the software engineer makes the software available to its users. During the maintenance stage, the software engineer makes changes to the software to fix any bugs or to add new features. The spiral model allows the software engineer to quickly make changes and adjustments to the software product as needed.。
软件工程课后习题答案
软件⼯程课后习题答案习题答案习题⼀答案⼀、选择题1. 软件的主要特性是(A B C)。
A) ⽆形 B) ⾼成本C) 包括程序和⽂档D) 可独⽴构成计算机系统2. 软件⼯程三要素是(C D)。
A) 技术、⽅法和⼯具B) ⽅法、⼯具和过程C) ⽅法、对象和类D) 过程、模型、⽅法3. 包含风险分析的软件⼯程模型是(A)。
A) 螺旋模型 B) 瀑布模型C) 增量模型 D) 喷泉模型4. 软件⼯程的主要⽬标是(C)。
A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于⾯向对象开发⽅法的是(A B C D)。
A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。
A) 软件成本太⾼B) 软件产品的质量低劣C) 软件开发⼈员明显不⾜D) 软件⽣产率低下7. 软件开发⽅法的主要⼯作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件⼯程的⽬标有(A B C)。
A) 易于维护B) 低的开发成本C) ⾼性能D) 短的开发期9. 软件⼯程学的⽬的和意义是( )。
A) 应⽤科学的⽅法和⼯程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训⼯作D) 以较低的成本开发出⾼质量的软件⼆、判断题1. 软件就是程序,编写软件就是编写程序。
(×)2. 瀑布模型的最⼤优点是将软件开发的各个阶段划分得⼗分清晰。
(×)3. 结构化⽅法的⼯作模型是使⽤螺旋模型进⾏开发。
(×)4. 结构化⽅法和JSP⽅法都不适合于⼤型软件的开发。
(√)5. 原型化开发⽅法包括⽣成原型和实现原型两个步骤。
(×)6. ⾯向对象的开发⽅法包括⾯向对象的分析、⾯向对象的设计和⾯向对象的程序设计。
( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(×)8. 软件⼯具的作⽤是为了延长软件产品的寿命。
软件工程课后习题(含答案)
第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
软件工程课后习题答案2-12章
D3生理信息 定时的生理信号
F2生理信号 P1 接收信号 F2生理信号 定时的 生理信号
F6日志 E3 时钟 F3日前、时间 P4 定时取样 生理信号 F6日志 E1 护士 F1要求报告 P6 产生病情报告 D1患者日志
范
信
理
生
患者生理信 号获取
生理信号
定
时
生
理
生
号
理
信
信
围
号
号
患者监护系 统
危 日志 机信息
安排航班
预 定 信 息
机票 信息
交款
打印取票单 据
打印及发放 机票
有
航班
通 效 知
设置航班
录入预定信 息
录入取票凭 证
核对取票凭 证
P2 分析信号 E2 病人 F2生理信号
危及病人信息 F2生理信号 D2患者安全范围 P7制定安 全范围 P5 更新日志
P3 产生警告信息 F4警告信息 E1 护士
F5安全范围
监护处理
志 日 定时生理信号
号 生理信
监护信息输 出
息
生
理
制定生理信 号安全范围
接收信号
定时取样 生理信号
时间
分析信号
更新日志
报警
危机信
信
号
范
围
信息 危机
生
信 理 生 时 定 号 信 理
日 志
取得时间
号
病情报告
• P104:4 • 美国某大学有200名教师,校方与教师工会刚刚签订一项协议。 按照协议,所有年工资超过$26000(含$26000 )的教师工 资将保持不变,年工资少于$26000的教师将增加工资,所增 加工资数额按下述方法计算:给每位教师所赡养的人(包括 教师本人)每年补助$100,此外,教师有一年工龄每年再多 补助¥50,但是,增加后的年工资总额不能多于$26000。 • 教师工资档案存储在行政办公室的磁带上,档案中有目前的 年工资、赡养的人数、雇佣日期等信息。需要写一个程序计 算并印出每名教师的原工资和调整后的新工资。 • 要求:(1)画出此系统的数据流图;(2)写出需求说明; • (3)设计上述的工资调整程序(要求用HIPO图描绘设计结果), 设计时分别采用两种算法,并比较两种算法的优缺点: – (a)搜索工资档案数据,找出年工资少于$26000的人, 计算新工资,校核是否超过$26000,存储新工资,印出新 旧工资对照表; – (b)把工资档案数据按工资从最低到最高的次序排序,当 工资数额超过$26000时即停止排序,计算新工资,校核是 否超过限额,存储新工资,印出结果。 • (4)你所画出的数据流图适应用那种算法?
软件工程课后习题参考答案
软件工程课后习题参考答案软件工程课后习题参考答案1.简答题1.1 什么是软件工程?软件工程是一门研究和应用如何以系统化、规范化、可量化的方式开发和维护软件的学科,涉及到软件的设计、构建、测试、部署和维护等全生命周期的过程。
1.2 软件工程的目标是什么?软件工程的目标是提高软件开发过程的效率和质量,确保软件项目按时、按需求交付,并且能够满足用户的期望。
1.3 软件生命周期有哪些阶段?常见的软件生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。
1.4 什么是软件需求?软件需求是指对于软件系统所需满足的问题或需求的描述,包括功能需求、性能需求、接口需求等。
1.5 软件开发过程有哪些模型?常见的软件开发过程模型包括瀑布模型、迭代模型、螺旋模型、敏捷开发等。
2.客观题2.1 软件测试的目的是什么?a) 发现软件中的错误和缺陷b) 验证软件是否符合需求和规格c) 提高软件的可靠性和质量d) 以上皆是答案:d) 以上皆是2.2 瀑布模型的特点是什么?a) 瀑布模型是一种线性顺序的软件开发过程模型b) 各个开发阶段是相互独立的c) 开发过程按照需求分析、设计、编码、测试等顺序进行d) 以上皆是答案:d) 以上皆是2.3 敏捷开发的原则是什么?a) 个体和交互胜过流程和工具b) 可工作的软件胜过详尽的文档c) 客户合作胜过合同谈判d) 响应变化胜过遵循计划e) 以上皆是答案:e) 以上皆是3.计算题3.1 请计算以下代码的覆盖率:(假设代码行数为100行,已执行代码行数为80行)覆盖率 = 已执行代码行数 / 代码行数 100% = 80 / 100 100% = 80%3.2 请计算以下缺陷密度的值:(假设代码行数为1000行,代码中的缺陷数为10个)缺陷密度 = 缺陷数 / 代码行数 1000 = 10 / 1000 1000 = 103.3 请计算以下代码的复杂度:(假设代码中包含的判断语句有20个,循环语句有5个)复杂度 = 判断语句数 2 + 循环语句数 3 = 20 2 + 5 3 = 40 + 15 = 554.附件本文档涉及附件:无5.法律名词及注释本文涉及的法律名词及注释:无。
软件工程(第5版课后答案)
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参考答案
软件工程课后习题及其答案
软件工程习题CH1一、填空题1、软件工程需要解决的问题包括:费用、可靠性、可维护性、生产率和重用。
2、到目前为止,软件生产的发展经历了三个阶段,即程序设计、程序系统和软件工程。
3、计算机科学中的研究曾国均可用于软件工程,但计算机科学侧重于原理和理论,而软件工程侧重于软件系统构造。
4、软件工程有用管理科学的方法和原理进行软件生产的管理。
5、软件工程是用科学知识和技术原理来定义、开发、维护软件的一门科学。
6、软件工程研究的主要内容包括软件开发技术和软件开发管理技术两个方面。
在软件开发技术方面,主要研究开发方法、开发过程、开发工具。
在软件开发管理技术方面主要研究管理学、经济学、心理学。
7、作为一门交叉学科,软件工程具有很强的综合性,它涉及计算机科学、工程科学、管理科学、数学等领域。
8、软件生产周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
通常包括问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试、维护等活动,可以将这些活动以适当方式分配到不同阶段去完成。
9、开发软件工具的主要目的是为了提高软件生产效率和改善软件的质量。
10、描述软件开发过程中各种活动如何执行的模型称为周期模型。
11、从软件工程诞生以来,已经提出了多种软件开发方法,如结构化方法、面向数据的方法、面向对象的方法,它们对软件工程及软件产业的发展起到了不可估量的作用。
12、结构化方法由结构化分析、结构化设计和结构化程序设计构成。
它是一种面向数据流的开发方法。
13、增量模型是一种非整体开发方法的模型。
软件在该模型中是“逐渐”开发出来的,开发一部分向用户展示一部分,可让用户及早看到部分软件,及早发现问题。
或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。
14、喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。
它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。
(完整版)《软件工程导论》张海蕃课后习题答案(2)
第一章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返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。
软件工程习题与答案
第1章概述(习题和参考答案)[推断题]1. 由于今日个人计算机不断发展壮大,人们不再接受软件团队的开发方式。
(×)2. 由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。
(×)3. 购买大多数计算机系统所需的硬件比软件更昂贵。
(×)4. 大多数软件产品在其生命周期中不须要增加功能。
(×)5. 大多数软件系统是不简洁变更的,除非它们在设计时考虑了变更。
(√)6. 一般来说,软件只有在其行为和设计者的目标一样的状况下才能成功。
(×)[选择题]1. ()因素促使计算机系统越来越困难。
(D)A. 计算机内存和存储容量上的巨大增长B. 外部输入/输出选项的更加多样性C. 计算机体系结构方面的深刻变更D. 以上全部选项2. 下面的()不再是现代软件工程师关注的问题。
(A)A. 为什么计算机硬件的成本这么高?B. 为什么软件须要很长时间才能完成?C. 为什么开发一个软件的成本这么高?D. 为什么不能在产品发布前去除软件错误?3. 软件会慢慢退化而不会磨损,其缘由在于()。
(C)A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在运用之后C. 不断的变更使组件接口之间引起错误D. 软件备件很难订购4. 大多数软件照旧是定制开发的,其缘由在于()。
(C)A. 软件组件重用是特别普遍的B. 可重用的组件太昂贵而无法运用C. 软件在不运用其他组件的状况下很简洁构造出来D. 商业组件在许多应用领域中可以得到5. 下面的()说法是正确的。
(C)A. 软件危机在20世纪70年头末期全面爆发B. 当前先进的软件工程方法已经解决了软件危机的问题C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严峻问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的基本目标是()。
(B)A. 消退软件固有的困难性B. 开发高质量的软件C. 努力发挥开发人员的创建性潜能D. 更好地维护正在运用的软件产品7. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
软件工程课后练习答案
第一章软件工程概述软件工程的基本原则是什么?1,抽象:采用分层次抽象,自顶向下逐层细化的办法控制软件开发过程的复杂性。
2,模块化:模块化有助于信息隐蔽和抽象,有助于表示复杂的系统。
3,信息隐蔽:将模块化设计成“黑箱”,实现的细节隐蔽在模块内部,不让模块的使用直接访问,这就是信息封装。
4,局部化:保证模块之间具有松散的耦合,模块内部具有较强的内聚,这有助于控制模块的复杂性5,一致性:整个软件系统使用一致的概念符号和术语。
6,完整性:软件系统不丢失任何重要成分,可以完全实现系统所要求功能的程度。
7,不可验证性:易于检查、测试、评审,确保系统的正确性。
第二章可行性研究选择题1,研究开发所需要的成本和资源属于可行性研究中(经济可行性)研究的一方面。
2,可行性分析研究的目的是(项目值得开发与否)。
3,软件分析的第一步要做的工作在于(分析系统开发的可行性)。
4,可行性研究目的主要在于(用最小的代价确定问题定义阶段所确定的目标和规模是否可实现,可解决)。
5,软件可行性分析是着重确定系统的目标和规模。
对功能,性能及约束条件的分析应属于下列(技术可行性分析)。
简答题简述可行性研究的步骤?1,复查系统规模和目标2,研究目前正在使用的系统3,导出新系统的高层逻辑模型4,重新定义问题5,导出和评价供选择方案6,推荐一个方案并说明理由7,推荐行动方针8,书写计划任务书9,提交审查应用题设计一个软件的开发成本为5万元,寿命为3年。
未来3年的每年收益预计为22000元,24000元,26620元,银行年利率为10%。
试对此项目进行成本效益分析,以决定其经济可行性。
答:设银行的年利率是10%,则下列出每年的收益第一年:22000/1.1=20000第二年:24000/1.21=19834.71第三年:26620/1.331=20000因此:现有值收益为20000+19834.71+20000=59834.71投资回收期2+10165/20000=2.51纯收入59835-50000=9834.71第三章需求分析需求分析的原则有哪些?1.需求分析方法应该容易被用户理解。
软件工程课后习题参考答案
软件工程课后习题参考答案软件工程课后习题参考答案1·软件工程概述1·1 软件工程的定义和特点软件工程是一门研究和应用如何以系统化、规范化、可量化的方法开发和维护软件的学科。
其特点包括软件开发的目标性、可度量性、可管理性和可预测性。
1·2 软件生命周期模型常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型和敏捷模型等。
每个生命周期模型都有其适用的场景和优缺点。
2·软件需求工程2·1 软件需求获取软件需求获取方法包括面谈、问卷调查、用户场景模拟等。
需求获取的目的是明确软件系统的功能、性能和约束条件。
2·2 软件需求分析与规格说明软件需求分析的目标是识别和定义系统的需求,包括功能需求、非功能需求和约束条件。
规格说明是将需求转化为精确、清晰和易于验证的文档。
3·软件设计3·1 结构化设计结构化设计将系统分解为模块,确定模块之间的接口和关系,实现模块化、高内聚、低耦合的设计原则。
3·2 面向对象设计面向对象设计将系统抽象为对象,定义对象的属性和方法,并确定对象之间的关系。
常用的面向对象设计方法有UML(统一建模语言)。
4·软件测试4·1 测试基本概念软件测试是通过运行软件来发现错误和缺陷的过程。
测试的基本概念包括测试用例、测试套件、测试目标和测试覆盖度等。
4·2 测试方法和技术常见的软件测试方法和技术有黑盒测试、白盒测试、灰盒测试、单元测试、集成测试和系统测试等。
每种方法和技术都有其适用的场景和优缺点。
5·软件维护与配置管理5·1 软件维护软件维护是指对已有的软件进行修改、优化、修复错误和适应环境变化的过程。
维护活动包括需求分析、设计、实现、测试和文档更新等。
5·2 软件配置管理软件配置管理是指在软件开发和维护过程中,对软件配置项进行识别、控制、追踪和审查,确保软件可以按需发布、升级和回溯。
软件工程课后习题答案
软件工程课后习题答案习题1 略。
习题2 略。
习题3 略。
习题42.在什么情况下应该使用形式化说明技术?使用形式化说明技术时应遵守哪些准则?人们在理解用自然语言描述的规格说明时,容易产生二义性。
为了克服非形式化方法的缺点,人们把数学引入软件开发工程,创造了基于数学的形式化说明技术。
应用形式化方法的准则:(1)应该选用释放的表示方法;(2)应该形式化,但不要过分形式化;(3)应该估算成本;(4)应该有形式化方法顾问随时提供咨询;(5)不应该放弃传统的开发方法;(6)应该建立详尽的文档;(7)不应该放弃质量标准;(8)不应该盲目依赖形式化方法;(9)应该测试、测试再测试;(10)应该重用。
4.用有穷状态机说明自动化图书馆流通系统习题5 略。
习题6 略。
习题7 略。
习题8 略。
习题91.什么是面向对象方法学?它有哪些优点?面向对象方法学,是尽可能模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近人类认识世界解决问题的方法和过程,从而使得实现解法的解空间(也称为求解域)与描述问题的问题空间(也称为问题域)在结构上尽可能一致。
优点:1.与人类习惯的思维方法一致;2.稳定性好;3.可重用性好;4.较易开发大型软件产品;5.可维护性好10.建立订货系统的用例模型。
分析如下:从对这个订货系统的需求可以知道,仓库管理员通过放在仓库中的终端把零件入库/出库市事务报告给订货系统,系统接受到事务信息之后应该处理事务;采购员需要使用订货系统提供的产生报表功能,以获取订货报表。
综上所述,用例如下:习题101.用面向对象方法分析研究本书习题2第2题中描述的储蓄系统,试建立它的对象模型、动态模型和功能模型。
对象模型参考:以上还需将关联关系说明补全。
动态模型参考:(1)脚本正常情况脚本:●储户有存款要求,填写存款单,包含储户个人信息,存款金额和存款类型;●业务员查收存款,审核存款与存款单存款金额吻合;●存款单生效;●储户有取款要求,填写取款单,包含个人账号、密码(待定)和存款金额;●业务员审核存款,验证储户身份,确定储户存款金额 > = 取款金额;●审核通过,取款单生效;●系统打印利息清单,业务员把本金和利息返回储户。
《软件工程》(第五版)习题参考答案
《软件工程》(第五版)习题参考答案
第1章 一、判断题 1、(×)软件的维护与硬件维护本质上是相同的。 2、(√)软件在运行和使用中也存在退化问题。 3、(×)软件危机的产生主要是因为程序设计人员使用了不适 当的程序设计语言。 4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和 衰亡的生存过程。 5、(×)文字处理软件 Word 属于系统软件。应用软件 6、(√)原型是软件的一个早期可运行的版本,它反映最终系 统的部分重要特性。 7、(√)软件开发过程中,一个错误发现得越晚,为改正它所 付出的代价就越大。 8、(×)快速原型模型对软件开发人员的水平要求不高。 9、(√)喷泉模型适合于面向对象的软件开发。 10、(×)面向对象开发方法的主要缺点是在适应需求变化方面 不够灵活。 二、选择题 1、软件是一种(C)。 A、程序 B、数据
D、合同文档 14、结构化分析方法是以数据流图、(D)和加工说明等描述工 具,即用直观的图和简洁的语言来描述软件系统模型。 A、DFD 图 B、PAD 图 C、IPO 图 D、DD 15、软件需求分析阶段的工作,可以分为四个方面:需求获取、 需求分析、编写需求规格说明书以及(B)。 A、阶段性报告 B、需求评估 C、总结 D、都不正确 16、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一 些特定的图符构成。下面图符名称标识的图符不属于数据流图合 法图符的是(A)。 A、控制流 B、加工 C、数据存储 D、源点和终点 17、DFD 用于描述系统的(D)。 A、数据结构
《软件工程基础》习题集答案-2
《软件工程基础》习题集答案 -2第一章概述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.构成软件工程的基本元素有哪些?除了前面给出的软件工程三大要素,还应该包括控制和质量保证。
《软件工程》各章课后习题答案
第一章课后参考答案1.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机?“软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。
这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。
它们有以下表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
出现软件危机的主要原因(1)与软件本身的特点有关(2)与软件开发和维护过程中使用的方法不正确有关2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”时在引入变动,当然付出的代价更高。
一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。
3.什么是软件工程?它有哪些本质特征?怎么用软件工程消除软件危机?软件工程是指导知道计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)画出程序流图
float ex (float a, float b) 1 { 2 3 float x=0; if (a==3 || b>2) 4 x=a*b; 5 if (a>2 && b=0) 7 x+=a-3; 6 else 8 9 x+=b; return x; }
36
(2)求出复杂度:程序流图中共有5个圈 (3)找出一组基本路径集 1) 1-2-4-5-8-9 2) 1-2-3-5-8-9 3) 1-2-3-4-5-8-9 4) 1-2-3-4-5-6-8-9 5) 1-2-3-4-5-6-7-9
作业及解答
第二章 1 什么是软件过程?它与软件工程方法学有何关系? 软件过程是为了开发出高质量的软件产品所需完成的一系 列任务的框架,它规定了完成各项任务的工作步骤。 软件过程定义了运用技术方法的顺序、应该交付的文档资 料、为保证软件质量和协调软件变化必须采取的管理措施 ,以及标志完成了相应开发活动的里程碑。 软件过程是软件工程方法学的3个重要组成部分之一。
29
作业及解答(第7章)
30
作业及解答(第7章)
31
习题解答(第5章)
4. (3) 设计下列伪码程序的语句覆盖和路径覆盖测试用例: START //判定表达式3 INPUT (A, B, C) IF C>15 THEN //判定表达式1 Z=30 IF A>5 THEN ELSE X=10 Z=3 ELSE END IF X=1 PRINT (X, Y, Z) END IF STOP //判定表达式2 IF B>10 THEN Y=20 ELSE Y=2 END IF
23
作业及解答(第5章)
24
作业及解答(第5章)
25
作业及解答(第5章)
26
可以是两个子系统, 预定和取票是不同的 处理方式(后台批量 和前台单个)
27
机票预定系 统
信 息 通 知 单 机 票
账
单
信息
机票
通
预定信息处 理
信息
知
账
通
单
有
单
取票凭证处 理
通知 账单 单
账单
信 息 定 预 航班信
机票预订 系统
机票 取票通知 账单/票款
旅 客
7
作业及解答(第3章)
8
作业及解答(第3章)
9
作业及解答(第3章)
10
ER模型
11
作业及解答(第3章)
复印机的工作过程大致如下:未接到复印命令时处于闲 置状态,一旦接到复印命令则进入复印状态,完成一个复 印命令规定的工作后又回到闲置状态,等待下一个复印命 令;如果执行复印命令时发现没纸,则进入缺纸状态,发 出警告,等待装纸,装满纸后进入闲置状态,准备接收复 印命令;如果复印时发生卡纸故障,则进入卡纸状态,发 出警告等待维修人员来排除故障,故障排除后回到闲置状 态。 请用状态转换图描绘复印机的行为。
5
作业及解答(第3章)
6
作业及解答(第3章)
2.
为方便旅客,某航空公司拟开发一个机票预定系统。旅 行社把预订机票的旅客信息(姓名、性别…等)输入进该 系统,系统为旅客安排航班,印出取票通知和账单,旅客 在飞机起飞的前一天凭取票通知和账单交款取票,系统核 对无误即印出机票给旅客。
旅 行 社
预订信息 取票通知 账单
2
作业及解答(第3章)
存款单 储户 取款单
存单
银行储蓄系统 利息清单 储户
3
4
作业及解答(第3章)
ER模型
本问题中共有两类实体,分别是“储户”和“储蓄所”,
在它们之间存在“存取款”关系。因为一位储户可以在多 家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取 款”是多对多(M:N)关系。 储户的属性主要有姓名、住址、电话号码和身份证号码, 储蓄所的属性主要是名称、地址和电话号码,而数额、类 型、到期日期、利率和密码则是关系类型存取款的属性。
37
作业及解答(第7章)
4.设计无人自动售货机系统对象、动态及功能模型
售货时,顾客将硬币投入机器投币口,机器检查硬币的大 小、重量、厚度及边缘类型。有效币种是1元、五角、一角 ,其它货币被认为是假币。机器拒收假币,并将其退币口 退出。当机器接收了有效硬币之后,就将硬币送入硬币储 藏期中。顾客支付的货币根据硬币的面值进行累加。 机器装有货物分配器。每个货物分配器中零个或多个价值 相同的货物,顾客支付的货币值不小于该货物的价格,货 物将被分配货物传送孔送给顾客,并将适当的零钱返回到 退币孔。如果分配器是空的,顾客支付的货币值相等的硬 币将被送回退币孔。如果顾客支付的货币值小于所选择分 配器中货物的价格,机器将等待顾客投进更多的硬币。如 果顾客决定不买所选择的货物,顾客放进的货币将从退币 孔退出。
预期的输出 X 1 Y 2 Z 3
2
3
F
F
F
T
T
F
1
20
30
3
4
5 6
F
T T
T
F F
T
F T
1
20 20
40 60
1 1 1
1
10
20 30
2 2 3 30
60 10
7
8
T
T
T
T
F
T
20
20
40
1
10 20
3
34
40 60 10 20 30
补充:Please find out one basis paths set for the function depicted in C++ as follow using the basis path method. float ex (float a, float b) { float x=0; if (a==3 || b>2) x=a*b; if (a>2 && b=0) x+=a-3; else x+=b; return x; }
32
习题解答(第7章)
语句覆盖的测试用例
序 号 1 1 2 F T
判定
2 F T 3 F
输入
预期的输 出
A B C X Y Z 1 1 1 1 2 3
T 20 40 60 10 20 30
33
习题解答(第7章)
序号 1 1 F 判定 2 F 3 F A 1 输入 B 1 C 1
路径覆盖的测试用例
1
作业及解答(第3章)
1. 银行计算机储蓄系统的工作过程大致如下:储户填写的 存款单或取款单由业务员键入系统,如果是存款则系统记 录存款人姓名、住址(或电话号码)、身份证号码、存款类 型、存款日期、到期日期、利率及密码(可选)等信息,并 印出存单给储户;如果是取款而且存款时留有密码,则系 统首先核对储户密码,若密码正确或存款时未留密码,则 系统计算利息并印出利息清单给储户。 请用数据流图描绘本系统的功能,并用实体-联系图描绘 系统中的数据对象。
累计投币额
选择货物 输入货号
等待超时提示金额 退出硬币 检查付款 不买 不足 不足 足额 不买 提示重新 检查存货 选择 无货 有货
分配货物
40
作业及解答(第10章)
1.下图是某项目的工程网络图:
41
1-2是建立计划,2-4是编程,4-8是测试代码,8-10是 测试系统,1-3是购买硬件,3-5是安装,5-7是撰写手册, 5-6是转化,7-9是培训, 9-10是用户测试。 (1) 画出完整的工程网络图(标出EET,LET,和每个作业的 机动时间); (2) 找出关键路径及完成该项目的最短时间; (3) 从节省人力的角度,画出该项目的GANTT图。 2. 什么软件配置管理?什么是基线? 3. 软件复杂性(规模)的度量方法有那些? 4. 软件质量与质量保证的含义? 5. 简述CMM模型的含义、等级划分及其作用。
5.
12
作业及解答(第3章)
从问题陈述可知,复印机的状态主要有“闲置”、“复印
”、“缺纸”和“卡纸”。引起状态转换的事件主要是“ 复印命令”、“完成复印命令”、“发现缺纸”、“装满 纸”、“发生卡纸故障”和“排除了卡纸故障”。
13
作业及解答(第4章)
14
补充:请将下图的DFD转换为软件结构图。 (注:图中⊕表示或者)
38
建立对象模型如下:
硬币 大小 重量 顾客编号 投入 厚度 总金额 边缘类型 所选货物 硬币面值 顾客
送入 硬币储藏器
自动售货机 货物 货物编号 货物名称 货物价格 货物数量 货物分配器 包含于 分配器编号 M N 售出货物名称 售出货物数量
39
动态模型如下:
自动售货机类的状态图
待机 投币 检查硬币 伪币 真币 投币
15
补充:请将下图的DFD转换为软件结构图。 (注:图中⊕表示或者)
16
补充:请将下图的DFD转换为软件结构图。 (注:图中⊕表示或者)
17
作业及解答(第4章)
7. 用面向数据流的方法设计下列系统的软件结构 (1)储蓄系统
18
19
作业及解答(第5章)
20
不能是两个分开的子系统,是相同的前台单个处理
息
机票预定子 系统
单 知
机票发放子 系统
效 通 知
机
票
安排航班
预 定 信 息
机票 信息
交款
打印取票单 据
打印及发放 机票
有
航班
通 效 知
设置航班
录入预定信 息
录入取票凭 证
核对取票凭 证
28
作业及解答(第4章)
14.