《项目开发过程》PPT课件.ppt

上传人:wuy****n92 文档编号:70655471 上传时间:2023-01-23 格式:PPT 页数:68 大小:527KB
返回 下载 相关 举报
《项目开发过程》PPT课件.ppt_第1页
第1页 / 共68页
《项目开发过程》PPT课件.ppt_第2页
第2页 / 共68页
点击查看更多>>
资源描述

《《项目开发过程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《项目开发过程》PPT课件.ppt(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、项目开发过程项目开发过程4.需求分析需求分析4.软件概要设计软件概要设计4.软件详细设计软件详细设计4.软件实现软件实现4.软件测试软件测试4.软件维护软件维护项目开发过程项目开发过程n设计系统:学生管理系统设计系统:学生管理系统n以以该该系系统统设设计计为为例例。介介绍绍一一般般管管理理项项目的开发过程目的开发过程4.1需求分析需求分析n目的目的:了解需求分析任务了解需求分析任务n开开发发人人员员要要准准确确理理解解用用户户的的要要求求,进进行行细细致致的的调调查查分分析析,将将用用户户非非形形式式的的需需求求陈陈述述转转化化为为完完整整的的需需求求定定义义,再再由由需需求求定定义义转转化化

2、到到相相应应的的形形式式功能规约(需求规格说明)的过程。功能规约(需求规格说明)的过程。n需需求求分分析析虽虽处处于于软软件件开开发发过过程程的的初初期期阶阶段段,但但它它对对于于整整个个软软件件开开发发过过程程以以及及软软件件产产品品质质量量是是至至关关重重要要的的。随随着着软软件件系系统统复复杂杂性性的的提提高高及及规规模模的的扩扩大大,需需求求分分析析在在软软件件开开发发中中的的所所处处的的地地位位愈加突出,从而也愈加困难。愈加突出,从而也愈加困难。需求分析的基本任务包括:需求分析的基本任务包括:1问题识别问题识别(1)功能需求:功能需求:n明确所开发的软件必须具备的功能。明确所开发的软

3、件必须具备的功能。(2)性能需求:性能需求:n明确待开发的软件的技术性能指标。明确待开发的软件的技术性能指标。(3)环境需求:环境需求:n明确软件运行时所需要的软、硬件要求明确软件运行时所需要的软、硬件要求(4)用户界面需求:用户界面需求:n明确人机交互方式、输入输出数据格式。明确人机交互方式、输入输出数据格式。4.1需求分析需求分析随着学校规模的不断扩大,学生数量日益剧增,有关学随着学校规模的不断扩大,学生数量日益剧增,有关学生的各种信息量也急剧增长,原始的手工登记、手生的各种信息量也急剧增长,原始的手工登记、手工查阅方法已经不能满足我们快速检索的要求。面工查阅方法已经不能满足我们快速检索的

4、要求。面对这种形式,需要开发一个能够满足用户需求的系对这种形式,需要开发一个能够满足用户需求的系统,统,(1)功能需求:)功能需求:实现学籍信息的增加、删除、修改以及查询等管理功能;实现学籍信息的增加、删除、修改以及查询等管理功能;管理与学生相关的课程及成绩等信息;管理与学生相关的课程及成绩等信息;基本上满足一个学校学生信息管理各方面的功能要求。基本上满足一个学校学生信息管理各方面的功能要求。4.1需求分析需求分析(2)性能需求)性能需求能够很方便快捷的管理学生的基本信息能够很方便快捷的管理学生的基本信息保证信息的安全,防止非法破坏保证信息的安全,防止非法破坏(3)环境需求)环境需求安装软件系

5、统的机器配置和外设等安装软件系统的机器配置和外设等(4)用户界面需求)用户界面需求图形化、支持键盘、快捷键和鼠标等图形化、支持键盘、快捷键和鼠标等4.1需求分析需求分析2分析与综合,导出软件的逻辑模型分析与综合,导出软件的逻辑模型n分析人员对获取的需求,进行一致性的分析检查,分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子在分析、综合中逐步细化软件功能,划分成各个子功能。用图文结合的形式,建立起新系统的逻辑模功能。用图文结合的形式,建立起新系统的逻辑模型。型。n开发学生管理系统的目的是为了提高学校管理学生开发学生管理系统的目的是为了提高学校管理学生信息的

