收藏 分享(赏)

第2章软件工程.ppt

上传人:oil007 文档编号:3489824 上传时间:2018-11-05 格式:PPT 页数:64 大小:592KB
下载 相关 举报
第2章软件工程.ppt_第1页
第1页 / 共64页
第2章软件工程.ppt_第2页
第2页 / 共64页
第2章软件工程.ppt_第3页
第3页 / 共64页
第2章软件工程.ppt_第4页
第4页 / 共64页
第2章软件工程.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

1、1,第2章 软件计划,主讲人: 王琳娟,2,回忆,瀑布模型把软件生命周期分为哪几个阶段? 问题: 某展览公司要开发一个展览会观众管理和信息分析系统,该从何解决问题呢? 是否立即开始考虑实现系统的详细方案,并且动手编写程序? 不符合软件工程的开发思想。应该如何做呢? 首先考虑系统是否可行,是不是能产生经济效益?其次还要考虑用户面临的问题究竟是什么,为什么会提出开发这样的系统呢?,3,本章内容,问题定义及可行性研究 制订项目开发计划 需求分析的任务 需求分析步骤 实体-关系图 数据流图 状态转换图 数据字典 需求分析的其他图形工具 软件计划阶段文档 本章重点: 可行性研究 需求分析任务、步骤回目录

2、,4,2.1 问题定义及可行性研究,2.1.1 问题定义 1. 明确系统目标规模、基本要求等 2. 对现有系统的分析 3. 设计新系统可能的解决方案 2.1.2 可行性研究 技术可行性 经济可行性 社会因素方面的可行性 2.1.3 制订项目开发计划 1. 项目概述 2. 软件工程实施计划 3. 支持的条件Gantt图法工程网络技术。,5,问题定义:通过调查研究,仔细阅读和分析有关资料,确定所开发系统的名称,明确系统的目标,规模,基本要求、限制,并确定可行性研究的方法等。 可行性研究:是从技术可行性,经济可行性,社会可行性等方面决定“做还是不做”。 注意:需求分析是决定“做什么” 技术可行性:从

3、设备条件,技术解决方案的实用性,技术资源的可用性,用户使用可行性,操作可行性等方面进行分析。 经济可行性:考虑支出,收益,投资回收期,风险等。 社会可行性:主要从法律,政策,管理制度等方面进行可行性分析。,基本要求包括:软件的功能、性能、输入(数据的来源、类型及数据的组织)、输出(报告、文件或数据)、处理流程及数据流程、安全和保密方面的要求,目标:人力与设备费用的减少、处理速度的提高、信息服务的改进、人员利用率的改进。 限制:经费投资的来源和限制、法律和政策的限制、硬件软件、运行环境和开发环境的条件和限制;可利用资源的限制;完成期限等。,6,可行性研究的结论可能有以下几种:(1)可以进行开发(

4、2)需要等待某些条件落实之后才能开发(如资金、人力、设备)(3)需要对开发目标进行修改之后才能开发。(4)不能进行或不必进行开发(如所需技术不成熟,经济上不合算) 注意:在可行性研究阶段不要急于着手解决问题,要得到系统确实可行的结论,或及时中止不可行的项止,避免在项目进行了较长时间后,才发现项目根本不可行,以致造成浪费。,7,2.2 需求分析的任务,需求分析:需求分析是由软件人员和用户一起完全弄清用户对系统的确切要求。包括系统的运行环境要求,性能要求,系统功能,接口需求。 需求分析的结果是否正确,关系到软件开发的成败,正确的需求分析是整个系统开发的基础。 需求要析是理解、分析和表达“系统做什么

