——软件工程
是一门研究应用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
工程包括了管理、过程和技术三个方面,过程指软件的开发、维护过程及管理过程。涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等。
目标:
达到要求的软件功能。
取得较好的软件性能。
付出较低的开发成本。
开发的软件易于移植。
开发的软件易于维护,需要较低的维护费用。
能按时完成开发任务,并交付使用。
注意:
软件设计时,充分考虑软件的可修改性、可扩展性。
软件开发文档齐备。
加强团队合作精神。
——软件工程过程
是指软件生命周期所涉及的一系列相关过程,是产生一个最终能满足需求且达到工程目标的软件产品所需要的步骤。
包括开发过程、运作过程和维护过程。覆盖了分析、设计、编码、测试及支持。
分析包括问题分析和需求分析,需求分析生成功能规约。
设计包括概要设计和详细设计。
概要设计建立整个软件系统结构,包括子系统、模块及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块或类说明。
基本原则:
选取适宜的软件开发模型
采用合适的软件开发方法
提供高效的开发支撑环境
重视软件开发过程的管理
建设高素质的软件开发团队
软件生命周期:制定计划、需求分析和定义、设计、编码、测试、运行和维护。
通常要考虑软件的模块化、抽象与信息隐藏、可移植性、局部化、可适用性。
——UML统一建模语言
它使开发人员专注于建立系统的模型和结构,而不是选用具体的程序设计语言和算法来实现,当模型建立以后,模型可被UML工具转化为指定的程序设计语言代码和数据库结构。
用例图:用于业务建模、需求捕获,作为测试的依据
类图:描述类以及类之间的相互关系
对象图:描述对象以及对象之间的关系