本次课程执行的基本思路 先讲解项目设计的内涵与重要性,再说明在实际的软件工程开发中,项目设计包 含哪些内容,详细介绍一个项目中的概要设计、详细设计内容(用会议室管理系统为 例子来说明),最后讲解为本课程的项目设计文档。 引子:(5分钟) 当我们拿到一个项目的需求之后,第一个重要的阶段项目设计,在项目设计阶段 我们需要完成对这个项目的定义,也就是说,要搞清楚这个项目到底是要做什么,这 个项目的整体架构是什么样子的?有几个模块组成?每个模块实现什么样的功能? 每个功能又要使用什么样的技术去做?整个项目在进行处理的时候要遵循什么样的 规范?整个业务处理中有什么样的流程?数据应该怎么存储,建几张表,每个表里边 有几个字段等等 1、项目设计(10分钟) (1)项目设计的步骤和要素 项目设计是以全局的观点将需求的具体实现用陈述方式描述出来。设计过程一般 分为两个基本步骤:第一步,初步设计,关注的是如何将需求转化为数据和软件的框 架;第二步,详细设计,关注的是如何用数据结构和算法来细化框架的。 在项目设计中需要完成四个方面的设计内容 ①结构设计:确定并定义软件系统各个功能模块之间的关系。 ②数据设计:将模型转换成数据结构的定义。通俗的说就是用数据库或程序中专 有名词或属性来实例化生活中抽象的概念或事物 ③接口设计:定义软件内部、软件和操作系统之间、软件和用户之间的通信接口。 ④过程设计:用形象的图形和简单的代码来预设功能的交互以及用户的操作流程。 (2)项目设计对开发的影响 项目设计在整个项目的生命周期里起着承上启下,牵动全局的角色,一个好的项 目设计会让开发更加简单,让用户更省心,让软件更稳定 ①项目设计实现了需求的蓝图 在软件开发过程中,需求是决定做什么,而设计是决定要怎么做。很多时候,为 了完成某项任务,并非是直接动手进行操作。在明确任务目的和目标的基础上,实现 方法才是达到效果的关键所在。充分的软件设计可以精细地描述实现思路、实现方法、 功能的关联与衔接。一个需求的实现方法可能存在很多种,但各个公司的人力、物力、 财力或时间条件并非相同,找到适合自己的模式和方法,才能节约成本,高效保质地 完成需求。实际情况中,客户的需求存在多样性和变动性,而良好的设计架构和模式 很大程度上可以应对多种需求
本次课程执行的基本思路: 先讲解项目设计的内涵与重要性,再说明在实际的软件工程开发中,项目设计包 含哪些内容,详细介绍一个项目中的概要设计、详细设计内容(用会议室管理系统为 例子来说明),最后讲解为本课程的项目设计文档。 引子:(5 分钟) 当我们拿到一个项目的需求之后,第一个重要的阶段项目设计,在项目设计阶段 我们需要完成对这个项目的定义,也就是说,要搞清楚这个项目到底是要做什么,这 个项目的整体架构是什么样子的?有几个模块组成?每个模块实现什么样的功能? 每个功能又要使用什么样的技术去做?整个项目在进行处理的时候要遵循什么样的 规范?整个业务处理中有什么样的流程?数据应该怎么存储,建几张表,每个表里边 有几个字段等等。 1、项目设计(10 分钟) (1)项目设计的步骤和要素 项目设计是以全局的观点将需求的具体实现用陈述方式描述出来。设计过程一般 分为两个基本步骤:第一步,初步设计,关注的是如何将需求转化为数据和软件的框 架;第二步,详细设计,关注的是如何用数据结构和算法来细化框架的。 在项目设计中需要完成四个方面的设计内容: ①结构设计:确定并定义软件系统各个功能模块之间的关系。 ②数据设计:将模型转换成数据结构的定义。通俗的说就是用数据库或程序中专 有名词或属性来实例化生活中抽象的概念或事物。 ③接口设计:定义软件内部、软件和操作系统之间、软件和用户之间的通信接口。 ④过程设计:用形象的图形和简单的代码来预设功能的交互以及用户的操作流程。 (2)项目设计对开发的影响 项目设计在整个项目的生命周期里起着承上启下,牵动全局的角色,一个好的项 目设计会让开发更加简单,让用户更省心,让软件更稳定。 ①项目设计实现了需求的蓝图 在软件开发过程中,需求是决定做什么,而设计是决定要怎么做。很多时候,为 了完成某项任务,并非是直接动手进行操作。在明确任务目的和目标的基础上,实现 方法才是达到效果的关键所在。充分的软件设计可以精细地描述实现思路、实现方法、 功能的关联与衔接。一个需求的实现方法可能存在很多种,但各个公司的人力、物力、 财力或时间条件并非相同,找到适合自己的模式和方法,才能节约成本,高效保质地 完成需求。实际情况中,客户的需求存在多样性和变动性,而良好的设计架构和模式 很大程度上可以应对多种需求
②项目设计确定了编码的基础和前提 通常一个软件的开发,需要团队合作完成,倘若在没有总体设计的情况下着手开 发,那么这样的开发必将是耗时且混乱的。每个程序员的知识拥有和开发习惯各不相 同,单个完成指定开发任务也许并非难事,但单个任务结果结合到一起却很难实现 个整体功能。在提供软件服务的行业,由于多框架、多组件、多结构化等因素,通常 会导致不同人的代码很难融合到一起。可见,统一的软件设计和开发规范是编码的必 要前提。 编码过程是严谨的逻辑思维过程,页面展示与后台数据之间的关联、各个功能模 块之间的跳转等等,这些功能的实现需要基于整体框架。软件设计就是基于整体框架 的模块化设计,在逻辑上将软件分割成各个部分,用以实现特定的功能和子功能,在 各个功能独立的前提下,降低模块之间及其与外部环境的连接复杂性,使得层次结构 分明,软件各部分之间的控制更加明智。另外,软件设计中不仅描述着清晰且可分离 的数据和过程,还定义了满足软件需求的可重复方法。充分合理的设计就是编码的基 础,有助于节省编码时间、提供编码质量 通常情况下,需求分析人员和开发人员不是同一组人,依靠口头转述,开发人员 很难直观、详细地了解客户的需求。通过细致的设计说明书,准确地展示客户需求的 实现流程,并描述各种实现接口,直观地将需求过渡到编码,客户的要求和开发的架 构及基础代码都有迹可循。 ③软件运行和维护的重要保证 软件运行和维护的实质是向客户提供软件服务,软件发布的开始就是真正验证开 发成果的时候。一个软件产品的好坏,早在软件设计的时候就已经产生影响,而且这 种影响是较为深远的。很多软件在前几次交付之后,较好地满足了客户需求。但随着 后期客户需求的不断变更以及新需求的提出,在现有的软件基础上很难更新已有的功 能,或是延展出新型的功能。可见,优质的软件设计是软件运行和维护的重要保证。 因为软件设计就是对具体需求的设计和实现,直接关系到需求的传递和渗透、编码的 合理性和有效性、软件的可扩展性和可移植性。 2、概要设计与详细设计(30分钟) 基于会议室预约管理系统进行的概要设计文档与详细设计文档进行说明 3、Word、 Excel、 Visio的使用(15分钟) 介绍本次项目设计中使用到的软件的使用 (1) Word ①样式的创建与使用 ②目录的创建与使用
②项目设计确定了编码的基础和前提 通常一个软件的开发,需要团队合作完成,倘若在没有总体设计的情况下着手开 发,那么这样的开发必将是耗时且混乱的。每个程序员的知识拥有和开发习惯各不相 同,单个完成指定开发任务也许并非难事,但单个任务结果结合到一起却很难实现一 个整体功能。在提供软件服务的行业,由于多框架、多组件、多结构化等因素,通常 会导致不同人的代码很难融合到一起。可见,统一的软件设计和开发规范是编码的必 要前提。 编码过程是严谨的逻辑思维过程,页面展示与后台数据之间的关联、各个功能模 块之间的跳转等等,这些功能的实现需要基于整体框架。软件设计就是基于整体框架 的模块化设计,在逻辑上将软件分割成各个部分,用以实现特定的功能和子功能,在 各个功能独立的前提下,降低模块之间及其与外部环境的连接复杂性,使得层次结构 分明,软件各部分之间的控制更加明智。另外,软件设计中不仅描述着清晰且可分离 的数据和过程,还定义了满足软件需求的可重复方法。充分合理的设计就是编码的基 础,有助于节省编码时间、提供编码质量。 通常情况下,需求分析人员和开发人员不是同一组人,依靠口头转述,开发人员 很难直观、详细地了解客户的需求。通过细致的设计说明书,准确地展示客户需求的 实现流程,并描述各种实现接口,直观地将需求过渡到编码,客户的要求和开发的架 构及基础代码都有迹可循。 ③软件运行和维护的重要保证 软件运行和维护的实质是向客户提供软件服务,软件发布的开始就是真正验证开 发成果的时候。一个软件产品的好坏,早在软件设计的时候就已经产生影响,而且这 种影响是较为深远的。很多软件在前几次交付之后,较好地满足了客户需求。但随着 后期客户需求的不断变更以及新需求的提出,在现有的软件基础上很难更新已有的功 能,或是延展出新型的功能。可见,优质的软件设计是软件运行和维护的重要保证。 因为软件设计就是对具体需求的设计和实现,直接关系到需求的传递和渗透、编码的 合理性和有效性、软件的可扩展性和可移植性。 2、概要设计与详细设计(30 分钟) 基于会议室预约管理系统进行的概要设计文档与详细设计文档进行说明。 3、Word、Excel、Visio 的使用(15 分钟) 介绍本次项目设计中使用到的软件的使用: (1)Word ①样式的创建与使用 ②目录的创建与使用
③分页符、分节符 (2) Excel ①行高、自动换行 ②排序与筛选 (3 Visio ①视图 ②指针工具、连接线、文本 ③形状 4、本课程设计文档介绍(10分钟)
③分页符、分节符 (2)Excel ①行高、自动换行 ②排序与筛选 (3)Visio ①视图 ②指针工具、连接线、文本 ③形状 4、本课程设计文档介绍(10 分钟)