5、”的过程。,8,需求分析具体任务,确定目标系统的具体要求:包括运行环境的要求、性能要求、系统功能、接口的需求 建立目标系统的逻辑模型 软件需求规格说明 修正系统开发计划 制定初步的系统测试计划 编写初步的用户手册,9,【例2.1】某高校医疗费管理系统,医疗费:校内门诊费、校外门诊费、住院费、子女医疗费。要求数据库中存放每个职工的职工号、姓名、所属部门。 报销时填写所属部门、职工号、姓名、日期、医疗费种类和数额。 该校规定,每年每个职工的医疗费报销有限额(如480元),限额在年初时确定,每个职工一年内报销的医疗费不超过限额时可全部报销;超过限额时,超出部分只可报销90。职工子女的医疗费也有限额(

6、如240元)。 医疗费管理系统每天记录当天报销的若干职工或职工子女的医疗费的类别、金额。让系统自动结账、统计当天报销的医疗费总额,供出纳员核对。每笔账要保存备查,每天所报销的费用要和各个职工已报销的金额累计起来,以检查哪些职工已超额。 系统要设计适当的查询功能。年终结算、下一年度开始时,要对数据库文件进行初始化,职工医疗费余额累加到下一年度的余额中。,10,2.2.2 建立目标系统的逻辑模型,模型是为了理解事物而对事物做出一种抽象,对事物的无歧义的书面描述。 模型由一组图形符号和组成图形的规则组成。 建模的基本目标是:描述用户需求为软件的设计奠定基础定义一组需求,用以验收产品。 模型分为:数据

7、模型:用实体关系图功能模型:用数据流图行为模型:用状态转换图 数据字典用来描述软件使用或产生的所有数据对象,并对各种图形工具所不能表达的内容加以补充。,11,2.3需求分析步骤,2.3.1进行调查研究 调查研究的目的:是了解用户的真正需要 调查研究的方法 访谈:正式访谈和非正式访谈。 分发调查表。 开会讨论确认的方法。 2.3.2分析和描述系统的逻辑模型1. 建立起目标系统的逻辑模型(逻辑模型可用实体关系图,数据流图,数据字典,状态转换图,层次图,warnier图表示)2. 沿数据流图回溯 2.3.3 复审(确保软件需求的一致性,完整性和正确性。 ),12,2.4实体-关系图,实体关系图:简记

8、E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。,13,2.4实体-关系图,实体型(Entity):用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。 属性(Attribute):用椭圆形或圆角矩形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。 联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)就是指存在的三种关系(一对一,一对多,多对多)。 比如老师给学生授课存在授课关系,学生选课

9、存在选课关系。,14,2.4实体-关系图,【例2.2】 学生成绩管理系统 教师与学生试题关系图,15,2.5 数据流图,数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。 数据流图英文缩写DFD(Data Flow Diagram)它是描绘信息流和数据从输入移动到输出的过程中所经受的变换。 数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。 数据流程图包括:a指明数据存在的数据符号,这些数据符号也可指明该数据所使用的

10、媒体;b指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能;c指明几个处理和(或)数据媒体之间的数据流的流线符号;d便于读、写数据流程图的特殊符号。,16,2.5 数据流图,数据流图的基本符号,17,数据流是一组数据。在数据流图中数据流用带箭头的线表示,在其线旁标注数据流名。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。 加工(处理)是在数据流图中用圆圈表示,在圆圈内写上加工名。一个处理框可以代表一系列程序、单个程序或者程序的一个模块。 数据存储是按照某种规则组织起来的、长度不限的数据。在数据流图中文件用一直线表示,在线段旁注上文件名。一个数据存

11、储也并不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等;,18,数据流图的附加符号 数据流与加工的关系, 表示数据流之间是“与”关系(同时存在) 表示数据流之间是“或”关系 表示只能从几个数据流中选一个(互斥关系),19,数据流图DFD的画法,(一)确定系统的输入输出由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有的内容全部都包括进去。此时,应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息,然后,根据用户的答复画出数据流图的外围。 (二)由外向里画系统的顶层数据流图首先,将系统的输人数据和输出数据用一连串的加工连

