1.什么是软件工程?当前有哪几种重要软件工程办法?
概括地说,软件工程是指引计算机软件开发和维护一门工程学科•釆用工程概念、 原理、技术、和办法来开发与维护软件,把通过时间考验而证明对的管理技术和 当前可以得到最佳技术办法结合起来,以经济地开发出高质量软件并有效地维护 它,这就是软件工程。
但软件工程始终以来都缺少一种统一定义,诸多学者、组织机构都分别给出了自 己定义。
重要有老式办法也称为典型软件工程办法或生命周期办法或构造化范型和面向 对象办法。
2、    流程图与数据流图有什么重要区别?
< 1)数据流图(date flow diagram , DFD),SA办法中用于表达系统逻辑 模型一种工具,它以图形方式描绘数据在系统中流动和解决过程,由于它只反映 系统必要完毕逻辑功能,因此它是一种功能模型,是从数据角度来描述一种系统; 而流程图则是从对数据加工角度来描述系统;
2)    数据流图中箭头是数据流,而流程图中箭头则是控制流,它表达是程序执行 顺序;
(3)    数据流图适合于宏观地分析一种组织业务概况,而程序流程图只适合于描述 系统中某个加工执行细节。
4)    数据流程图应当重点描述了数据加工过程,重要是模块内部,数据流图则 是描述模块之间关系。
3.软件需求分析任务是什么?有哪些重要环节?
需求分析基本任务是进一步描述软件功能和性能、拟定软件设计约束和软件同其 他系统元素接口细节、定义软件其他有效性需求,总之,需求分析任务就是借助 于当前系统逻辑模型导出LI的系统逻辑模型,解决LI的系统“做什么”问题。 重要环节:
1.问题辨认
(1)功能需求:明确所开发软件必要具备什么样功能。
(2)性能需求:明确待开发软件技术性能指标。
(3)环境需求:明确软件运营时所需要软、硬件规定。
(4)顾客界面需求:明确人机交互方式、输入输出数据格式。
2.分析与综合,导出软件逻辑模型
分析人员对获取需求,进行一致性分析检查,在分析、综合中逐渐细化软件功能,
划提成各个子功能。用图文结合形式,建立起新系统逻辑模型。
3.编写文档
(1)编写“需求规格阐明书”,把双方共同理解与分析成果用规范方式描述出来, 作为此后各项工作基本。
(2)编写初步顾客使用手册,着重反映被开发软件顾客功能界面和顾客使用品体 规定,顾客手册能强制分析人员从顾客使用观点考虑软件。
(3)编写确认测试筹划,作为此后确认和验收根据。
(4)修改完善软件开发筹划。在需求分析阶段对待开发系统有了更进一步理解, 因此能更精确地预计开发成本、进度及资源规定,因而对原筹划要进行恰当修正。
4.简述构造化分析、设计要点:
构造化分析办法适合于数据解决类型软件需求分析。
其要点是〃自顶向下〃地开发系统,山整体到各构成某些,山表及里,山抽象到详
细,逐渐求精.
(1)模块化
(2)山顶向下,逐渐求精.
(3)±层模块分解为下层模块,有三种不同构造形式,即顺序构造,选取构
造和循环构造.
5.数据字典包括哪些重要内容?
数据字典普通涉及数据项、数据构造、数据流、数据存储和解决过程五个某些. 据字典内容涉及:
数据库中所有模式对象信息,如表、视图、簇、及索引等。
分派多少空间,当前使用了多少空间等。
列缺省值。
约束信息完整性。
顾客名字。
顾客及角被授予权限。
顾客访问或使用审计信息。
其他产生数据库信息。
6.软件测试目的是什么,有哪几种重要有测试办法?
软件测试LI的:
(1)测试是为了发现程序中错误而执行程序过程;
(2)好测试方案是极也许发现迄今为止尚未发现错误测试方案;
(3)成功测试是发现了至今为止尚未发现错误测试。
软件测试办法有动态测试、静态测试和对的性证明3种。
7.白盒测试重要有哪些覆盖?
语句覆盖、鉴定覆盖、条件覆盖、鉴定/条件覆盖、条件组合覆盖、点覆盖、边 覆盖、途径覆盖
考研步骤流程图8.选取一种程序设计语言重要有哪些根据?
为了使程序容易测试和维护以减少生命周期总成本,选用高档语言应当有抱 负模块化机制,以及可读性好控制构造和数据构造;为了便于调试和提高软件可 黑性,语言特点应当使编译程序可以尽量多地发现程序中错误;为了减少软件开 发和维护成本,选用语言应当有良好独立编译机制。上述这些规定是选取语言抱 负原则,但是在实际选用语言时不能仅仅考虑理论上原则,还必要同步考虑实用 方面各种限制。
(1)系统顾客规定
(2)可以使用编译程序
(3)可以得到软件工具
(4)系统规模
(5)程丿了员知识
(6)软件可移植性规定
(7)软件应用领域
9.软件维护目的是什么,有哪几种维护类型?
纠正在使用过程中暴露岀来错误而进行改进性维护,适应外部环境变化而进 行适应性维护,改进原有软件而进行完善性维护,以及改进将来可维护性和可靠 性而进行防止性维护。
软件维护分类:
软件维护重要划分为纠错性维护、适应性维护和完善性维护。
(1)纠错性维护。山于询期测试不也许揭露软件系统中所有潜在错误,顾客 在使用软件时仍将会遇到错误,诊断和改正这些错误过程称为纠错性维护。
(2)适应性维护。山于新硬件设备不断推出,操作系统和编译系统也不断地 升级,为了使软件能适应新环境而引起程序修改和扩充活动称为适应性维护。
(3)完善性维护。在软件正常使用过程中,顾客还会不断地提出新需求。为 了满足顾客新需求而增长软件功能活动称为完善性维护。
10.简述提高软件质量重要办法。
复审:是在软件生命周期每个阶段结束之前,都采用一定原则对该段产生软件配 备成分进行严格正式或非正式检测。
复查:是检查已有材料,以断定在软件生命周期某个阶段工作与否可以开始或继 续。
管理复审:是向开发组织或使用部门管理人员提供关于项LI总体状况、成本和进 度等方面状
况,以便她们从管理角度对开发工作进行审查。
测试:涉及测试筹划、测试过程和测试成果3个阶段。
面向对象如何实现模块独立性,其偶合和内聚含义是什么?
山于对象是山数据及可以对这些数据施加操作所构成统一体,并且对象是以数据 为中心,操作环绕对其数据所需做解决来设立,没有无关操作。因而,对象内部 各种元素彼此结合得很紧密。内聚性相称强,山于完毕对象所需要元素(数据和 办法)基本上都被封装在对象内部,它与外界联系自然就比较少。因而,对象之 间耦合普通比较松。总之,面向对象使用对象、类、继承和消息办法,既使用类 和继承等机制,并且对象之间仅能通过传递消息实现彼此通信来实现模块独立性。
12.面向对象和面向过程软件工程有哪些区别?