一、软件工程概述(1.1计算机软件&1.2软件工程) |
您所在的位置:网站首页 › 计算机软件系统概述 › 一、软件工程概述(1.1计算机软件&1.2软件工程) |
一、计算机软件
软件:是计算机系统中与硬件相互依存的另一部分。包括程序、数据及其相关文档的完整集合。 即软件=程序及数据+文档 1. 软件的发展1946-1956(程序设计):从计算机问世到实用的高级程序语言出现前。 1956-1968(程序系统): 从实用的高级语言出现到出现软件工程前。 1968-至今(软件工程):从软件工程出现到现在。 1990-至今(现代软件工程):软件产业化的时代。 软件危机是指落后的软件生产方式无法满足迅速增长的计算机需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。 (1)发生原因: ①用户需求不明确 ②缺乏正确的理论指导 ③开发规模越来越大 ④开发复杂度越来越高 ⑤缺乏合理的维护手段 (2)表现: ①开发进度难以估测 ②开发成本难以控制 ③用户对产品功能难以满足 ④软件产品质量无法保证 ⑤软件产品难以维护 ⑥缺少合适的文档资料 (3)解决途径: 1. 彻底消除“软件就是程序”的错误观念。 2. 充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。 3. 推广使用在实践中总结出来的开发软件的成功的技术和方法,并且研究探索更好更有效的技 术和方法。 4. 开发和使用更好的软件工具。 2. 软件的特点表现形式 : 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性。 生产方式 : 软件的生产与硬件不同,在它的开发过程中没有明显的制造过程,大多数软件仍是定制的。 维护 : 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。 要求: 软件产品不允许误差。 其他特点: 软件的开发和运行对计算机系统有着不同程度的依赖性。 软件的开发至今尚未完全摆脱手工艺的开发方式 。 软件本身是复杂的...... 3. 软件的分类①按软件的规模进行划分 按开发软件所需的人力、时间以及完成的源代码行数。 ②按软件的功能进行划分 系统软件:操作系统、编译程序 、设备驱动程序 、通信处理程序 支撑软件:数据库管理系统 、软件开发环境 、网络软件 、软件工具 应用软件:Web应用软件 、嵌入式软件 、人工智能软件等 ③按软件开发划分 软件项目开发和软件产品开发。 ④按软件的工作方式进行划分 ⑤按软件服务对象的范围进行划分 ....... 4. 软件语言需求定义语言 功能性语言 设计性语言 实现性语言(即程序设计语言) 文档语言 二、软件工程 1. 软件工程的定义软件工程是一类求解软件的工程,它应用计算机科学、数学(用于构造模型和算法)和管理 科学(用于计划、资源、质量和成本等的管理) 等原理,借鉴传统工程(用于制定规范、设计范型、评估成本、权衡结果)的原则和方法, 创建软件以达到提高质量、降低成本的目的。 软件工程三要素:工具、过程、方法 2. 软件工程的原理(1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采用现代程序设计技术 (5)清楚审查 (6)人少而精 (7)不断改进 3. 软件生命周期软件生命周期由软件定义、软件开发、运行维护(软件维护)三个时期组成。 软件定义:任务:确定总目标;确定可行性;导出采用的策略以及系统功能;估计成本,制定时间表。 分为三时期:问题定义、可行性研究和需求分析。 软件开发:分为两个阶段四个时期: 系统设计:总体设计、详细设计。 系统实现:编码和单元测试、综合测试。 软件维护:主要任务是使软件持久的满足用户的需求。 通常有4类维护活动: 改正性维护; 适应性维护;完善性维护;预防性维 护。 软件生命周期具体八阶段:(1)问题定义:回答要解决的问题是什么。 (2)可行性研究:对于上一个阶段确定的问题有行得通的解决办法吗。 (3)需求分析:确定目标系统必须具备哪些功能、性能。 (4)总体设计:概括地说应该怎样实现目标系统。 (5)详细设计:怎样具体实现系统。 (6)编码和单元测试:写出正确的容易理解、容易维护的程序模块。 (7)综合测试:通过各种类型的测试使软件达到预定的要求。 (8)软件维护:通过各种必要的维护活动使系 统持久地满足用户的需要。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |