基本概念
“软件”:计算机程序及其说明程序的各种文档。
“程序”:是计算任务的处理对象和处理规则的描述。
“文档”:是有关计算机程序功能,设计,编制,使用的文字或图形资料。
计算机软件:计算机运行所需要的各种程序和数据的总称,包括操作系统,汇编程序,编译程序,数据库,文字编辑及维护使用手册。
软件的特殊性质:
1、软件产品的生产主要是脑力劳动。
2、软件是一种逻辑产品。
3、软件产品是不会用坏的,不存在磨损,消耗问题。
4、软件的生产主要是研制。
5、软件费用不断郑家,软件成本相当昂贵。
软件的分类:
1、系统软件
1、操作系统
2、语言处理程序
3、数据库管理系统
4使用程序和软件工具
2、应用软件
1、个人计算机软件
2、科学和工程计算软件
3、实时软件
4、人工智能软件
5、嵌入式软件
6、事务处理软件
7、工具软件
软件的发展:
1、程序设计时代(1946----1956)
在这一时期,软件的生产组要是个体手工劳动的生产方式。
程序设计者使用机器语言、汇编语言作为工具。
开发程序的方法上主要是追求编程技巧和程序运行的效率
所设计的程序难读,难修改。
2、程序系统时代(1956-----1968)
软件需求不断增大。
有个体手工劳动组成小集团合作。
生产工具是高级语言。
开发方法仍旧靠个人技巧。
软件规模越来越大,结构越来越复杂。软件维护的资源耗费严重。
3、软件工程时代(1968年至今)
1068年在联邦德国召开的会议上提出“软件工程”术语。
软件工程时代的生产方式是采用工程的概念原理技术和方法。
使用数据库,开发工具,开发环境,网络,分布式,面向对象来开发软件。
软件特征使开发技术有很大进步,但是未能取得突破性进展,软件价格不断上升,没有完全摆脱软件危机。
软件危机: 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。
1、对于软件开发的成本和进度的估计很不准确。
2、开发的软件产品不能完全满足用户要求。
3、开发的软件可靠性差。
4、软件通常没有适当的文档。
5、软件的可维护行差。
6、软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
软件危机的原因:
1、软件的规模愈发庞大。
2、软件开发的管理困难。
3、软件本身的独有特点确实给开发和维护造成一些客观困难。
4、软件开发和维护中许多错误认识和分析的重要性可以归结与计算机发展早期软件开发的个体化特点。
5、软件开发技术落后。
6、生产方式落后。
7、开发工具落后。
为了克服软件危机,人们从其他产业的工程化生产得到启示,采用工程的概念、原理、技术和方法来开发和维护软件,
把经过时间考验而证明正确的管理技术与方法技术结合起来,这这就是软件工程。
软件工程的基本原理:
这七条基本原理是保证软件产品质量和开发效率的最小集合,又是相当完备的。
1、用分阶段的生命周期计划严格管理。
2、坚持进行阶段评审。
3、实行严格的产品控制。
4、采用现代程序设计技术。
5、结果应能清楚地审查。
6、开发小组的人员应少而精。
7、承认不断改进软件工程实践的必要性。
软件工程目标:
在给定成本,进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、
可移植性、可追踪性、和可互操作性并满足用户需求的软件产品。
软件工程原则:
1、抽象。
2、模块化。
3、信息隐藏。
4、局部化。
5、完整性。
6、一致性。
7、可验证性。
软件工程面临的问题:
1、软件费用
2、软件可靠性
3、软件可维护性
4、软件生产率
5、软件重用