6、效率,实现学生信息管理的系统化、规范化。信息的效率,实现学生信息管理的系统化、规范化。4.1需求分析需求分析n系统最终要实现的主要功能:系统最终要实现的主要功能:学生基本信息管理:对学生基本信息进行添加、修学生基本信息管理:对学生基本信息进行添加、修改、删除等。改、删除等。学生成绩信息管理:对学生的成绩进行管理,包括学生成绩信息管理:对学生的成绩进行管理,包括增加新课程成绩、修改和删除原有课程成绩、查询增加新课程成绩、修改和删除原有课程成绩、查询成绩等;成绩等;学生的课程管理:对学生所学课程进行增加、删除、学生的课程管理:对学生所学课程进行增加、删除、修改、查询等管理操作;修改、查询等管理操作

7、;用户和权限管理:按照各种权限管理用户信息,包用户和权限管理:按照各种权限管理用户信息,包括增加、删除、修改用户信息等功能。括增加、删除、修改用户信息等功能。4.1需求分析需求分析n数据库需求分析数据库需求分析:根据学生成绩管理系统所需要的信息进行分析,为根据学生成绩管理系统所需要的信息进行分析,为本系统设计如下的数据库结构:本系统设计如下的数据库结构:学生成绩信息数据库中包含四个基本表,分别保存学生成绩信息数据库中包含四个基本表,分别保存学生的基本信息、成绩信息、课程信息以及系统的学生的基本信息、成绩信息、课程信息以及系统的用户信息表。用户信息表。4.1需求分析需求分析3编写文档编写文档(1

8、)编写编写“需求规格说明书需求规格说明书”,把双方共同的理解,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各与分析结果用规范的方式描述出来,作为今后各项工作的基础。项工作的基础。(2)编写初步用户使用手册,着重反映被开发软件编写初步用户使用手册,着重反映被开发软件的用户功能界面和用户使用的具体要求,用户手的用户功能界面和用户使用的具体要求,用户手册能强制分析人员从用户使用的观点考虑软件。册能强制分析人员从用户使用的观点考虑软件。(3)编写确认测试计划,作为今后确认和验收的依编写确认测试计划,作为今后确认和验收的依据据(4)修改完善软件开发计划。在需求分析阶段对待修改完善软件开发计划

9、。在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确开发的系统有了更进一步的了解,所以能更准确地估计开发成本、进度及资源要求,因此对原计地估计开发成本、进度及资源要求,因此对原计划要进行适当修正。划要进行适当修正。4.1需求分析需求分析4.2软件概要设计软件概要设计n在软件需求分析阶段,已经搞清楚了软件在软件需求分析阶段,已经搞清楚了软件“做什做什么么”的问题,并把这些需求通过规格说明书描的问题,并把这些需求通过规格说明书描述了出来,建立了目标系统的述了出来,建立了目标系统的逻辑模型逻辑模型。n进入了设计阶段,要把软件进入了设计阶段,要把软件“做什么做什么”的逻辑模的逻辑模型变换为型

10、变换为“怎么做怎么做”的的物理模型物理模型,即着手实现,即着手实现软件的需求,并将设计的结果反映在软件的需求,并将设计的结果反映在“设计规设计规格说明书格说明书”文档中。文档中。n软件设计是一个把软件需求转换为软件表示的过软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总的体系程,最初这种表示只是描述了软件的总的体系结构,称为软件概要设计或结构设计。结构,称为软件概要设计或结构设计。软件概要设计的基本任务包括:软件概要设计的基本任务包括:1.设计软件系统结构设计软件系统结构(简称软件结构简称软件结构)n为了实现目标系统,最终必须设计出组成这个系统为了实现目标系统,最终

11、必须设计出组成这个系统的所有程序和数据库的所有程序和数据库(文件文件),对于程序,则首先进,对于程序,则首先进行结构设计,具体为:行结构设计,具体为:(1)采用某种设计方法,将一个复杂的系统按功能划采用某种设计方法,将一个复杂的系统按功能划分成模块。分成模块。(2)确定每个模块的功能。确定每个模块的功能。(3)确定模块之间的调用关系。确定模块之间的调用关系。(4)确定模块之间的接口,即模块之间传递的信息确定模块之间的接口,即模块之间传递的信息(5)评价模块结构的质量。评价模块结构的质量。4.2软件概要设计软件概要设计 n根据以上内容,软件结构的设计是以模块为基础根据以上内容,软件结构的设计是以

12、模块为基础的,在需求分析阶段,已经把系统分成的,在需求分析阶段,已经把系统分成层次结层次结构构。设计阶段,以需求分析的结果为依据,从。设计阶段,以需求分析的结果为依据,从实现的角度进一步划分为实现的角度进一步划分为模块模块,并组成,并组成模块的模块的层次结构层次结构。n软件结构的设计是概要设计关键的一步,直接影软件结构的设计是概要设计关键的一步,直接影响到下一阶段详细设计与编码的工作软件系统响到下一阶段详细设计与编码的工作软件系统的质量及一些整体特性都在软件结构的设计中的质量及一些整体特性都在软件结构的设计中决定。决定。4.2软件概要设计软件概要设计 4.2软件概要设计软件概要设计 2.数据结