12、接起来。在数据流的值发生变化的地方就是一个加工。接着,给各个加工命名。然后,给加工之间的数据命名。最后,给文件命名。 (三)自顶向下逐层分解,绘出分层数据流图对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示。,20,3、画数据流图的步骤,画顶层数据流图 画分层数据流图 画总的数据流图 【例2-3】画招聘考试成绩管理系统的数据流图 某市人事局举行招聘考试,分法律、行政,财经三个专业,每个专业考生参加两门基础课,一门专业课的考试。考生报名后,招生委员会需做一些考前处理,如编排考生准考证号,安排考场等,并将考生基本

13、情况输入系统。考试结束后,将每位考生的各门考试课程的成绩输入系统,由系统计算出每位考生的成绩总分,将考生成绩单分给每位考生。录用工作是这样进行的,三个专业的考生分别按总成绩总分进行排序,录用时从高分到低分录取,总分相同的按专业课成绩高的优先录取。录用工作结束后,对考试情况进行各种分析。,21,3、画数据流图的步骤,【例2-3】 先画招聘考试成绩管理系统的高层数据流图。,22,招聘考试成绩管理系统数据流图,23,例2.4 医疗费管理系统数据流图,24,实例考务处理系统的功能,(1) 对考生送来的报名单进行检查; (2) 对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站

14、; (3) 对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者; (4) 制作考生通知单 (含成绩及合格/不合格标志) 送给考生; (5) 按地区进行成绩分类统计和试题难度分析,产生统计分析表。,25,26,根据考务处理业务,画出顶层数据流图,以反映最主要业务处理流程及系统与外界的关系。 经过分析,考务业务处理的主要功能应当有登记报名单、统计成绩两个主要数据流。输入的源点和输出终点是考生、考试中心和阅卷站。 然后从输入端开始,根据考务业务工作流,画出数据流流经的各加工框,逐步画到输出端,得到第 0 层数据流图。,27,28,29,实用软件工程陆惠恩编著,30,DFD分层方法,

15、画系统的输入输出,即顶层数据流图 画系统内部,即下层数据流图。将层从0开始编号,采用自顶向下,由外向内的原则。,实用软件工程陆惠恩编著,31,S,2,1,3,2.2,2.1,2.3,3.1,3.2,顶层 (不编号),0层,1层,实用软件工程陆惠恩编著,32,人 事 部 门,人事工资 管理系统,会 计 部 门,职工出缺勤报表,职工出缺勤信息,职工工资信息,职工工资报表,职 工,职工基本信息,职工工资单,人事工资管理系统的顶层DFD(概图)范例,实用软件工程陆惠恩编著,33,职工基本 信息管理 子系统,1.0,2.0,人事工资管理系统0层DFD范例,职工出缺勤信息,职工工资管理子系统,3.0,职工

16、出缺 勤管理 子系统,职工基本信息,职工工资信息,人 事 部 门,会 计 部 门,职 工,职工出缺勤报表,职工出缺勤信息,职工工资信息,职工工资报表,职工基本信息,职工工资单,实用软件工程陆惠恩编著,34,建立职工 出缺勤信息,3.1,人事工资管理系统1层DFD:加工3.0的分解图,职工出缺勤信息,3.2,制作职工出缺勤信息 统计表,职工基本信息,职工 出缺勤报表,职工 出缺勤信息,实用软件工程陆惠恩编著,35,实例:学生购买教材,系统流程图数据流程图,实用软件工程陆惠恩编著,36,购买教材 系统流程图,实用软件工程陆惠恩编著,37,学 生,教材 购销 系统,保 管员,外部实体,外部实体,实用

17、软件工程陆惠恩编著,38,教材销售子系统,1.3 登记并开 领书单,1.2 开发票,1.1 审查 有效性,1.4 登记 缺书,1.5 补售 教材,采 购,学 生,学 生,暂缺书单,补售 书单,第 1 层,F1 书号 单价 数量,外部 项,实用软件工程陆惠恩编著,39,采购 子系统,第 0 层,缺书单,2.3 修改教材库 存和待 购量,销 售,2.1 按书号汇 总缺书,2.2 按出版社统 计缺书,保 管员,实用软件工程陆惠恩编著,40,数据字典DD(Data Directionry),41,数据字典是结构化分析方法的核心,与各模型的图形表示配合,能清楚地表达数据处理的要求。 词条描述对于在模型中

