软件工程考试题(含答案)

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

1什么是软件工程

答:是研究和应用如何以系统性的,规范化的,可定量的工程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

2最常用的软件过程模型有哪些

答:瀑布模型,喷泉模型,快速原型模型,增量模型,螺旋模型,敏捷模型,构件集成模型。

3软件开发的主要阶段是什么?每个阶段的任务是什么?

答 :需求分析:在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析。需求分析阶段是一个很重要的阶段,这一阶段做的好,将为整个软件项目的开发打下良好的基础。“唯一不变的是变化本身”,同样软件需求也是在软件爱你开发过程中不断变化和深入的,因此,我们必须定制需求变更计划来应付这种变化,以保护整个项目的正常进行。

软件设计:此阶段中偶要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。软件设计一般分为总体设计和详细设计。还的软件设计将为软件程序编写打下良好的基础。

软件实现:此阶段是将软件设计的结果转化为计算机可运行的程序代码。在程序编码中必定要制定统一、符合标准的编写规范。以保证程序的可读性、易维护性。提高程序的运行效率。

软件测试:在软件设计完成之后要进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。整个测试阶段分为单元测试、组装测试、系统测试三个阶段进行。测试方法主要有白盒测试和黑盒测试。

软件维护:软件维护活动总结起来大概有四种,纠错性维护,适应性维护,完善性维护或增强,预防性维护或在工程。除此之外,还有一些其他类型的维护活动,如支援性维护。

以上就是软件开发过程的五个阶段,但是有的时候在软件爱你开发过程中并不是必须按照这个过程进行的。

4产生软件危机的原因主要是什么

答:研制软件系统需要投入大量的人力和物力,但系统的质量却难以保证,也就是说,开发软件所需的高成本同产品的低质量之间有着尖锐的矛盾,这种现象就是所谓的“软件危机”。

5可行性分析中分析的主要方面是什么

答:

(1)调研软件开发背景

(2)问题定义

(3)经济可行性分析

(4)技术可行性分析

(5)法律可行性分析

(6)用户使用可行性分析

(7)结论

6功能模型,对象模型分别有什么作用

答:功能性模型:找出每个实体与系统之间的输入输出信息

对象模型:对用例模型进行分析,把系统分解成相互协作的分析类。

7面向对象设计的主要原则是什么

答:面向对象设计的五大基本原则:单一职责原则,开放封闭原则,依赖倒置原则,接口隔离原则,liskov替换原则1一个管理系统的注册内容如图所示还不够完善,你觉得还要添加什么功能

答;验证码

2一个具有三人的软件团队,投资三十万开发一套名为sof+3d的图形系统,此系统下至开发工具,上至应用软件,无所不包,请对该项目进行可行性分析

自己分析

3下图是新增盘点用例的活动图,请用文字描述该用例的执行过程

答:看着图从上往下自己描述。

一软件工程

1.(1)软件:程序+数据+文档

(2)软件危机:查阅软件

(3)开发过程:

问题定义

可行性分析

需求分析

编码实现

软件测试

2.软件工程:技术+管理

概念:软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

三要素:方法、工具和过程

目标:提高软件质量、降低软件成本。

二软件维护

1.概念:软件产品交付使用后对其进行修改,纠正故障,改进性能属性,让产品适应环境改变。

修改软件叫做维护,在原件运行阶段做维护。

类型:

改正性维护:识别软件错误改正缺陷。

适应性维护:外部环境或数据环境发生变化而去进行改正。

完善性维护:用户的新功能和性能。

预防性维护:改善软件的可靠性和可维护性。

过程:

(1)评价系统提升请求

(2)评价改正问题请求

(3)程序紧急排错

(4)制定系统维护更新计划

(5)维护更新版本需求分析

(6)维护更新版本设计

(7)维护更新版本编写和测试

(8)新版本发布

(9)实行预防性维护

(10)人员培训

(11)周期性系统评估

(12)进行执行后评审

2.软件的可维护性:确定质量管理目标,提高软件的技术工具,先进的技术和完善的文档可以提升完善性。

三软件项目管理:

维护阶段时间长

1.概念:软件项目管理是为了为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、质量、人员进度、风险等进行分析管理的活动。

2.内容:时间:功能点代码行

人员:三小组

配置:程序数据文档

质量

3.CMM

四软件过程模型

1.软件生命周期:SDLC:定义开发运行维护

2.过程模型:

可行性分析

需求分析

软件设计

软件实现

软件测试

软件维护

五可行性分析

1.目的:用户对系统的细节需求

2.软件定义(问题定义):

软件名称

提出背景

目标

类型

服务范围

基本需求

软件环境

主要技术

基础条件

3.可行性分析:经济可行性技术社会用户使用法律

六软件开发的方法

面向对象

结构化

七面向对象分析(需求分析)

1、概念:

类:类是对象的抽象。类一般分为三种,边界类:收集参与者信息,描述系统与角色之间的接口。控制类:表示协调顺序事务处理以及控制其他对象的类。和实体类:保存长久信息需要建模的类,实体类要保存在数据库中。

实体类:软件内部的用例参与对象,角色、组织部门、设备、事件、对象。

用例之间的关系:

包含关系:要完成用例A必须完成用例B。用例B是用例A的一部分。

扩展关系:完成用例A不一定要完成用例B。完成用例B必须要完成用例A。

用例:无序独立有意义有参与者发起

用力说明+用例功能=功能模型

边界类(界面页面)—> 控制类(收集信息) - ---> 实体类(保存信息)

类:类名属性方法服务

类之间的关系(标识关系):依赖继承实现聚合组合(P141-143)

对象继承通信

2、分析目标(做什么)

通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,确定新系统的功能。

3、分析过程(4个)

获取需求需求建模需求说明需求评审

4、需求获取:

业务:为什莫

用户:谁用?做什么?

功能:软件具备的功能

非功能

八面向对象设计(软件设计)

1、设计原则(5条):单一职责开放封闭依赖倒置接口隔离Liskov替换

2、体系结构设计:

体系结构是软件的支撑

模块就如同人的器官具有特定的功能。

数据结构与算法就如同人的血脉和神经让他具有生命并发挥功能。

界面如同人的外表

体系结构是对复杂事务的一种抽象

目前最流行的体系结构设计是B/S mvc设计模式

3、完善类图

4、界面设计(给出要求设计出相应的界面)

设计思想:以人为本

设计原则:就近原则容错原则帮助原则习惯原则简洁高效原则

相关文档
最新文档