《软件工程流程》PPT课件.ppt
单元七 信息系统的分析与设计(一)导论 随着开发的信息系统规模越来越大,其复杂性及难度也随之增大,迫切需要有信息系统开发的分析与设计方法来加以指导,以使系统能按时按质按量地完成。(二)系统开发的生命周期方法 一个信息系统经过诞生、定义、分析、设计、开发、测试、实施和维护这样一个生命周期过程。下面是生命周期的瀑布模型(waterfall model)问题定义可行性研究需求分析概要设计详细设计编码测试维护计划时期开发时期运行时期1、生命周期法的各个主要阶段(1)定义问题阶段 由系统分析员根据对问题(即用户要计算机解决什么问题)的理解,提出关于系统目标与范围的说明,请用户审查和认可。(2)可行性研究 为前一步提出的问题寻求一种至多种在技术上可行,且在经济上有较高效益的解决方案,应写出 可行性论证报告(3)需求分析 弄清用户对软件系统的全部需求,通常由数据流程图、数据字典和加工说明等一整套文 档组成,作为下一步设计的依据。(4)概要设计 主要任务是建立软件的总体结构,画出由模块组成的软件结构图。(5)详细设计 是针对单个模块的设计,目的是确定模块内部的过程结构,提供每一模块的模块过程性描述,详细说明实现该模块功能的算法和数据结构,有时也有算法设计。(6)编码 按选定的语言,把模块的过程性描述翻译为源程序。(7)测试 对所编软件进行测试,写出测试报告。(8)维护 在软件的整个生存周期内保证满足用户的需求和延长软件的使用寿命。下面详述书上介绍的七个阶段 2、定义问题阶段(1)定义问题 定义问题需要知道问题产生的根源在哪里?确定问题的一个有效方法叫鱼刺图法。例见P7 图7.2 注意:一旦把问题清晰定义之后,你就应该将这些确定的问题根源/原因转化为一组可以量化与量度的目标。(2)问题的陈述 书写一个完整的问题陈述,以便与用户交流时可以肯定所确定的问题是正确的,并为用户所接受。一个良好的问题陈述报告通常包括三个方面的内容:列明问题的各种症状、指出可能存在的各种根源/原因,以及估计解决这问题所需资源。参见P9 图7.3(3)用户确认与接受 让用户确认你呈交的问题陈述报告是否符合实际情况,并让其授权你可以开发系统了。(4)可行性分析 在定义问题之后,应先判断开发一个系统是否可行或值得与否(因涉及大量投资),因而需要作可行性分析(对大系统尤甚),在作可行性分析时一般应从下面三个方面考虑:a.技术可行性:目前的技术能否解决所面临问 题。b.经济可行性:开发该系统的投资及其收益。c.运作可行性:系统运作与公司的策略目标一 致否?与公司文化符合否?可行性分析报告的主要内容见P10 图7.43、系统分析阶段(1)信息收集 a.公司内信息的分类 公司信息可以分为下列四大类型 公司组织方面的信息 公司人事方面的信息 公司工作方面的信息 公司工作环境方面的信息 b.信息的来源 现有公司档案文件 系统用户和经理 公司外部信息来源c.通过与人打交道的信息收集方法 一般有以下4种方法:面谈访问 确定信息来源 为访谈做准备 正式访谈 问卷调查方法 计划一个问卷调查 书写问卷问题 进行正式问卷调查及数据分析 观察方法 由有适当资格的人员通过实地观察系统具体的操作处理过程,来获得第一手信息。工作抽样方法(2)系统分析的逻辑与物理摩型 主要介绍两种方法:一是结构式的业务过程分析方法(即数据流程图法);二是实体关系模型法。下面详述数据流程图(data flow diagram-DFD)画法 一个DFD由4种符号组成,这4种符号如下:数据源点或终点数据流加工(处理)数据存储或数据文件只读只写读写计算机售书系统的数据流图学生学生购书单审查并开发票开领书单发票领书单各班学生用书表教材存量表无效书单下面介绍该系统DFD的画法第一:画第一层DFD学 生购书单领书单缺书单进书通知 书库保管员教材购销系统第二:画第二层DFDF1教材存量表书库保管员学 生 1 销售 2 采购F2缺书登记表购书单领书单进书通知缺书单进书通知第三步:画第三层DFD T 销售子系统DFD学生学生无效书单购书单有效购书单发票领书单 1.1 审查有效性F1 教材存量表 1.2开发票 1.3登记并开领书单采购进书通知F3各班学生用书表F4 售书登记表F2 缺书登记表 1.4登记缺书 1.5补售教材暂缺书单补售书单T 采购子系统DFDF1 教材存量表F5 待购教材表F6 教材一览表F2 缺书登记表销 售 书库保管员进书通知进书通知2.3修改教材库存和待购量 2.1按书号汇总缺书 22按出版社统计缺书画分层DFD的指导原则(1)注意父母和子图的平衡 即指父图和子图的输入和输出数据应分别保 持一致。(2)区分局部文件和局部外部项(3)掌握分解的速度 每一个加工每次可分为24个子加工,最 多不要超过7个。(4)遵守加工编号规则 顶层不编号 二层为1,2,3,n 三层为1.1,2.1,n.1,n.2,(3)系统分析的数据模型 着重讨论实体关系模型(ER模型):它主要是定义系统中的数据实体及其之间的关系 例如:实体:如学生或教师 关系:如教师授课给学生 ER图的一般形式实体关系实体 以图书销售系统DFD为例(采用从数据终点回 溯到数据源点)领书单是系统的主要输出数据流 领书单=学号+姓名+书号+数量 发票=学号+姓名+书号+单价+数量+总价 +书费合计 有效购书单=学号+姓名+书号+数量 教材存量=书号+单价+数量 暂缺书单=学号+姓名+书号+数量 补售书单=学号+姓名+书号+数量 缺书登记表=学号+姓名+书号+数量符号:表示重复 对 中的值任取其一()表示可选择取舍 =表示定义为 +表示加 *表示为关键属性 数字1 数字2 表示允许重复数字1数字2次 数据实体之间有三种类型:一对一关系 规定一个教师只教一门课一对多关系教师授课课程 规定一个教师可以讲授多个课程多对多关系 一门课程可由多个学生选修,一个学生可选修多门课程。例见书P24-28教师课程授课学生课程选修(4)系统分析的数据字典数据实体的描述 数据流描述 P29 数据存储描述 P30数据项描述 P30功能处理描述 P31(5)系统分析的电脑工具:CASE系统 系统分析员可借助CASE系统来完成数据流程图、ER图、数据规范化处理及相应字典的产生。4、系统设计阶段(1)系统设计图 由数据流程图 系统设计图A、变换分析转换ABCDEPQRWUVabcdeprwuv传入部分变换中心传出部分 综合传入分支、中心加工分支及传出分支分解图如下:McMaMtMeGet CGet EQPRWrite WPut UGet B BtoCRead DDtoEUtoVWrite VRead AAtoBC,ecbbcaabddeeepC,prrW,uW,uwuuvvW,uB、事务分析(1 1)什么是事务)什么是事务 定义:引起、触发或启动某一动作或一串 动作的任何数据,控制,信号,事 件或状态变化。(2 2)事务分析的步骤)事务分析的步骤 一般可分为三个步骤在DFD图上确定事务中心,接受部分(包含接受路径)和发送部分(包含全部动作路径)画出SC图框架,把DFD图的三个部分分别映射 为事务控制模块,接受模块和动作发送模块。分解和细化接受分支和发送分支,完成初始的SC图。事务中心通常位于DFD图中多条动作路径的起点,从这里引出受中心控制的所有动作路径。如下图:事务型DFD图的划分。传入变换传出接收部分事务中心发送部分T事务型SC图的上层结构事务控制接收发送事务控制事务分析发送。(3)动作分支的分解PT1T2A1A2A3D1D2TiAjDk处理层事务层操作层细节层(2)系统设计的其它方面 文件及数据库设计 数据结构设计、索引文件建立 系统的用户界面设计 系统的输入输出设计,良好的界面会引起用户的极大兴趣。5、系统开发阶段 系统设计工作结束的标志是系统结构设计图、系统文件及数据库设计、系统用户界面的设计。接下来就是程序员按一定的规则进行编程。这一阶段的工作应遵循以下几个步骤:(1)问题分析(2)程序说明书(3)编写具体的程序 详见P36-376、系统测试阶段 见P387、系统实施阶段 见P388、系统维护阶段 见P39(三)系统开发的原型方法 P41-42(四)动态系统开发方法动态系统开发方法有下列特性:P43 动态系统开发方法具有原型法和生命周期方法的优点。其生命周期如P44图 7.31所示。(五)面向对象的系统开发方法(object orianted)传统的系统分析法側重于业务过程,是以 过程导向,而OO方法是側重于业务实体,将业务处理和数据结合在一起,形成一个新的实体对象。1、OO方法的主要概念 在OO方法中,处理与数据被称为方法和属性。(1)对象可以是具体或抽象的实体。如:人或汽车。(2)属性是用来描述对象的特点。如:人的身高、性别、年龄等。(3)方法是用来改变对象状态的操作。如:改变 对象属性值。(4)类别:一组类似的对象集合(5)对象之间的联系与协作,是通过信息传递来 实现的。(6)对象只有通过自身的方法才能查询或改变其 所拥有的数据(即属性的值),这一特点叫 做对象的密封性。(7)对象的状态可以通过另一对象传递信息而得 到改变。(8)对象的另一特点是继承特性对象的子类别可以自动地继承父亲类别的所有特性,包括其属性与方法。见P45-462、OO系统分析方法简述 见P46-473、OO系统设计方法简述 见P48-49(六)信息系统的品质保证派士文指出:软件的品质必须满足下列三项:(1)事先清楚地写出有关软件的功能和需要达到的表现(2)事先用清楚文字写下开发时达到的各项标准(3)所有专业开发的软件具有的隐含性质