13、构及数据库设计数据结构及数据库设计n对于大型数据处理的软件系统,除了控制结构的对于大型数据处理的软件系统,除了控制结构的模块设计外,数据结构与数据库设计也是很重要。模块设计外,数据结构与数据库设计也是很重要。(1)数据结构的设计数据结构的设计n逐步细化的方法也适用于数据结构的设计。需求逐步细化的方法也适用于数据结构的设计。需求分析阶段,在数据字典中对数据的组成、操作约分析阶段,在数据字典中对数据的组成、操作约束、数据之间的关系等方面进行描述,确定了数束、数据之间的关系等方面进行描述,确定了数据的结构特性;据的结构特性;n在概要设计阶段要细化抽象的数据类型;在概要设计阶段要细化抽象的数据类型;n

14、详细设计阶段则规定具体的实现细节。详细设计阶段则规定具体的实现细节。4.2软件概要设计软件概要设计(2)数据库的设计数据库的设计n数据库的设计指数据存储文件的设计,主要进行数据库的设计指数据存储文件的设计,主要进行以下几方面设计以下几方面设计概念设计。在数据分析的基础上,采用自底向上概念设计。在数据分析的基础上,采用自底向上的方法从用户角度进行视图设计,一般用的方法从用户角度进行视图设计,一般用ER模型模型来表示数据模型,这是一个概念模型。来表示数据模型,这是一个概念模型。nE-R模型(实体模型(实体-关系,关系,Entity-Relationship)n矩形框矩形框-实体实体n菱形框菱形框-

15、关系关系n椭圆形椭圆形-属性属性n无向边无向边-将实体和其属性连接将实体和其属性连接4.2软件概要设计软件概要设计 E-R模型4.2软件概要设计软件概要设计 逻辑设计。逻辑设计。ER模型是独立于数据库管理系统的,模型是独立于数据库管理系统的,要结合具体的要结合具体的DBMS特征来建立数据库的逻辑结特征来建立数据库的逻辑结构。给出数据结构的定义,即定义所含的数据构。给出数据结构的定义,即定义所含的数据项、类型、长度及它们之间的层次或相互关系项、类型、长度及它们之间的层次或相互关系的表格等等。的表格等等。物理设计。对于不同的物理设计。对于不同的DBMS,应用的物理环,应用的物理环境不同,提供的存储

16、结构与存取方法各不相同。境不同,提供的存储结构与存取方法各不相同。物理设计就是根据设计数据模式的要求,选取物理设计就是根据设计数据模式的要求,选取适合的适合的DBMS。n本例选用本例选用Access作为后台数据库作为后台数据库4.2软件概要设计软件概要设计 4.2软件概要设计软件概要设计 n学生成绩信息数据库中包含四个基本表,分别保学生成绩信息数据库中包含四个基本表,分别保存学生的基本信息、成绩信息、课程信息以及系存学生的基本信息、成绩信息、课程信息以及系统的用户信息表,每个基本表的数据项和数据结统的用户信息表,每个基本表的数据项和数据结构如下表所示:构如下表所示:(1)学生基本信息表学生基本

17、信息表:表中使用学号字段作为主键。表中使用学号字段作为主键。字段名数据类型长度值唯一必填项默认值学号文本15无姓名文本10无性别文本2无出生日期日期/时间无班级文本10无4.2软件概要设计软件概要设计(2 2)成绩信息表:表中学号和课程号为主键。学号)成绩信息表:表中学号和课程号为主键。学号字段是外键,引用学生基本信息表中的学号字段值。字段是外键,引用学生基本信息表中的学号字段值。字段名数据类型长度值唯一必填项默认值学号 文本15无课程号文本10无分数数字4无主键:唯一能标示一个记录,且不含多余项主键:唯一能标示一个记录,且不含多余项4.2软件概要设计软件概要设计(3 3)课程信息表:表中使用

18、课号字段作为主键。)课程信息表:表中使用课号字段作为主键。字段名数据类型长度值唯一必填项默认值课号文本15无课程文本20无(4)用户信息表:表中使用帐号字段作为主键。)用户信息表:表中使用帐号字段作为主键。字段名数据类型长度值唯一必填项默认值用户名文本15无密码文本10无权限文本10无3.编写概要设计文档编写概要设计文档(1)概要设计说明书。概要设计说明书。(2)数据库设计说明书,主要给出所使用的数据库设计说明书,主要给出所使用的DBMS简介、简介、数据库的概念模型、逻辑设计、结果。数据库的概念模型、逻辑设计、结果。(3)用户手册,对需求分析阶段编写的用户手册作补充。用户手册,对需求分析阶段编