18、每一个被命名的图形元素,均加以定义,其内容有: 名字,别名或编号,分类,描述,定义,位置,其它,等,42,1、数据字典的定义,数据流名:说明:简要介绍作用即它产生的原因和结果。数据流来源:即该数据流来自何方。数据流去向:去向何处。数据流组成:数据结构。每个数据量流通量:数据量、流通量。,(1) 数据流词条的描述,数据流名:发票说明:用作学生已付书款的依据数据流来源:来自加工“审查并开发票”数据流去向:流向加工“开领书单”。数据流组成:学号+姓名+书号+单价总价+书费合计,43,数据元素名:类型:数字(离散值、连续值),文字(编码类型)长度:取值范围: 相关的数据元素及数据结构,(2) 数据项词

19、条的描述,44,(3) 数据文件(数据存储)词条的描述,数据文件名:简述:存放的是什么数据。输入数据:输出数据: 数据文件组成:数据结构。存储方式:顺序,直接,关键码。存取频率: ,45,加工名:加工编号:反映该加工的层次 简要描述:加工逻辑及功能简述 输入/出数据流:取值范围: 加工逻辑:,(4) 加工(加工逻辑)词条的描述,46,名称:外部实体名 简要描述:什么外部实体 有关数据流:数目:,(5) 外部实体词条描述,47,数据字典定义符号(数据结构的描述),=,被定义为,+,与, ,x=a+b,则表示 x 由 a 和 b 组成,x=a|b,则表示 x 由 a 或由 b 组成, ,或,重复,

20、x=a,则表示 x 由 0个或多个 a 组成,( ),可选,表示在两个 * 之间的内容为词条的注释,m n,重复,x=3a8,则表示x中至少出现3次a ,最多出现8次,*,注释符,x=(a),则表示 a 在 x 中出现, 也可不出现,48,数据项条目举例,数据项名称:货物编号 别名:G_No,Goods_No 简述:本公司的所有货物的编号。 类型:字符串 长度:10 取值/含义:第一位:进口/国产 24位:类别 57位:规格 810:品名编号,49,加工条目举例,加工名:确定能否供货 编号:1.2 简述: 激发条件:接受到合格订单时 优先级:普通 输入:合格订单 输出:可供货订单、缺货订单 加

21、工逻辑:根据库存记录IF 订单项目的数量该项目库存量的临界值THEN 可供货处理ELSE 此订单缺货,登记,待进货后再处理ENDIF,50,2.6状态转换图,1. 什么情况下要画状态转换图 2. 状态转换图的符号 【例2.5】 数据结构中“栈”对象的状态转换图。,51,2.7 数据字典,数据字典(Data Dictionary ,DD)是对实体-关系图、状态转换图和数据流图中出现的所有数据对象、属性、关系、状态、数据流、文件、处理等元素的定义的集合。2.7.1 数据字典的内容 . 数据元素 . 数据流 . 数据存储 . 数据处理,52,2.7.2 数据字典使用的符号, 表示“等价于”或“定义为

22、” 连接 ,| 表示“或”,用“|”分隔,表示可任选其中某一项 表示“重复” ( ) 表示“可选”,用“,”号隔开 1A 表示 A 的内容至少要出现 1 次。 B 表示 B 的内容允许重复 0 至任意次。如: 成绩单学号姓名1课程名成绩3 也可写为 成绩单学号姓名 课程名成绩,53,2.7.3数据字典与图形工具, 应遵守以下约定: 可以用图形工具描述的尽量用图形描述。 有关数据的组成在数据字典中描述。 有关数据的加工细节在数据字典中描述。 编写数据字典时不能有遗漏和重复,要避免不一致性。 数据字典中的条目的排列要有一定规律,方便查阅。如按英文字母表顺序或按汉字笔画顺序排列或按功能分类等; 数据

