产生的问题
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1.对软件开发成本和进度的估计常常很不准确。
2.用户对“已完成的”软件系统不满意的现象经常发生。
3.软件产品的质量往往靠不住。
4.软件常常是不可维护的。
5.软件通常没有适当的文档资料。
6.软件成本在计算机系统总成本中所占的比例逐年上升。
7.软件开发生成率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生问题的原因
1.与软件本身的特点有关,2.和软件开发与维护的方法不正确有关。
软件是计算机系统中的逻辑部件,软件缺乏“可见性”,软件的质量也较难评价,因此,管理和控制软件开发过程相当困难。
软件是程序、数据及相关文档那个的完整集合。必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
软件工程的7条基本原理
1.用分阶段的生命周期计划严格管理。不成功的软件项目中有一半是由于计划不周造成的。
2.坚持进行阶段评审。
3.实行严格的产品控制。
4.采用现代程序设计技术。
5.结果应能清楚地审查。
6.开发小组的人员应该少而精。
7.承认不断改进软件工程实践的必要性。
传统方法学和面向对象方法学。
传统方法学采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。强调自顶向下顺序地完成软件开发的各阶段任务。这种技术要么面向行为,要么面向数据。
面向对象方法是一个主动地多次反复迭代的演化过程。面向对象方法把数据和行为看成是同等重要的。
软件生命周期
软件生命周期由软件定义、软件开发和运行维护。
软件定义:问题定义、可行性研究、需求分析。
软件开发:总体设计、详细设计、编码、单元测试、综合测试。
运行维护。