19、写的用户手册作补充。(4)修订测试计划,对测试策略、方法、步骤提出明确要修订测试计划,对测试策略、方法、步骤提出明确要求。求。4.评审评审n对设计部分是否完整地实现了需求中规定的功能、性对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方案的可行性,关键的处理及内外部能等要求,设计方案的可行性,关键的处理及内外部接口定义正确性、有效性,各部分之间的一致性等等接口定义正确性、有效性,各部分之间的一致性等等都一一进行评审。都一一进行评审。4.2软件概要设计软件概要设计 4.34.3软件详细设计软件详细设计n目的:掌握软件详细设计的任务和思想目的:掌握软件详细设计的任务和思想n详细设计的基

20、本任务有详细设计的基本任务有(1)为每个模块进行详细的算法设计。用某种图形、为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描表格、语言等工具将每个模块处理过程的详细算法描述出来。述出来。(2)为模块内的数据结构进行设计。对于需求分析、为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。概要设计确定的概念性的数据类型进行确切的定义。(3)对数据结构进行物理设计,即确定数据库的物理对数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储结构。物理结构主要指数据库的存储记录格式、存储记录安排和

21、存储方法,这些都依赖于具体所使用的数记录安排和存储方法,这些都依赖于具体所使用的数据库系统。据库系统。(4)其他设计:根据软件系统的类型,还可能要进行以其他设计:根据软件系统的类型,还可能要进行以下设计:下设计:代码设计。为了提高数据的输入、分类、存储、检代码设计。为了提高数据的输入、分类、存储、检索等操作,节约内存空间,对数据库中的某些数据项索等操作,节约内存空间,对数据库中的某些数据项的值要进行代码设计。的值要进行代码设计。输入输入/输出格式设计。输出格式设计。人机对话设计。对于一个实时系统,用户与计算机人机对话设计。对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容、格式的

22、具体频繁对话,因此要进行对话方式、内容、格式的具体设计。设计。(5)编写详细设计说明书。编写详细设计说明书。(6)评审。对处理过程的算法和数据库的物理结构都要评审。对处理过程的算法和数据库的物理结构都要评审评审4.3软件详细设计软件详细设计 4.3软件详细设计软件详细设计 n设计主窗体如图所示:设计主窗体如图所示:4.3软件详细设计软件详细设计 n登录窗体登录窗体修改密码修改密码4.3软件详细设计软件详细设计 n添加、删除用户窗体添加、删除用户窗体4.3软件详细设计软件详细设计 n添加、修改学籍窗体添加、修改学籍窗体4.3软件详细设计软件详细设计 n查询学籍窗体查询学籍窗体4.3软件详细设计软

23、件详细设计 n添加、修改课程窗体添加、修改课程窗体4.3软件详细设计软件详细设计 n输入成绩窗体输入成绩窗体4.3软件详细设计软件详细设计 n修改成绩窗体修改成绩窗体4.3软件详细设计软件详细设计 2.数据库实现数据库实现n启动启动Access,创建一个新的数据库,命名为,创建一个新的数据库,命名为student.mdb,保存在要存放这个系统的所有工程,保存在要存放这个系统的所有工程文件的文件夹中。文件的文件夹中。n学生成绩信息数据库中的表格设计视图如下所示,学生成绩信息数据库中的表格设计视图如下所示,每个表格都代表数据库中的一个独立的表。每个表格都代表数据库中的一个独立的表。n学生基本信息设

24、计视图:学生基本信息设计视图:4.3软件详细设计软件详细设计 n成绩信息设计视图:成绩信息设计视图:n课程信息设计视图:课程信息设计视图:4.3软件详细设计软件详细设计 n 系统用户设计视图:系统用户设计视图:4.4 4.4 软件实现软件实现n目的:使用编程工具完成系统编码目的:使用编程工具完成系统编码n在在软软件件实实现现阶阶段段,根根据据详详细细设设计计用用编编程程语语言言编编写写所所需需的的程程序序。这这个个阶阶段段的的文文档档包包括括软软件件需需求求规规格格说说明明书书、高高层层设设计计说说明明书书、详详细细设设计计说说明明书书、单单元元测测试试计计划划编编码码、用用户户接接口口标标准