23、字典的要易于更新修改。,数据字典与数据流图等图形工具应相辅相成、互相配合, 既要互相补充又要避免冗余。,54,【例2.6】写出例2.3 招聘考试成绩统计系统的数据字典。,1、数据项定义: 考生准考证号姓名性别出生年月地址1课程名成绩3总分名次专业代号录用否录用单位考生文件分两种:一种按准考证号码次序排列,另一种按考生成绩总分由高到低排列。专业代号1法律/ 2行政学/ 3财经学录用通知书准考证号专业姓名录用单位考生成绩单准考证号姓名专业1课程名成绩3总分 2、 处理算法: 排序: (1)三个专业的考生分别按总分由高到低的次序排序,输出成绩单,供录用参考。(2)按准考证号的顺序将考生成绩单打印出来

24、,一份给招干委员会留底,另一份发给考生。录用原则:各专业按考生成绩总分从高分到低分的次序录用,总分相同时专业课成绩高的优先。,55,【例2.7】写出例2.1 医疗费管理系统数据字典。,1、数据项 职工库部门名职工号姓名 当日明细账报销日期部门名职工号姓名校外门诊费校内门诊费住院费总额余额子女医疗费子女总额医疗费总账部门名职工号姓名校外门诊费校内门诊费住院费总额余额子女医疗费子女总额 余额限额总额(小于 0 时,取 为0) 医疗费明细账当日明细账 2、操作说明 (1)输入数据时只需输入职工号,就可在职工库中查找出该职工所属部门名及姓名,显示在屏幕上供核对,并将医疗费总账中该职工今年内今日前已报销

25、的医疗费总额和余额显示出来。 (2)输入当日报销的校外门诊费、校内门诊费、住院费、子女医疗费后,计算机自动算出该职工的医疗费总额和余额。 (3)核对:算出当日所有职工报销的各类医疗费的分类总和及所有总和,供出纳员核对。若发现错误应进入“修改”模块进行修改。核对正确后可进入“累加”模块。 (4)累加:把职工当天报销的各类医疗费与以前报销的分类累加并算出总额。,实用软件工程陆惠恩编著,56,请为下列给出的 DFD 图编写 DD,实用软件工程陆惠恩编著,57,实用软件工程陆惠恩编著,58,59,2.8 需求分析其他图形工具,2.8.1 层次图 层次图是一系列多层次的树形结构矩形框,用来描述数据的层次

26、结构,也可描述程序结构。,60,2.8.2 Warnier 图 (Warnier diagram),表示数据层次结构(Warnier-Orr图) 可表达数据结构 也可表达程序结构 Warnier 图使用的符号: ()花括号 表示属于数据结构的同一层次。 ()异或符号 ,符号的上、下方的两个名字代表的数据只能出现一个。()圆括号( ) ,数据重复出现的次数。,61,2.8.3 IPO 图,输入处理输出 (Input Process Output )图的简称。 【例2.10】 招聘考试成绩管理系统 IPO 图。,62,2.9.1 软件计划阶段文档的编写步骤,(1)编写软件问题定义文档。 (2)书写

27、可行性研究报告。 (3)编写软件需求说明书。 (4)修改、完善项目开发计划。 (5)制定初步的系统测试的计划,作为今后软件确认和验收的依据。 (6)编写初步的用户手册。 (7)编写数据要求说明书。,63,处理展会事务的大致过程,64,第2章小结,可行性研究阶段要从技术方面、经济方面、社会因素方面写出可行性研究报告。 软件开发计划可用Gantt图和工程网络图来描述。 软件需求是进行软件设计、实现和质量度量的基础。 需求分析是理解、分析和表达软件需求的过程。 建立模型是描述用户需求,定义需求,用以验收产品。 数据模型用实体-关系图来描述数据对象及相互关系。 功能模型用数据流图来描述。 行为模型用状态转换图来描绘。 数据字典用来描述软件使用或产生的所有数据对象、数据存储规则和处理算法等。 需求分析阶段还应写出软件需求规格说明,有时附上可执行的原型及初步的用户手册。它是需求分析阶段的最终成果。 复审:需求分析的结果要经过严格的审查。返回第2章首 返回目录,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报