软件工程
-
软件工程中包含哪四大要素?
-
方法与技术;
-
工具与环境;
-
管理与控制;
-
标准与规范;
-
-
软件生存期分为哪三个过程?又分为哪九个阶段?
-
软件定义过程;软件开发过程;软件使用与维护过程;
-
需求分析,可行性研究,概要设计,详细设计,编程,测试,验收,使用与维护,退役
-
-
常用的软件开发模型有哪些?各自的特点是?
-
瀑布模型,原型模型,螺旋模型,喷泉模型
-
-
一般软件项目开发过程中需要哪些文档?
-
13种,可行性分析报告,项目开发计划,软件需求说明书,概要设计说明书,详细设计说明书,用户操作手册,测试计划,测试分析报告,开发进度月报,项目开发总结报告,软件维护手册,软件问题报告,软件修改报告。
-
可行性分析报告:说明该软件开发项目的实现在技术、经济和社会因素上的可行性,评述为合理地达到开发目标可供选择的各种可能实施方案,说明并论证选定实施方案的理由。
-
项目开发计划:为软件项目实施方案制订出具体计划,其内容应该包括各部分工作的负责人员、开发的速度、开发经费的预算、所需的硬件及软件资源等。
-
软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境做出详细的说明。他是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。
-
概要设计说明书:是概要设计阶段的工作成果,应说明功能分配、模块划分、程序的总体结构、输入输出及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
-
详细设计说明书:着重描述每一模块式怎样实现的,包括实现算法、逻辑流程等。
-
用户操作手册:详细描述软件的功能、性能和用户节目,是用户对如何使用该软件有具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体实现。
-
测试计划:为做好集成测试和验收测试,需要为如何组织制订测试计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。
-
测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。
-
开发进度月报:是软件开发人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和采取解决的办法以及下个月的打算等。
-
项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。
-
软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。
-
软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文件。
-
软件修改报告:软件产品投入运行以后,发现需对其进行修正或更改,应将存在的问题、修改的考虑以及修改的影响做出详细的描述,提交审核。
-
-
什么是软件度量?软件度量的基本过程包含几个步骤?
-
软件度量是针对软件开发项目、过程及产品进行数据定义、收集及分析的持续化定量化的过程。在软件开发过程中,不管哪种软件度量方法,都包括了基本的软件度量过程。软件度量的基本过程包含了以下的几个步骤:度量承诺,度量计划,度量实施,度量评估,度量改善。
-
-
什么是CMMI?CMMI将软件过程的成熟度分为哪五个等级?
-
初始级,可重复级,已定义级,已管理级,优化级
-
-
什么是版本控制?在软件开发过程中如何进行版本控制?
-
版本控制是一种软件工程技巧,在开发过程中,借助此技巧可确保不同人所编辑的同一文档都得到更新。
-
UML-统一建模语言
-
UML中定义了几种图?
-
用例图
-
静态图(类图,包图,对象图)
-
行为图(活动图,状态图)
-
交互图(时序图,协作图)
-
实现图(组件图,配置图)
-
-
在UML中,模型元素与模型元素之间的关系分为哪几种?
-
关联b) 依赖c)泛化-即继承d)实现
-
-
什么是用例图?有何用途?
-
用例图是被称为参与者的外部用户所能观察到的系统功能的模型图,它呈现了一些参与者和一些用例,展示了用例之间以及用例同用例参与者之间是怎样相互联系的,主要用于对系统、子系统或类的功能行为建模。
-
用例图的主要用途是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系,以及系统内用例之间的关系。用例图一般表示出用例的组织关系,要么是整个系统的全部用例,要么是完成具有功能的一组用例。
-
用例图包括两个基本元素,一个是用例,一个是参与者。
-
-
时序图和协作图的主要区别在哪里?
-
时序图和协作图都是用来描述系统对象通信和交互的。时序图把重点放在消息序列上,描述消息在对象间是如何收发的,而协作图把重点放在描述协作对象的交互与链接。协作图和时序图的区别主要体现在时序图强调的是时间,而协作图强调的是空间。
-
-
状态图和活动图的主要区别在哪里?
-
状态图和活动图都是用来描述系统状态转移的。状态图重点用来描述对象、子系统及系统的生命状态。通过状态图可以了解一个对象所能达到的所用状态,以及对象受到的时间对对象状态的影响。而活动图重点用来显示动作及其结果,着重描述操作方法实现中所完成的工作以及用例实例或对象中的活动,他是状态图的一个变种。状态图与活动图的区别主要体现在活动图主要描述动作以及对象状态改变的结果,而状态图主要描述的是时间对对象状态的影响。
-
-
UML重的双向工程起什么作用?
-
无论是从UML模型生成代码还是从代码回到模型,都是一项非常复杂的工作。正向工程和逆向工程将这两方面结合在一起,定义为双向工程(RTE-Round-TripEngineering)。双向工程提供了一种在描述系统架构的模型和设计代码之间进行双向交换的机制。
-
当前业界使用最为广泛的UML建模工具为RationalRose。RationalRose可实现正向、逆向和双向工程,从而保证模型和代码的高度一致。
-
-
什么是RUP?
-
Rational UnifiedProcess,统一软件开发过程,是一个面向对象且基于网络的程序开发方法论。
-
-
实际应用中比较流行的软件开发过程都有哪些?
-
RUP-Rational Unified Process
-
OPEN Process
-
OOSP-Object-Oriented SoftwareProcess
-
XP-Extreme Programming
-
DSDM-Dynamic System DevelopmentMethod
-
Java中的设计模式
-
什么是设计模式?设计模式的主要作用是什么?
-
设计模式是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式的主要作用是为了可重用代码,是代码更容易被他人理解,保证代码的可靠性。
-
-
简单说明框架和设计模式之间的关系?
-
设计模式和框架在软件设计中是两个不同的研究领域。设计模式研究的是一个设计问题的解决方法,一个模式可应用于不同的框架和被不同的语言所实现;而框架则是一个应用的体系结构,是一种或多种设计模式和代码的混合体。虽然他们有所不同,但是在思想上存在着统一性的特点,设计模式的思想可以在框架设计中进行应用。
-
面向对象软件系统一般划分为三大类:开发工具,工具箱(如服务器控件、组件等),框架(可重复使用的一组相互协作的类库)。
-
-
Java中有哪些常用的设计模式?
-
抽象工厂模式(AbstractFactory)
-
适配器模式(Adapt)
-
桥梁模式(Bridge)
-
建造模式(Builder)
-
责任链模式(Chainof Responsibility)
-
命令模式(Command)
-
合成模式(Composition)
-
装饰模式(Decorator)
-
门面模式(Facade)
-
工厂方法模式(FactoryMethod)
-
享元模式(Flyweight)
-
解释器模式(Interpreter)
-
迭代子模式(Iterator)
-
调停者模式(Mediator)
-
备忘录模式(Menento)
-
观察者模式(Observer)
-
原始模型模式(Prototype)
-
代理模式(Proxy)
-
单例模式(Singleton)
-
状态模式(State)
-
策略模式(Strategy)
-
模版模式(TemplateMethod)
-
访问者模式(Visitor)
-