25、准等等,输输出出有有测测试试数数据据、源源代代码码、可可执执行行代代码码、单单元元测测试试报报告告,需要完成的任务包括:需要完成的任务包括:1.1.根据详细设计,按照编码、用户接口规范编写程序根据详细设计,按照编码、用户接口规范编写程序2.2.对对程程序序进进行行代代码码复复查查、编编译译、调调试试,直直到到程程序序运运行行通通过,符合详细设计的要求;过,符合详细设计的要求;3.3.根据单元测试计划进行单元测试,生成单元测试报告。根据单元测试计划进行单元测试,生成单元测试报告。4.5 4.5 软件测试软件测试n目的:掌握进行测试工作的方法和技巧目的:掌握进行测试工作的方法和技巧n软件测试是为了

26、发现错误而执行程序的过程,一软件测试是为了发现错误而执行程序的过程,一个好的测试用例能够发现至今尚未发现的错误,个好的测试用例能够发现至今尚未发现的错误,一个成功的测试是发现了至今尚未发现的错误一个成功的测试是发现了至今尚未发现的错误的测试。因此,测试阶段的基本任务应该是根的测试。因此,测试阶段的基本任务应该是根据软件开发各阶段的文档资料和程序的内部结据软件开发各阶段的文档资料和程序的内部结构,精心设计一组构,精心设计一组“高产高产”的测试用例,利用的测试用例,利用这些实例执行程序,找出软件中潜在的各种错这些实例执行程序,找出软件中潜在的各种错误和缺陷。误和缺陷。n软件测试方法一般分为两大类:

27、动态测试方法与软件测试方法一般分为两大类:动态测试方法与静态测试方法。静态测试方法。1.静态测试静态测试静态测试是指被测试程序不在机器上运静态测试是指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。段对程序进行检测。(1)人工检测。人工检测是不依靠计算机而是靠人工人工检测。人工检测是不依靠计算机而是靠人工审查程序或评审软件。审查程序或评审软件。(2)计算机辅助静态分析。利用静态分析工具对被测计算机辅助静态分析。利用静态分析工具对被测试程序进行特性分析,从程序中提取一些信息,以试程序进行特性分析,从程序中提取一些信息

28、,以便检查程序逻辑的各种缺陷和可疑的程序构造。便检查程序逻辑的各种缺陷和可疑的程序构造。2.动态测试动态测试一般意义上的测试大多是指动态测试。一般意义上的测试大多是指动态测试。有两种方法,分别是黑盒测试法和白盒测试法。有两种方法,分别是黑盒测试法和白盒测试法。4.5软件测试软件测试 n黑盒测试法与白盒测试法黑盒测试法与白盒测试法1.黑盒法黑盒法该方法把被测试对象看成一个黑盒子,该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明只在软件的接口处进行测试,依据需求规格说明书,检查程序是

29、否满足功能要求。因此,黑盒测书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。通过黑盒测试又称为功能测试或数据驱动测试。通过黑盒测试主要发现以下错误:试主要发现以下错误:(1)是否有不正确或遗漏了的功能。是否有不正确或遗漏了的功能。(2)在接口上,能否正确地接受输入数据,能否产在接口上,能否正确地接受输入数据,能否产生正确的输出信息。生正确的输出信息。(3)访问外部信息是否有错。访问外部信息是否有错。(4)性能上是否满足要求等等。性能上是否满足要求等等。4.5软件测试软件测试 2.白盒法白盒法该方法把测试对象看作一个打开的盒子,该方法把测试对象看作一个打开的盒子,测试人

30、员须了解程序的内部结构和处理过程,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期和数据结构是否有错,实际的运行状态与预期的状态是否一致。的状态是否一致。n黑盒法和白盒法都不能使测试达到彻底。为了用黑盒法和白盒法都不能使测试达到彻底。为了用有限的测试发现更多的错误,需精心设计测试有限的测试发现更多的错误,需精心设计测试用例。用例。4.5软件测试软件测试 3.6 3.6 软件维护软件维护n目目的的:掌掌握握

31、进进行行软软件件维维护护工工作作的的防防范范,认认识识维维护护工作的重要性工作的重要性n软软件件投投入入使使用用后后就就进进入入软软件件维维护护阶阶段段。维维护护阶阶段段是是软软件件生生存存周周期期中中时时间间最最长长的的一一个个阶阶段段,所所花花费的精力和费用也是最多的一个阶段。费的精力和费用也是最多的一个阶段。n软件维护内容有四种:校正性维护,适应性维护,软件维护内容有四种:校正性维护,适应性维护,完善性维护和预防性维护。完善性维护和预防性维护。4.5软件维护软件维护1.1.校正性维护校正性维护n在软件交付使用后,由于在软件开发过程中产生在软件交付使用后,由于在软件开发过程中产生的错误并没

