(1)如何开发软件,以满足不断增长的、日趋复杂的要求;
(2)如何维护规模不断庞大的软件产品;
优秀的程序除了功能正确、性能优良以外,还应该易读、易用、易维护。为了摆脱软件危机提出“软件工程”概念
软件工程是一门建立在系统化、规范化、数量化等工程原则和方法上的,关于软件开发各阶段的定义、任务和作用的工程学科。软件工程包括两方面内容:软件开发技术和软件项目管理。
软件开发技术包括软件开发方法学、软件工具和软件工程环境;
软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理和项目计划等。
(1)需求分析阶段:对目标产品的期望,用户的需求(建立系统模型-数据流图)
(2)系统分析与设计阶段:系统分析是与需求分析同时进行的,而系统设计一般是在系统需求之后进行的
(3)系统实现阶段:也就是编码阶段,现在编码阶段占比正在逐渐减少
(4)测试阶段:对以上所有阶段进行检查,保证产品的正确性、完整性和一致性。软件测试以检查软件产品内容和功能特 性为核心,是保证软件质量的关键步骤
(5)维护阶段:在交付产品之后的修改工作