框架:
定义为三元组:目标、原则、活动。
1. 目标:上图描述了软件工程的主要任务。
正确性:达到了预期功能的程度;
可用性:软件基本结构、实现、和文档为用户可用的程度;
合算:开销合宜;
2. 活动:
需求、设计、实现、确认、支持;
需求:定义问题、建立系统模型。包含需求获取、需求定义、需求规约(系统功能的一个精确的系统的描述)、需求验证(验证需求陈述和需求规约之间的一致性、完整性、和可跟踪性)。
设计:在需求分析基础上,给出系统的软件设计方案。包含总体设计、详细设计。总体设计包含子模块、子系统以及相关层次的说明,每一个模块的结构定义;体系结构类型(层次模型体系结构、c/s体系结构、以数据库为中心的体系结构、管理结构和面向对象结构。)详细设计:针对体系结构中的每一个模块或构建的详细描述,给出每一个模块的数据结构和算法。
思考:总体设计相当于软件概要设计,应当描述构件组织关系、体系结构、结构定义和层次说明。详细设计主要致力于每一个模块的详细描述。符合自上而下的设计思想。
实现:把设计转化为可执行的代码。选择可用的模块或构件、或者用特定的语言进行编码;
确认:需求复核、设计审核、程序测试。主要活动:软件测试。
支持活动:修改、完善。
3.原则:
选择适合的开发模型。适宜的开发模型予以控制,以保证软件产品满足用户需求。使用适当的设计方法。模块化、抽象、信息隐藏、局部化、一致性以及适应性等特征;
提供高质量的工程支持:软件工具和环境。
重视软件开发过程的管理。
软件工程学科的研究内容:
1. 软件开发模型,全部过程活动和任务的框架;
2.软件开发方法。沟通、需求分析、设计建模、编程、测试、支持。
3.软件过程。
4.软件工具、开发环境、计算机辅助软件工程、软件经济学;