32、有完全彻底的在测试中发现,因此的错误并没有完全彻底的在测试中发现,因此必然有一部分隐含的错误被带到维护阶段来。必然有一部分隐含的错误被带到维护阶段来。这些隐含的错误在某些特定的使用环境下会暴这些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。校正性维护占整个个过程就称为校正性维护。校正性维护占整个维护工作的维护工作的20%20%左右。左右。4.5软件维护软件维护2.2.适应性维护适应性维护n随着计算机的飞速发展,计算机硬件和

33、软件环境随着计算机的飞速发展,计算机硬件和软件环境也在不断发生变化,数据环境也在不断发生变也在不断发生变化,数据环境也在不断发生变化。为了使应用软件适应这种而修改软件的过化。为了使应用软件适应这种而修改软件的过程称为适应性维护。这种维护活动占整个维护程称为适应性维护。这种维护活动占整个维护活动的活动的25%25%。4.5软件维护软件维护3.3.完善性维护完善性维护n在软件漫长的运行时期中,用户往往会对软件提在软件漫长的运行时期中,用户往往会对软件提出新的功能要求与性能要求。这是因为用户的出新的功能要求与性能要求。这是因为用户的业务会发生变化,组织机构也会发生变化。为业务会发生变化,组织机构也会

34、发生变化。为了适应这些变化,应用软件原来的功能和性能了适应这些变化,应用软件原来的功能和性能需要扩充和增强,为达到这个目的而进行的维需要扩充和增强,为达到这个目的而进行的维护活动称为完善性维护,占整个维护活动的护活动称为完善性维护,占整个维护活动的50%50%。4.5软件维护软件维护4.4.预防性维护预防性维护n为了提高软件的可维护性和可靠性而对软件进行为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。这是为以后进一步的的修改称为预防性维护。这是为以后进一步的运行和维护打好基础,占整个维护工作的运行和维护打好基础,占整个维护工作的4%4%。4.5软件维护软件维护一个一个ATM机的

35、模型设计机的模型设计1.划分主题划分主题n在开发大型、复杂系统的过程中,为了降低复杂在开发大型、复杂系统的过程中,为了降低复杂程度,需要系统划分成几个不同的主题。程度,需要系统划分成几个不同的主题。n一般按问题领域而不是用功能分解方法来确定主一般按问题领域而不是用功能分解方法来确定主题。题。n一般按不同主题间对象相互间依赖和交互最少的一般按不同主题间对象相互间依赖和交互最少的原则来确定主题。原则来确定主题。n以以ATM系统为例,我们可以把它划分成系统为例,我们可以把它划分成“总行总行”、“分行分行”和和“ATM”等三个主题,这三个主等三个主题,这三个主题的编号分别是题的编号分别是1、2和和3,

36、如下图所示。,如下图所示。4.6一个一个ATM机的模型设计机的模型设计2.确定属性确定属性n从需求陈述中选择属性,从需求陈述中选择属性,属性的确定既与问题域有属性的确定既与问题域有关,也和目标系统的任务有关。关,也和目标系统的任务有关。n用名词词组表示属性,例如,用名词词组表示属性,例如,“汽车的颜色汽车的颜色”或或“光标的位置光标的位置”。用形容词表示可枚举的具体属性,。用形容词表示可枚举的具体属性,例如,例如,“红色的红色的”、“打开的打开的”。n应该仅考虑与具体应用直接相关的属性,不要考虑应该仅考虑与具体应用直接相关的属性,不要考虑那些超出所要解决的问题范围的属性。那些超出所要解决的问题

37、范围的属性。4.6一个一个ATM机的模型设计机的模型设计3.建立动态模型建立动态模型n在开发交互式系统时,动态模型起着很重要的作用。在开发交互式系统时,动态模型起着很重要的作用。n建立动态模型分三步建立动态模型分三步n第一步为编写典型交互行为的脚本。第一步为编写典型交互行为的脚本。脚本描述常见脚本描述常见的交互行为。的交互行为。n第二步第二步从脚本中提取出事件,确定触发每个事件的从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象。动作对象以及接受事件的目标对象。n第三步,排列事件发生的次序,确定每个对象可能第三步,排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系

38、,并用状态图描绘它们。有的状态及状态间的转换关系,并用状态图描绘它们。4.6一个一个ATM机的模型设计机的模型设计(1)编写脚本编写脚本n在建立动态模型的过程中,脚本是指系统在某一在建立动态模型的过程中,脚本是指系统在某一执行期间内出现的一系列事件。执行期间内出现的一系列事件。n脚本描述用户脚本描述用户(或其他外部设备或其他外部设备)与目标系统之间与目标系统之间的一个或多个典型的交互过程,以便对目标系统的的一个或多个典型的交互过程,以便对目标系统的行为有更具体的认识。行为有更具体的认识。n编写脚本的目的,是保证不遗漏重要的交互步骤,编写脚本的目的,是保证不遗漏重要的交互步骤,它有助于确保整个交

