第1章 概述 1.1 软件工程 1.2 UML简介 1.3 案例描述 1.1.1 软件工程的定义 1.1.2 软件工程目标 1.1.3 软件工程过程 1.1.4 软件工程的原则 1.2 UML简介 1.3 案例描述 2019年4月4日星期四
软件工程(Software Engineering,简称SE),是一门研究应用工程化方法构建和维护有效的、实用的和高质量的软件的学科。 1.1.1 软件工程的定义 软件工程(Software Engineering,简称SE),是一门研究应用工程化方法构建和维护有效的、实用的和高质量的软件的学科。 工程不仅仅是一个学科或一个知识体系,它还是解决问题的方法。这里的方法包括了管理、过程和技术三个方面,其中,“过程”是指软件的开发、维护过程以及管理过程。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法相结合,这就是软件工程。 2019年4月4日星期四
1.1.2 软件工程的目标 软件工程的主要目标是采用工程化方法,提高软件产品质量和软件生产率,降低软件开发成本,成功地构建一个满足用户需求的软件系统。那么,一个成功的软件项目需要达到哪些主要目标? 2019年4月4日星期四
一个成功的软件工程项目需要达到的主要目标有以下几个方面: 1.1.2 软件工程的目标 一个成功的软件工程项目需要达到的主要目标有以下几个方面: (1) 达到要求的软件功能; (2) 取得较好的软件性能; (3) 付出较低的开发成本; (4) 开发的软件易于移植; (5) 开发的软件易于维护,需要较低的维护费用; (6) 能按时完成开发任务,并交付使用。 2019年4月4日星期四
1.1.3 软件工程过程 软件工程过程是指软件生命周期(关于软件生命周期的相关知识将在第3章的3.1节详述)所涉及的一系列相关过程,是生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。 软件工程过程主要包括开发过程、运作过程和维护过程。它们覆盖了分析、设计、编码、测试以及支持等软件工程活动。 2019年4月4日星期四
1.1.3 软件工程过程 在软件工程活动中,分析活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块或者类说明。编码活动把设计结果转换为可执行的程序代码。测试活动贯穿于整个软件开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩展、修改与完善。伴随以上这些过程,还包括管理过程、支持过程和培训过程等。 2019年4月4日星期四
在软件开发过程中针对项目设计、支持以及管理必须遵循的基本原则是: 1.1.4 软件工程的原则 在软件开发过程中针对项目设计、支持以及管理必须遵循的基本原则是: (1) 选取适宜的软件开发模型; (2) 采用合适的软件开发方法; (3) 提供高效的开发支撑环境; (4) 重视软件开发过程的管理; (5) 建设高素质的软件开发团队。 2019年4月4日星期四
1.2 UML简介 UML(Unified Modeling Language,统一建模语言)是一种定义良好、易于表达、功能强大的用于对软件密集型系统建模的图形语言。它支持从需求分析开始的面向对象软件开发的全过程。 2019年4月4日星期四
1.2 UML简介 UML1.4有九种图: 用例图:用于业务建模、需求捕获,作为测试的依据。 类图:描述类以及类之间的相互关系。 对象图:描述对象以及对象之间的相互关系。 构件图:描述构件及其相互依赖关系。 部署图:描述构件在各个节点上的部署情况。 顺序图:强调时间顺序的交互图。 协作图:强调对象协作的交互图。 状态图:描述类所经历的各种状态以及状态之间的转换关系。 活动图:用于对工作流程建模。 2019年4月4日星期四
对于一般系统,常常使用类图来产生程序代码。而对于嵌入式系统,则用状态图生成程序代码。 1.2 UML简介 对于一般系统,常常使用类图来产生程序代码。而对于嵌入式系统,则用状态图生成程序代码。 2019年4月4日星期四
Rational Rose简介 Rational Rose是一种支持UML1.4的便于进行面向对象分析和设计的可视化的建模工具。它提供了一个集成化的建模环境,可以用来创建、查看和修改UML模型、视图、图和模型元素。 2019年4月4日星期四
Rational Rose使用图形用户界面,包括如下元素: 菜单栏 标准工具栏 图形工具栏 浏览器窗口 图形窗口 文档窗口 2019年4月4日星期四
Rational Rose简介 2019年4月4日星期四
在Rational Rose的浏览器窗口中包含四个视图: Use Case View(用例视图) Logical View(逻辑视图) Component View(构件视图) Deployment View(部署视图) 2019年4月4日星期四
每个视图可以包含特定类型或多种类型的图和模型元素。 Rational Rose简介 每个视图可以包含特定类型或多种类型的图和模型元素。 用例视图可以包括用例图、顺序图、协作图、状态图和活动图。 逻辑视图可以包括类图、状态图、顺序图和协作图。 构件视图包括一个或多个构件图。 部署视图包括一个部署图。 2019年4月4日星期四
文档窗口用于创建、查看和修改选定的模型元素、图或视图的文档。 Rational Rose简介 图形窗口用于显示、创建和修改UML图。 文档窗口用于创建、查看和修改选定的模型元素、图或视图的文档。 标准工具栏包括当前处于活动状态的各种类型的图可使用的工具,类似于一般的Windows窗口的标准工具栏。 图形工具栏提供为一个图添加模型元素的图形工具。 2019年4月4日星期四
1.3 案例描述 案例描述 2019年4月4日星期四
总结 计算机软件是指计算机程序、数据以及文档的总和。计算机程序包括源程序和目标程序。源程序是指用各种编程语言编写的程序;目标程序是指源程序经过解释或编译处理以后,可以由计算机直接执行的程序。程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常访问信息的数据结构;而文档则是用自然语言或者形式化语言所编写的文字资料和图表,用用例来描述程序和数据的内容、组成、设计、功能规格、开发情况、测试、维护和使用方法。 软件工程是一门研究应用工程化方法构建和维护有效的、实用的和高质量的软件的学科。 软件工程的框架可概括为:目标、过程和原则。 软件工程的主要目标是采用工程化方法,提高软件产品质量和软件生产率,降低软件开发成本,成功地构建一个满足用户需求的软件系统。 2019年4月4日星期四
总结 软件工程的过程是指生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。 为了达到软件工程的目标,在软件开发过程中针对软件项目设计、支持以及管理必须遵循的一般原则: 选取适宜的软件开发模型; 采用合适的软件开发方法; 提供高效的工程支撑环境; 重视软件开发过程的管理; 建设高素质的开发团队。 2019年4月4日星期四