1.软件危机的具体表现为:
软件开发进度难以预测;
软件开发成本难以控制;
软件功能难以满足用户期望;
软件质量无法保证;
软件难以维护;
软件缺少适当的文档资料。
2.软件工程定义
软件工程一直以来都缺乏一个统一的定义,很多学者和组织机构都分别给出了自己的定义:
Barry Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文件资料。
IEEE:软件工程是:将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;对中所述方法的研究。
Fritz Bauer:在NATO会议上给出的定义,建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。
《计算机科学技术百科全书》:软件工程是应用计算机科学、数学、逻辑学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则和方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法;工程科学用于制定规范、设计范型(Paradigm)、评估成本及确定权衡;管理科学用于计划、资源、质量、成本等管理。
软件工程过程是指为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动,包括以下4个方面。
(1)P(Plan)——软件规格说明。规定软件的功能及其运行时的限制。
(2)D(Do)——软件开发。开发出满足规格说明的软件。
(3)C(Check)--软件确认。确认开发的软件能够满足用户的需求。
(4)A(Action)--软件演进。软件在运行过程中不断改进以满足客户新的需求。
领取专属 10元无门槛券
私享最新 技术干货