39、互过程的正确性的和清晰性。它有助于确保整个交互过程的正确性的和清晰性。n下面给出了下面给出了ATM系统的正常情况脚本系统的正常情况脚本4.6一个一个ATM机的模型设计机的模型设计ATM请储户插卡请储户插卡;储户插入一张现金兑换卡。储户插入一张现金兑换卡。ATM接受该卡并读它上面的分行代码和卡号。接受该卡并读它上面的分行代码和卡号。ATM要求储户输入密码要求储户输入密码;储户输入自己的密码储户输入自己的密码1234等数字。等数字。ATM请求总行验证卡号和密码请求总行验证卡号和密码;总行要求总行要求39号号分行核对储户密码,然后通知分行核对储户密码,然后通知ATM说这张卡有效。说这张卡有效。ATM

40、要求储户选择事务类型要求储户选择事务类型(取款、转账、查询取款、转账、查询等等);储户选择储户选择取款取款。ATM要求储户输入取款额要求储户输入取款额;储户输入储户输入880。4.6一个一个ATM机的模型设计机的模型设计ATM确认取款额在预先规定的限额内,然后要求确认取款额在预先规定的限额内,然后要求总行处理这个事务总行处理这个事务;总行把请求转给分行,该分行总行把请求转给分行,该分行成功地处理完这项事务并返回该账户的新余额。成功地处理完这项事务并返回该账户的新余额。ATM吐出现金并请储户拿走这些现金;储户拿走吐出现金并请储户拿走这些现金;储户拿走现金。现金。ATM问储户是否继续这项事务问储户

41、是否继续这项事务;储户回答储户回答不不。ATM打印账单,退出现金兑换卡,请储户拿走它打印账单,退出现金兑换卡,请储户拿走它们;储户取走账单和卡。们;储户取走账单和卡。ATM请储户插卡。请储户插卡。下面给出下面给出ATM系统的异常情况脚本系统的异常情况脚本4.6一个一个ATM机的模型设计机的模型设计 ATM ATM接受这张卡并顺序读它上面的数字。接受这张卡并顺序读它上面的数字。ATMATM要求密码要求密码;储户误输入储户误输入88888888。ATM ATM请求总行验证输入的数字和密码请求总行验证输入的数字和密码;总行在向有关总行在向有关分行咨询之后拒绝这张卡。分行咨询之后拒绝这张卡。ATM A

42、TM显示显示 密码错密码错,并请储户重新输入密码,并请储户重新输入密码;储户输储户输入入1234;ATM1234;ATM请总行验证后知道这次输入的密码正确。请总行验证后知道这次输入的密码正确。ATM ATM请储户选择事务类型请储户选择事务类型;储户选择储户选择 取款取款。ATM ATM询问取款额询问取款额;储户改变主意不想取款了,他敲储户改变主意不想取款了,他敲 取消取消 键。键。ATM ATM退出现金兑换卡,并请储户拿走它储户拿走他退出现金兑换卡,并请储户拿走它储户拿走他的卡。的卡。ATM ATM请储户插卡。请储户插卡。ATM的界面格式的界面格式4.6一个一个ATM机的模型设计机的模型设计(

43、2)画事件跟踪图)画事件跟踪图n通常在画状态图之前先画出事件跟踪图。首先需要通常在画状态图之前先画出事件跟踪图。首先需要明确事件及事件与对象的关系。明确事件及事件与对象的关系。a.a.确定事件确定事件n外部事件包括系统与用户外部事件包括系统与用户(或外部设备或外部设备)交互的所有交互的所有信号、输入、输出、中断、动作等信号、输入、输出、中断、动作等.n对产生相同效果的那些事件组合在一起作为一类事对产生相同效果的那些事件组合在一起作为一类事件。例如,件。例如,“吐出现金吐出现金”是一个事件类。是一个事件类。4.6一个一个ATM机的模型设计机的模型设计b.b.画出事件跟踪图画出事件跟踪图n在事件跟

44、踪图中規定,在事件跟踪图中規定,一条竖线代表一个类与对象;一条竖线代表一个类与对象;每个事件用一条水平的箭头线表示,箭头方向每个事件用一条水平的箭头线表示,箭头方向从事件的发送对象指向接受对象。从事件的发送对象指向接受对象。时间从上向下递增,画在最上面的水平箭头线时间从上向下递增,画在最上面的水平箭头线代表最先发生的事件,画在最下面的水平箭头线所代表最先发生的事件,画在最下面的水平箭头线所代表的事件最晚发生。箭头线之间的间距并没有具代表的事件最晚发生。箭头线之间的间距并没有具体含义,箭头线位置也不表示两个事件之间的精确体含义,箭头线位置也不表示两个事件之间的精确时间差。时间差。4.6一个一个A

