Object-oriented software engineering
presentation controller bean mediator resource
校正性维护、适应性维护、完善性维护、预防性维护
PAD图是问题分析图
单元测试、集成测试、系统测试、确认测试(验收测试)
用户需求和系统需求各有什么特点?
用户需求是从用户角度来描述系统功能和非功能需求,以便让不具备专业技术方面知识的用户能看懂。
用户需求是描述系统的外部行为,用自然语言、图表和直观的图形来叙述。
系统需求是比用户需求更详细的需求描述,是系统实现的基本依据,因此,是一个完全的、一致的系统描述,是软件工程人员系统设计的起点。
系统需求描述可能包括许多不同的模型,如对象模型和数据流模型。
软件测试的目的是什么?为什么把软件测试的目的定义为只是发现错误?
软件测试的目的有:
软件测试是为了发现错误而执行程序的过程
一个好的测试用例能够发现至今尚未发现的错误
一个成功的测试是发现了至今尚未发现的错误
软件测试的目标定义为只是发现错误,原因是软件测试可以有两个目标,一个是预防错误,另一个是发现错误。由于软件开发是人的创造性劳动,人的活动不能完美无缺,错误可能发生在任何一个阶段,因此预防错误这一目标几乎是不可实现,所以软件测试的目标定义为只是发现错误。
在UML的活动图中,泳道、菱形、同步棒代表什么含义(起到什么作用)?
泳道:代表活动发生的地点,一般是一些起相似作用的类的集合。
菱形:代表判定,判断某个条件的取值,并转到不同的后续分支中去。
同步棒:同步棒括起来的活动必须都成功完成,才能进入到后续的活动中去。
软件生存期如何划分?
软件生存周期:一个软件的从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期一般可分为以下阶段:
软件生存期也可以分为三个大的阶段:计划阶段、开发阶段和维护阶段。
什么是软件结构?简述软件结构设计优化准则。
软件结构:软件结构的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。
软件结构设计优化准则:
可行性研究包括哪几个方面的内容?
技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;
经济可行性:经济效益是否超出开发成本;
操作可行性:系统操作在用户内部是否行得通;
法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律;
分析软件危机产生的主要原因有哪些?
除了软件本身的特点,其原因主要有以下几个方面:
软件测试包括哪些步骤?同时说明这些步骤的测试目的是什么?
单元测试:目的是代码达到模块说明书的要求
集成测试:目的是将经过单元测试的模块逐步组装成具有良好一致性完整的程序
确认测试:目的是确认程序系统是否满足软件需求规格说明书的要求
系统测试:目的是检查能否与系统的其余部分协调运行,并且完成SRS对它的要求
什么是软件复用?简述软件复用和软件共享、软件移植的区别?
软件复用:是指在构造新的软件系统的过程中,对已存在的软件人工制品的使用技术。
软件共享:在一个系统中使用多次使用一个相同软件的成分。
软件移植:对一个软件进行修改,使它能运行于新的软、硬件平台。
顺序图和通信图中,消息有哪三种?各自的意义和表示什么?
消息可以是 简单的、同步的和异步的。
简单的消息是从一个对象到另一个对象的消息应答,收到应答后才能继续自己的操作。
发送异步的消息的对象不需要等待对方的应答便可以继续自己的操作。
在顺序图中,简单消息是一个简单箭头,同步消息是实心箭头。
异步消息是一个半边箭头
认为 ”软件开发就是编程序。“ 这种观点是否正确?为什么?
认为 “软件开发就是编程序。” 这种观点是错误的。
首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合,程序只是软件的组成部分之一,其次在软件开发中编程只是软件开发过程中的一个阶段。
什么是软件工程?
软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过的时间考验而证明正确的管理技术和当前能够得到最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
顶层数据流图或环境图的作用是什么?
顶层数据流图(或称环境图)仅包括一个数据处理过程,也就是要开发的目标系统。其作用如下:
UML中有哪些关系?解释类图中聚合和关联的相同点和不同点。
在UML中,常见的关系由泛化、聚合、关联、依赖和实现。
在类图中,关联是一种结构关系,它描述了两个或多个类的实例之间的连接关系。
聚合描述了整体和部分之间的结构关系。按照关联关系的定义,聚合属于一种特殊的关系,只不过这种关联关系具有明确的整体 - 部分含义而已。从耦合度的角度来看,聚合关系要强于关联关系。
面向对象分析需要建立三个模型是什么?
面向对象分析需要建立3个模型是: