欢迎来到天天文库
浏览记录
ID:26175760
大小:228.00 KB
页数:7页
时间:2018-11-25
《软件工程整理11568》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、基本概念。(一)、软件1、软件的基本概念软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档组成的完整集合。可以写作为:软件=程序+数据+文档。程序:程序是按事先设计好的功能和性能要求执行的指令序列。 数据:数据是指程序能正常处理信息的数据和数据结构。 文档:文档是与程序运行和维护有关的图文资料。2、软件的特点(1)、抽象性:软件是一种逻辑实体,具有抽象性。(2)、软件不会磨损,不过它会退化 (3)、不能像硬件维修中直接更换磨损的零件,软件维护要复杂得多(4)、软件开发
2、性质如成本、进度等难以估计(5)、软件的开发更加依赖于开发人员的业务素质、智力、人员的合作、组织和管理。人们可以使用软件,但是无法看到软件本身的形态。必须通过观察、分析、思考、判断,才能了解其功能、性能等特性。3、软件种类的划分根据软件的用途进行划分,软件大致可以分为以下类型:(1)、系统软件。系统软件是为其他软件服务的软件。(2)、实时软件:管理、分析、控制现实世界中所发生的事件的软件称为实时软件。(3)、商业管理软件:常规的数据处理软件和一些交互式的计算处理(如POS软件)软件。(4)、工程
3、与科学计算软件:此类软件的特征是要实现特定的“数值分析”算法。(5)、嵌入式软件:驻留在专用智能产品的内存中,用于控制这些产品进行正常工作,完成很有限、很专业的功能的软件。(6)、人工智能软件:利用非数值算法去解决复杂问题的软件。(7)、个人计算机软件:文字处理系统、电子表格、游戏娱乐软件等等。(二)、软件工程1、软件工程基本概念软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科。软件工程应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建
4、软件以达到提高质量、降低成本的目的。计算机科学、数学用于构建模型与算法;工程科学用于制定规范、设计规范、评估成本及确定权衡;管理科学用于计划、资源、质量、成本等管理。软件工程学是一门指导计算机软件开发和维护的科学。软件工程包括:软件开发技术和软件项目管理。(1)、软件开发技术包括软件开发方法学、软件工具和软件工程环境。(2)、软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划等。2、软件危机所谓软件危机,就是指在软件开发和软件维护过程中所存在的一系列严重问题。具体地说,软
5、件危机具有如下一些表现:(1)、软件开发没有真正的计划性,对软件开发进度和软件开发成本的估计常常很不准确,计划的制定带有很大的盲目因素,因此工期超出、成本失控的现象经常困扰着软件开发者。 (2)、对于软件需求信息的获取常常不充分,软件产品往往不能真正地满足用户的实际需求。 (3)、缺乏良好的软件质量评测手段,从而导致软件产品的质量常常得不到保证。(4)、对于软件的可理解性、可维护性认识不够;软件的可复用性、可维护性不高。(5)、软件开发过程没有实现“规范化”,缺乏必要的文档资料或者文档资料不合格
6、、不准确,难以进行专业维护。 (6)、软件开发的人力成本持续上升。(7)、缺乏自动化的软件开发技术。一、软件工程七项基本原则(一)、用分阶段的生命周期计划严格管理 (二)、坚持进行阶段评审 (三)、实行严格的产品控制 (四)、采纳现代程序设计技术 (五)、结果应能清楚地审查(六)、开发小组的人员应少而精 (七)、承认不断改进软件工程实践的必要性二、软件工程三要素软件工程的方法、工具、过程构成了软件工程的三要素。(一)、软件工程方法:是整个软件工程的方法。为软件开发提供了“如何做某项工作”的技术指
7、南。使得整个开发过程的每一种阶段任务都能够“有章可循”。 (二)、软件工程工具:为软件工程方法提供了自动的或半自动的软件支撑环境。 (三)、软件工程中的过程:是整个软件工程的管理部分。将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。三、软件生命周期软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。在软件定义阶段中,主要进行问题定义、可行性研究和需求分析。软件被定义之后,进入软件开发阶段,主要对软件的体系架构、数据
8、结构和主要算法进行设计和编码实现。软件的运行与维护阶段在软件生命周期中占据的比例最大。针对不同的需求,维护工作一般可以分为纠错性维护、适应性维护、扩充性维护和预防性维护等不同类型。(一)、问题定义通过问题定义,确定要解决的问题。通过调研,写出关于问题性质、工程目标和工程规模的书面报告,并得到客户的确认。(二)、可行性研究 可行性研究是对问题定义的一个具体,确定问题是否可行,通过什么方式解决问题。研究并论证软件系统的可行性,对方案进行选择并形成可行性分析报告。可行性包括经济上的可行性,技术上的可行
此文档下载收益归作者所有