45、TM机的模型设计机的模型设计c.画状态图画状态图n一般说来,不同应用系统对相同事件的响应并不相一般说来,不同应用系统对相同事件的响应并不相同,因此,在最终分类所有事件之前,必须先画出状同,因此,在最终分类所有事件之前,必须先画出状态图。如果从状态图中看出某些事件之间的差异对系态图。如果从状态图中看出某些事件之间的差异对系统行为并没有影响,则可以忽略这些事件间的差异统行为并没有影响,则可以忽略这些事件间的差异 n状态图描绘事件与对象状态的关系。当对象接受了状态图描绘事件与对象状态的关系。当对象接受了一个事件以后,它的下个状态取决于当前状态及所接一个事件以后,它的下个状态取决于当前状态及所接受的事

46、件。受的事件。n由事件引起的状态改变称为由事件引起的状态改变称为“转换转换”。如果一个事。如果一个事件并不引起当前状态发生转换,则可忽略这个事件。件并不引起当前状态发生转换,则可忽略这个事件。n下图为下图为ATM状态图状态图4.6一个一个ATM机的模型设计机的模型设计下图为总行类状态图下图为总行类状态图4.6一个一个ATM机的模型设计机的模型设计下图为分行类状态图下图为分行类状态图4.6一个一个ATM机的模型设计机的模型设计4 4、建立功能模型、建立功能模型n功能模型表明了系统中数据之间的依赖关系,以及功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组数据流图组成。有关的

47、数据处理功能,它由一组数据流图组成。n通常在建立了对象模型和动态模型之后再建立功能通常在建立了对象模型和动态模型之后再建立功能模型。模型。(1)画出基本系统模型图画出基本系统模型图n基本系统模型由若干个数据源点基本系统模型由若干个数据源点/终点,及一个处理终点,及一个处理框组成,这个处理框代表了系统加工、变换数据的框组成,这个处理框代表了系统加工、变换数据的整体功能。整体功能。n基本系统模型指明了目标系统的边界。由数据源点基本系统模型指明了目标系统的边界。由数据源点输入的数据和输出到数据终点的数据,是系统与外输入的数据和输出到数据终点的数据,是系统与外部世界之间的交互事件的参数。部世界之间的交

48、互事件的参数。4.6一个一个ATM机的模型设计机的模型设计ATM系统的基本系统模型系统的基本系统模型:n本系统的数据源点本系统的数据源点/终点为储户终点为储户,尽管在储蓄所内尽管在储蓄所内储户的事务是由柜员通过柜员终端提交给系统的,储户的事务是由柜员通过柜员终端提交给系统的,但是信息的来源和最终接受者都是储户。但是信息的来源和最终接受者都是储户。n另一个数据源点是现金兑换卡,因为系统从它上另一个数据源点是现金兑换卡,因为系统从它上面读取分行代码、卡号等信息。面读取分行代码、卡号等信息。(2)画出功能级数据流图画出功能级数据流图n把基本系统模型中单一的处理框分解成若干个处把基本系统模型中单一的处

49、理框分解成若干个处理框,以描述系统加工、变换数据的基本功能,理框,以描述系统加工、变换数据的基本功能,就得到功能级数据流图。就得到功能级数据流图。4.6一个一个ATM机的模型设计机的模型设计(3)描述处理框功能描述处理框功能n把数据流图分解细化到一定程度之后,就应该描把数据流图分解细化到一定程度之后,就应该描述图中各个处理框的功能。述图中各个处理框的功能。n注意:描述每个处理框所代表的功能,而不是实注意:描述每个处理框所代表的功能,而不是实现功能的具体算法。现功能的具体算法。n描述既可以是说明性的,也可以是过程性的。描述既可以是说明性的,也可以是过程性的。n说明性描述规定了输入值和输出值之间的

50、关系,说明性描述规定了输入值和输出值之间的关系,以及输出值应遵循的规律。以及输出值应遵循的规律。n过程性描述则通过算法说明过程性描述则通过算法说明“做什么做什么”。4.6一个一个ATM机的模型设计机的模型设计nATM系统数据流图中对系统数据流图中对“更新账户更新账户”处理功能:处理功能:更更新新账账户户(账账号号,事事务务类类型型,金金额额)现现金金额额,账账单单数数据,信息据,信息n如果取款额超过账户当前余额,拒绝该事务且不付如果取款额超过账户当前余额,拒绝该事务且不付出现金。出现金。n如果取款额不超过账户当前余额,从余额中减去取如果取款额不超过账户当前余额,从余额中减去取款额后作为新的余额

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