现代软件工程作业(新)
- 格式:doc
- 大小:28.00 KB
- 文档页数:5
大工春《软件工程》大作业大工春《软件工程》大作业1. 引言本文档是大工春《软件工程》大作业的技术文档,旨在介绍该大作业的相关要求、设计和实现。
本大作业的任务是设计和实现一个简单的软件工程管理系统,该系统能够帮助团队进行项目管理、任务分配和进度跟踪。
2. 需求分析本大作业的需求主要包括以下几个方面:1. 用户管理:系统需要支持用户的注册、登录和权限管理,以便团队成员能够使用系统进行项目管理操作。
2. 项目管理:系统需要支持项目的创建、编辑和删除,以及项目的基本信息的设置,例如项目名称、描述等。
3. 任务管理:系统需要支持任务的创建、分配和跟踪,以便团队成员能够明确任务的执行情况和进度。
4. 进度报告:系统需要支持项目进度报告,以便团队成员和项目负责人能够及时了解项目的整体进展和问题。
5. 团队协作:系统需要支持团队成员之间的协作,例如通过系统内部发送消息或讨论来进行沟通。
3. 设计与实现为了满足以上需求,我们采用了以下的设计和实现方案:3.1 技术栈选择为了快速地实现一个简单可用的软件工程管理系统,我们选择了以下技术栈:- 前端技术:使用React框架进行前端页面的开发,使用Ant Design作为UI组件库。
- 后端技术:使用Node.js作为后端的开发语言,使用Express框架进行Web应用程序的开发。
- 数据库:使用MySQL作为数据存储的数据库。
3.2 系统架构设计本系统采用前后端分离的架构设计,前端与后端通过API进行通信。
前端负责展示页面给用户,并将用户的操作请求发送给后端。
后端负责接收请求,并进行相应的操作后返回数据给前端。
在后端,我们采用了MVC的设计模式,将业务逻辑、数据库操作和路由处理分离。
3.3 数据库设计系统的数据库采用MySQL进行存储,包括以下几张表:- 用户表:用于存储用户的基本信息,例如用户名、密码、邮箱等。
- 项目表:用于存储项目的基本信息,例如项目名称、描述、创建者等。
软件工程-、软件危机与软件工程1.软件危机是指在开发和(A.运行B.设计2・造成软件危机的原因是:)过程中所遇到的一系列严重问题。
C.维护D.编码A.用户使用不当B.对软件的错误认识C.硬件不可靠D.缺乏好的开发方法和手段3.软件工程方法学的研究内容包含软件开发技术和软件工程管理两部分,其期望达到的最终目标是()。
A.消除软件危机B.软件开发工程化C.程序设计自动化D.实现软件重用4.软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的()。
A・工程管理B•成本核算 C.人员培训 D.工具开发5.软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是()。
A.设计人员和用户C.分析人员和设计人员B.分析人员和用户D.编码人员和用户6・软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型形成于()。
A.开发阶段B・计划阶 C.分析阶段 D.设计阶段段7.在软件工程中,软件生存期可分为计划、开发以及维护三个阶段,每个时期又分为若干更小的阶段。
通常,计划时期包括问题定义、可行性研究和①,开发时期包括②、详细设计、编码以及① A.需求分枷 B.究可行性研 C.经费预算 D. 质量保证② A.需求分析 B. 可行性研C总体设D模块化设计究# -------③ A.文档编制 B. 运行维护 C.测试 D.验收8.软件开发中常采用的生命周期方法,由于其特征而一般称其为。
()A.层次模型B.瀑布模C.螺旋模D.对象模型型型9・描述软件生存周期的瀑布模型包括计划、(A)、设计、编码、测试、维护等阶段。
其中,设计阶段又可以分成(B)和(C)两个步骤。
A:①需求分析②可行性研究③需求调查④问题定义② 代码设计 ③概要(总体)设计 ④数据设计 ⑤详细设计10・什么是软件危机?软件危机产生的原因? 11・生命周期阶段的划分?每个阶段的任务?二、可行性研究 邂统规模和冃 1.可行性研尤的任务?步骤?对丁各*中可能n 勺方案,从哪几个方而进行可行性研尤?参考答案:任务:在尽可能短的时间内确定该软件项冃是台能够开发,是占值得开发。
软件工程作业1在当今数字化的时代,软件工程已经成为了推动科技发展和社会进步的重要力量。
从我们日常使用的手机应用到复杂的企业级系统,软件工程都在其中发挥着关键作用。
软件工程是一门研究如何用系统化、规范化、可定量的方法来开发、运行和维护软件的学科。
它不仅仅是编写代码,还涵盖了从需求分析、设计、编码、测试到维护的整个软件生命周期。
在需求分析阶段,软件工程师需要与客户或用户进行深入的沟通,了解他们的期望和需求。
这就像是建筑师在设计大楼之前,要先明白住户的居住需求一样。
工程师们要仔细倾听,捕捉每一个细节,将模糊的想法转化为清晰的、可衡量的需求规格说明书。
这个过程中,可能会遇到用户需求不明确、需求变更频繁等问题。
这就需要工程师具备良好的沟通能力和应变能力,能够引导用户明确需求,并合理管理需求的变更。
设计阶段则是在需求明确的基础上,构建软件的架构和模块。
这就好比是为大楼搭建框架,确定每个房间的布局。
好的设计能够提高软件的可扩展性、可维护性和性能。
在这个阶段,工程师要考虑软件的整体结构、模块之间的关系、数据的存储和处理方式等。
同时,还要选择合适的设计模式和算法,以满足软件的功能和性能要求。
编码阶段就是将设计转化为实际的代码。
这就像是建筑工人根据设计图纸进行施工。
在编码过程中,工程师要遵循编程规范,确保代码的可读性、可维护性和可重用性。
同时,还要注意代码的效率和安全性,避免出现漏洞和错误。
测试是软件工程中不可或缺的环节。
就像大楼建成后需要进行各种质量检测一样,软件也要经过严格的测试,以确保其功能的正确性和稳定性。
测试包括单元测试、集成测试、系统测试和用户验收测试等。
通过测试,可以发现软件中的缺陷和问题,并及时进行修复。
维护阶段则是在软件交付使用后,对其进行持续的改进和优化。
随着用户需求的变化和技术的更新,软件需要不断地进行升级和维护。
这就要求工程师能够快速响应问题,有效地解决故障,并对软件进行持续的优化,以提高用户体验。
现代软件工程学校:玉溪师范学院姓名:周应光第一章选择题:1.ABC2.CD3.A4.C5.ABCD6.BD7.ABC8.ABC9.ABD判断题:×××√×√×××√简答题:1.软件产品的特性是什么?a.软件产品是一种逻辑产品,具有无形性。
b.软件产品的生产主是研制,c.软件不存在磨损和老化问题,但存在退化问题d.软件产品的生产主要是脑力劳动,e.软件费用不断增加,成本相当昂贵。
f.软件具有“复杂性”,其开发和运行常受到计算机系统的限制3.什么是软件危机?其产生的原因是什么?1》软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。
一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。
2》软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。
b.软件开发管理困难而复杂。
c.软件开发费用不断增加。
d.软件开发技术落后。
e.生产方式落后。
f.开发工具落后,生产率提高缓慢。
4.什么是软件生存周期模型?有哪些主要模型?1》软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。
(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。
)2》软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等5.什么是软件开发的方法?有哪些主要方法?软件开发的方法:是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。
主要方法:结构方法、Jackson方法、维也纳开发方法(VDM)、面向对象的开发方法。
6.软件生命期个阶段的任务是什么?答:软件生命期瀑布模型分为六个阶段:。
可行性研究与计划。
需求分析与规格说明。
设计。
编程。
测试。
运行维护第二章可行性研究填空题1.值得去开发,其中的问题能否解决,设计2.技术,经济,社会3.研究正在运行的系统,建立新系统的高层逻辑模型4,。
1.填空题(1)软件产品在交付使用之前一般要经过4步测试: 、、、。
(2)在单元测试中,测试一个模块是,需要设计。
(3)动态测试指通过发现错误。
对软件产品进行动态测试时,使用法。
静态测试是指不在机器上运行,而是采用和的手段对程序进行检测。
(4)白盒测试是测试,黑盒测试是测试。
(5)用白盒技术设计测试用例时,追求程序逻辑覆盖程度的几种常用覆盖技术为、、、、和。
(6)黑盒法把测试对象看成一个测试人员完全不考虑程序的和。
只在软件的处进行测试。
(7)采用黑盒技术设计测试用例的方法一般有、、、等四种。
(8)使用边界值分析方法设计测试用例时一般与结合起来。
但它不是从一个等价类中任选一个例子作为代表,而是将测试边界情况作为重点目标,选取、或边界值的测试数据。
(9)用等价类划分法设计测试用例时,如果被测试程序的某个输入条件规定了取值范围,则可确定一个合理的等价类和。
(10)软件测试的目的是,调试的目的是并,因此调试也成为。
2.选择题(1)软件测试的主要特点是()A.软件测试的开销大B.软件测试要依靠工具C.软件不能进行“穷举”测试D.软件测试要依靠人工(2)整体测试又称为组装测试,其主要内容包括()A.对整体的性能进行测试B.用白盒法设计测试用例进行测试C.确定组装策略和次序D.对组装过程进行测试(3)渐增式是将模块一个一个地连入系统,每连入一个模块()。
A.只需要对新连入的模块进行测试B.都不需要再进行测试C.要对新子系统进行测试D.都要进行回归测试(4)静态测试是以人工的、非形式化的方法对程序进行分析和测试。
常用的方法有()A.运行程序并分析运行结果B.桌前检查与代码会审C.数据流分析图D.调用图(5)集成过程的()A.按照模块的大小集成B.尽早测试包含I/O的模块C.尽早测试关键模块D.按照“输入-处理-输出”的次序进行集成(6)关于白盒法覆盖程度的论述中正确的是()A.语句覆盖:选择测试用例使程序中每条语句至少被执行一次B.判定覆盖: 选择测试用例使程序中每个判定至少获得一次“真”值和一次“假”值C.条件覆盖:选择测试用例使每个条件都满足D.条件组合覆盖:将所有的判定条件都组合起来执行(7)软件测试的基本原则是()A.关键是注重选择高效的测试用例B.选择尽可能多的测试用例C.尽量不由程序设计者进行测试D.充分注意测试中的群集现象(8)等价分类法的关键是()A.确定等价类的边界条件B.按照用例来确定等价类C.划分等价类D.确定系统中相同和不同的部分(9)调试的目的是为了()A.证明软件符合设计要求B.发现软件中的错误和缺陷C.改善软件的功能和性能D.发掘软件的潜在能力(10)①实现阶段进行,它所依据的功能模块描述和内部细节及测试方案就在②阶段完成,目的是发现编程错误。
1.填空题(1在进行可行性研究和计划以后,如果确认开发一个新的软件系统是必要的而且是可能的,那么就进入阶段。
(2需求分析的基本任务是要准确地定义,为了满足用户的需要,回答系统必须的问题。
(3在需求分析阶段,首先进行问题识别,即双方确定对问题的综合需求,这些需求包括、、、。
另外还有可靠性、安全性、保密性、可维护性等方面的需求。
(4需求分析的困难主要表现在4个方面:问题的复杂性、、、需求易变性。
(5数据流图有4个基本成分:、、、。
(6数据词典中的加工逻辑主要描述该加工的,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变量变换为输出数据流的。
(7SA方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书的主要部分。
这些描述工具是、、、、。
(8数据词典就是用来定义数据流图中的的。
它和数据流图共同构成了系统的,是的主要组成部分。
(9加工逻辑也称“小说明”,常用的加工逻辑的描述工具有:、、。
三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用描述。
对于存在多个条件复杂的判断问题,用和。
(10传统的SA方法主要用于的问题,主要工具DFD图体现了系统的功能,但它仅是一个,没有处理的顺序,即。
2.选择题(1需求分析是(A.要回答“软件必须做什么”B.可概括为“理解、分解、表达”六个字C.要求编写需求规格说明书D.以上都对(2进行需求分析可使用多种工具,但(是不适用的。
A.数据流图B.判定表C.PAD图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.设计说明书(8SA方法用DFD图描述(A.系统的控制流图B.系统的数据结构C.系统的基本加工D.系统的功能(9需求分析阶段不适于描述加工逻辑的工具是(A.结构化语言B.判定表C.判定树D. 流程图(10SA方法的基本思想是(A.自底向上逐步抽象B.自底向上逐步分解C.自顶向下逐步分解D.自顶向下逐步抽象3.简答题(1需求分析阶段的基本任务是什么?需求分析的难点主要表现在哪几个方面?(2画数据流图的步骤是什么?画数据流图应该注意什么事项?(3描述加工逻辑有哪些工具?(4什么是结构化分析方法?该方法使用什么描述工具?具有什么样的优缺点?(5传统的软件开发模型的缺陷是什么?原型化方法的类型有哪些?原型化开发模型的主要优点是什么?。
1.选择题(1)软件的主要特性是()。
A)无形B)高成本C)包括程序和文档D)川一独立构成计算机系统(2)软件工程三要素是()。
A)技术、方法和工具B)方法、工具和过程C)方法、对象和类D)过程、模型和方法(3)包含风险分折的软件工程模型是()。
A)螺旋模型B)瀑布模型C)增量模型D)喷泉模型(4)软件工程的主要目标是()。
A)软件需求B)软件设计C)风险分析D)软件实现(5)下列属于面向对象开发方法的是()。
A)Booch B)UML C)Coad D)OMT(6)软件危机的主要表现是()。
A)软件成本太高B)软件产品的质量低劣C)软件开发人员明显不足D)软件生产率低下(7)软件开发方法的卞要工作模型有()A)螺旋模型B)循环模型C)瀑布模型D)专家摸型(8)软件工程的目标有()。
A)易于维护B)低的开发成本C)高性能D)短的开发期(9)软件工程学的目的和意义是()。
A)应用科学的方法和工程化的规范管理来指导软件开发B)克服软件危机C)做好软件开发的培训工作D)以较低的成本开发出高质量的软件2.判断题(1)软件就是程序,编写软件就是编写程序。
()(2)瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
()(3)结构化方法的工作模型是使用螺旋模型进行开发。
()(4)结构化方法和JSP方法都不适合于大型软件的开发。
()(5)原型化开发方法包括生成原型和实现原型两个步骤。
()(6)面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。
(7)软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
()3.简答题(1)软件产品的特性是什么?(2)软件发展有几个阶段?各有何特征?(3)什么是软件危机?其产生的原因是什么?(4)什么是软件生存周期模型?它有哪些主要模型?(5)有哪些主要的软件开发方法?(6)软件生命期各阶段的任务是什么?。
软件⼯程作业含答案软件⼯程第⼀章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2 简述软件的分类,并举例说明。
(1)1.4 什么是软件⼯程? (1)1.5 简述软件⼯程的基本原则。
(1)1.6 软件⽣存周期分哪⼏个阶段?分别简述各个阶段的任务。
(1)1.9 简述各类软件过程模型的特点。
(2)1.10 敏捷软件开发的特点是什么? (2)1.12 简述敏捷软件开发的原则。
(2)第2、3章 (3)2.1简述系统⼯程的任务。
(3)2.2基于计算机的系统由哪些元素组成? (3)2.3简述可⾏性分析的任务。
(3)3.1需求⼯程的重要性是什么?举出⾝边由于需求分析失败⽽造成整个项⽬失败的例⼦。
(3)3.2需求⼯程具体包括哪些步骤?每个步骤的具体任务是什么? (3)3.3⼀个系统分析员应该具备哪些思想素质和基础知识?请说明理由。
(4)3.4列出在制定需求获取策略时的3种主要考虑因素。
(5)3.6举例说明⼀个系统的3个不同类型的⾮功能需求 (5)3.8软件需求分析的操作性原则和需求⼯程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?⾃⼰寻找⼀个实例,亲⾃写⼀个需求规约。
(5)3.10需求验证应该有哪些⼈参加?画出⼀个过程模型,说明需求评审应该如何组织。
5第4章 (5)4.1 简述软件设计阶段的基本任务 (5)4.2 软件设计与质量的关系是怎么样的? (6)4.4 简述模块、模块化及模块化设计的概念。
(6)4.6 耦合和软件可移植性的概念有何关系?举例说明⾃⼰的结论。
(6)4.7⽤⾃⼰的话描述信息隐蔽概念,并讨论信息隐藏与模块独⽴两概念之间的关系。
(6)4.8什么是模块独⽴性?设计中为什么模块要独⽴?如何度量独⽴性?模块功能独⽴有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1 简述数据流图的主要思想,概述使⽤数据流图进⾏需求分析的过程。
软件工程作业1软件工程作业11. 引言软件工程是一门研究如何以系统性的、经济合理地开发、维护和运行软件的学科。
在软件工程的学习过程中,作业是非常重要的一环。
本文档主要阐述了软件工程作业1的相关内容。
2. 背景软件工程作业1是软件工程课程的第一个作业任务,旨在帮助学生初步了解软件工程的基本概念和方法。
通过完成作业1,学生应能独立思考问题、分析需求、设计解决方案,并按照规定的要求提交作业报告。
3. 作业要求软件工程作业1的要求如下:- 阅读并理解给定的需求文档- 思考并设计解决方案- 使用Markdown文本格式编写作业报告- 作业报告要求包含以下内容:- 对需求文档的理解- 解决方案的设计思路- 实现步骤的描述- 遇到的问题及解决方法- 作业的心得体会和反思4. 解决方案设计根据给定的需求文档,在设计解决方案时,可以参考以下步骤:1. 理解需求:仔细阅读并理解给定的需求文档,确保对需求有清晰的认识。
2. 分析需求:对需求进行系统性的分析,确定主要功能和模块,并将其进行合理划分。
3. 设计方案:根据需求的分析结果,设计合理的解决方案。
可以使用UML图表或其他适合的工具进行模块设计和流程图设计等。
4. 实施步骤:分阶段实施解决方案,按照设计的模块和流程进行编码和测试。
5. 问题解决:在实施过程中,可能会遇到一些问题,需要及时解决。
可以通过查阅相关资料、请教同学或老师等方式解决问题。
6. 作业报告:在完成作业后,按照要求使用Markdown文本格式编写作业报告。
将解决方案的设计思路、实现步骤和遇到的问题等内容详细描述,并总结体会和反思。
5. 遇到的问题与解决方法在完成软件工程作业1的过程中,可能会遇到一些问题,如:- 对需求的理解存在困难:可以通过多次阅读需求文档、请教同学或老师等方式解决。
- 编码和测试时遇到BUG:可以通过调试程序、打印日志等方式定位问题并解决。
- 缺乏有效的工具和资源:可以通过查阅相关资料、探索互联网等途径寻找合适的工具和资源。
《现代软件工程》作业作业一:(一)名词解释1.软件危机2.数据流图3.数据字典4.变换流5.事务流6.耦合性7.内聚性8.程序设计语言(PDL)(二)填空题1. 在信息处理和计算机领域内,一般认为软件是_____、_____ 和_____ 。
2. 数据流图的基本组成部分有_____、_____、_____、_____。
3. 数据流图和数据字典共同构成了系统的_____模型,是需求规格说明书的主要组成部分。
4. 数据流图一般可分为_____和_____两类。
5. 结构化设计方法中,要把数据流图转换成软件结构,若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD称为_____数据流图。
6. PDL是描述处理过程“_____ ”的细节,结构化语言是描述加工“_____ ”的。
(三)选择题1. 软件工程的概念是哪年提出的( )。
A. 1988B. 1968C. 1948D. 19282. 影响输入输出风格的因素不包括( )。
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. 可自动生成程序的详细设计方法是( )。
A. 流程图B. IPO图C. 盒图D. PAD图(四)简答题1. 简述瀑布模型的阶段划分和各阶段的主要任务以及瀑布模型存在的问题。
2. 简述SA方法的优缺点。
3. 变换分析设计与事务分析设计有什么区别?简述其设计步骤。
(五)应用题某单位住房分配方案如下:所有住户50平方米以内每平方米1000元,超过50平方米后:在本人住房标准面积以内每平方米1500元,其中住房标准为:教授105平方米,副教授90平方米,讲师75平方米;标准面积以外每平方米4000元。
请用判定表和判定树表示各条件组合与费用之间的关系。
作业二:(一)名词解释1. 软件测试2. 语句覆盖3. 结构化维护4. 软件可维护性5. COCOMO估算模型6. 动态模型7. 功能模型8. 数据流图9. 事件跟踪图10.状态图(二)填空题1. 渐增式测试有三种不同的组装模块的方法:_____、_____和_____。
2. 自顶向下渐增式测试不需要编写_____模块,只需要编写_____模块,其步骤是从_____模块开始,沿着被测程序的_____的控制路径逐步向下测试,它有两种组合策略:_____和_____。
3. 自底向上渐增式测试不需要编写_____模块,只需要编写_____模块。
4. 软件配置审查的任务是检查软件的所有文档资料的_____和_____。
5. 调试也称_____,是在成功的测试之后才开始进行,其目的是确定错误的_____和_____,并改正错误。
6. 调试技术包括_____、_____、_____和_____。
7. 回溯法调试是从_____出发,而归纳法调试是从_____入手。
8. 预防性维护指为了提高软件_____和_____而对软件做出的修改。
9. 为了有效地进行软件维护,应事先开始_____,建立维护机构,这种维护机构通常以_____形式出现。
10. 软件工程管理中,控制包括_____、_____、_____和_____。
11. 在类的层次结构中,通常上层类称为______或______,下层类称为______。
12. 对象之间进行通信的构造叫做______。
在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。
接收消息的对象经过______,然后给予______,这种通信机制称为______。
13. 类中操作的______叫做方法,一个方法有______、______、______。
当一个对象接收一条消息后,它所包含的方法决定对象______。
14. 面向对象的特征是______、______、______、______。
15. 抽象是指强调实体的______、______,忽略一些无关紧要的属性。
类实现了对象的______和______的抽象,它是对象的共性的抽象。
16. 封装性是指所有软件部件内部都有明确的______以及清楚的______。
每个软件部件都有友好的______,软件部件的______与______分离。
17. 注释说明了_____的功能,它分为_____和_____。
(三)选择题1. 就软件产品的特点,以下说法错误的是( )。
A. 软件具有高度抽象性,软件及软件生产过程具有不可见性B. 同一功能软件的多样性,软件生产过程中的易错性C. 软件在开发和维护过程中的不变性D. 不同开发者之间思维碰撞的易发性2. 不属于软件项目进度安排的主要方法是( )。
A. 工程网络图B. Gantt图C. 任务资源表D. IFD图3. 以下说法错误的是( )。
A. 文档仅仅描述和规定了软件的使用范围及相关的操作命令B. 文档也是软件产品的一部分,没有文档的软件就不成软件C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量D. 高质量文档对于发挥软件产品的效益有着重要的意义4. 在软件项目管理过程中作为软件开发工作的第一步的一个关键活动是( )。
A. 编写规格说明书B. 制定测试计划C. 编写需求说明书D. 制定项目计划5. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于( )。
A. 成本估算B. 项目计划C. 工程管理D. 工程网络图6. 以下说法错误的是( )。
A. 软件配置管理简称SCIB. 软件配置项是配置管理的基本单位C. 软件配置实际上是一动态的概念D. 软件工程过程中某一阶段的变更均要引起软件配置的变更7. 软件工程比其他工程管理更为( )。
A. 容易B. 困难C. 迅速D. 迟缓8. 应用执行对象的操作可以改变该对象的( )。
A. 属性B. 功能C. 行为D. 数据9. 通过执行对象的操作改变该对象的属性,但它必须通过( )的传递。
A. 接口B. 消息C. 信息D. 操作10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( )。
A. 隐藏复杂性B. 信息隐蔽C. 经常类的复用D. 类的开发11. 软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( )。
A. 生存期B. 面向对象设计C. 面向对象程序设计D. 面向对象分析12. 面向对象的主要特征除对象惟一性、封装、继承外,还有( )。
A. 多态性B. 完整性C. 可移植性D. 兼容性13. 在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( )。
A. 数据流图B. 状态图C. 系统结构图D. 时序图14. 面说法正确的是( )。
A. 经过测试没有发现错误说明程序正确B. 测试的目标是为了证明程序没有错误C. 成功的测试是发现了迄今尚未发现的错误的测试D. 成功的测试是没有发现错误的测试15. ( )能够有效地检测输入条件的各种组合可能会引起的错误。
A. 等价类划分B. 边界值分析C. 错误推测D. 因果图16火车是一种陆上交通工具。
火车和陆上交通工具之间的关系是( )关系。
A. 组装B. 整体部分C. has aD. 一般具体17. 对象模型的描述工具是( )。
A. 状态图B. 数据流图C. 对象图D. 结构图18. 面向对象的主要特征除对象惟一性、封装、继承外,还有( )。
A. 多态性B. 完整性C. 可移植性D. 兼容性19. 对白盒测试和黑盒测试补充的一种有效方法是加强阶段( )。
A. 调试B. 评审C. 维护D. 自测试20. 如果编写系统软件,可选用( )语言。
A. FoxProB. CC. COBOLD. FORTRAN21. 如果采用快速原型开发软件适宜选用( )语言。
A. 4GLB. 汇编C. AdaD. Java(四)简答题1. 简述软件测试与软件调试的区别。
2. 简述软件维护的流程。
3. 什么是软件配置管理?什么是基线?4. 面向对象设计的启发规则是什么?5. 什么是程序设计风格?为了具有良好的设计风格,应注意哪些方面的问题?(五)应用题1.某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。
测试对象是按以上要求计算顾客收费模块,按照路径覆盖法设计测试用例。
2. 交通工具分为空中、陆上、水上交通工具,空中交通工具分为客机、货机、专用轻型机;陆上交通工具分为火车、汽车,火车和汽车又分客车、货车,水上交通工具有轮船,轮船分为客轮、货轮、客货混合轮。
建立交通工具的对象模型。