




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章软件计划主讲人:王琳娟1第2章软件计划主讲人:王琳娟1回忆瀑布模型把软件生命周期分为哪几个阶段?问题:某展览公司要开发一个展览会观众管理和信息分析系统,该从何解决问题呢?是否立即开始考虑实现系统的详细方案,并且动手编写程序?不符合软件工程的开发思想。应该如何做呢?首先考虑系统是否可行,是不是能产生经济效益?其次还要考虑用户面临的问题究竟是什么,为什么会提出开发这样的系统呢?2回忆瀑布模型把软件生命周期分为哪几个阶段?2本章内容问题定义及可行性研究制订项目开发计划需求分析的任务需求分析步骤实体-关系图数据流图状态转换图数据字典需求分析的其他图形工具软件计划阶段文档本章重点:可行性研究需求分析任务、步骤回目录3本章内容问题定义及可行性研究32.1问题定义及可行性研究
2.1.1问题定义1.明确系统目标规模、基本要求等2.对现有系统的分析3.设计新系统可能的解决方案2.1.2可行性研究技术可行性经济可行性社会因素方面的可行性2.1.3制订项目开发计划1.项目概述2.软件工程实施计划3.支持的条件Gantt图法工程网络技术。42.1问题定义及可行性研究
2.1.1问题定义4问题定义:通过调查研究,仔细阅读和分析有关资料,确定所开发系统的名称,明确系统的目标,规模,基本要求、限制,并确定可行性研究的方法等。可行性研究:是从技术可行性,经济可行性,社会可行性等方面决定“做还是不做”。注意:需求分析是决定“做什么”技术可行性:从设备条件,技术解决方案的实用性,技术资源的可用性,用户使用可行性,操作可行性等方面进行分析。经济可行性:考虑支出,收益,投资回收期,风险等。社会可行性:主要从法律,政策,管理制度等方面进行可行性分析。基本要求包括:软件的功能、性能、输入(数据的来源、类型及数据的组织)、输出(报告、文件或数据)、处理流程及数据流程、安全和保密方面的要求目标:人力与设备费用的减少、处理速度的提高、信息服务的改进、人员利用率的改进。限制:经费投资的来源和限制、法律和政策的限制、硬件软件、运行环境和开发环境的条件和限制;可利用资源的限制;完成期限等。5问题定义:通过调查研究,仔细阅读和分析有关资料,确定所开发系可行性研究的结论可能有以下几种:
(1)可以进行开发(2)需要等待某些条件落实之后才能开发(如资金、人力、设备)(3)需要对开发目标进行修改之后才能开发。(4)不能进行或不必进行开发(如所需技术不成熟,经济上不合算)注意:在可行性研究阶段不要急于着手解决问题,要得到系统确实可行的结论,或及时中止不可行的项止,避免在项目进行了较长时间后,才发现项目根本不可行,以致造成浪费。6可行性研究的结论可能有以下几种:62.2需求分析的任务需求分析:需求分析是由软件人员和用户一起完全弄清用户对系统的确切要求。包括系统的运行环境要求,性能要求,系统功能,接口需求。需求分析的结果是否正确,关系到软件开发的成败,正确的需求分析是整个系统开发的基础。需求要析是理解、分析和表达“系统做什么”的过程。72.2需求分析的任务需求分析:需求分析是由软件人员和用户一需求分析具体任务确定目标系统的具体要求:包括运行环境的要求、性能要求、系统功能、接口的需求建立目标系统的逻辑模型软件需求规格说明修正系统开发计划制定初步的系统测试计划编写初步的用户手册8需求分析具体任务确定目标系统的具体要求:包括运行环境的要求、【例2.1】某高校医疗费管理系统
医疗费:校内门诊费、校外门诊费、住院费、子女医疗费。要求数据库中存放每个职工的职工号、姓名、所属部门。报销时填写所属部门、职工号、姓名、日期、医疗费种类和数额。该校规定,每年每个职工的医疗费报销有限额(如480元),限额在年初时确定,每个职工一年内报销的医疗费不超过限额时可全部报销;超过限额时,超出部分只可报销90%。职工子女的医疗费也有限额(如240元)。医疗费管理系统每天记录当天报销的若干职工或职工子女的医疗费的类别、金额。让系统自动结账、统计当天报销的医疗费总额,供出纳员核对。每笔账要保存备查,每天所报销的费用要和各个职工已报销的金额累计起来,以检查哪些职工已超额。系统要设计适当的查询功能。年终结算、下一年度开始时,要对数据库文件进行初始化,职工医疗费余额累加到下一年度的余额中。
9【例2.1】某高校医疗费管理系统
医疗费:校内门诊费、校外门2.2.2建立目标系统的逻辑模型模型是为了理解事物而对事物做出一种抽象,对事物的无歧义的书面描述。模型由一组图形符号和组成图形的规则组成。建模的基本目标是:描述用户需求为软件的设计奠定基础定义一组需求,用以验收产品。模型分为:
数据模型:用实体—关系图
功能模型:用数据流图
行为模型:用状态转换图数据字典用来描述软件使用或产生的所有数据对象,并对各种图形工具所不能表达的内容加以补充。102.2.2建立目标系统的逻辑模型102.3需求分析步骤2.3.1进行调查研究调查研究的目的:是了解用户的真正需要调查研究的方法访谈:正式访谈和非正式访谈。分发调查表。开会—讨论—确认的方法。2.3.2分析和描述系统的逻辑模型1.建立起目标系统的逻辑模型(逻辑模型可用实体—关系图,数据流图,数据字典,状态转换图,层次图,warnier图表示)2.沿数据流图回溯2.3.3复审(确保软件需求的一致性,完整性和正确性。)112.3需求分析步骤2.3.1进行调查研究112.4实体-关系图实体关系图:简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。
122.4实体-关系图实体关系图:简记E-R图是指以实体、关系、2.4实体-关系图实体型(Entity):用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。·属性(Attribute):用椭圆形或圆角矩形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)就是指存在的三种关系(一对一,一对多,多对多)。比如老师给学生授课存在授课关系,学生选课存在选课关系。132.4实体-关系图实体型(Entity):用矩形表示,矩形框2.4实体-关系图【例2.2】学生成绩管理系统教师与学生试题关系图142.4实体-关系图142.5数据流图数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。数据流图英文缩写DFD(DataFlowDiagram)它是描绘信息流和数据从输入移动到输出的过程中所经受的变换。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。数据流程图包括:a.指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;b.指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能;c.指明几个处理和(或)数据媒体之间的数据流的流线符号;d.便于读、写数据流程图的特殊符号。152.5数据流图数据流图是结构化分析方法中使用的工具,它以2.5数据流图数据流图的基本符号162.5数据流图数据流图的基本符号16数据流是一组数据。在数据流图中数据流用带箭头的线表示,在其线旁标注数据流名。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。
加工(处理)是在数据流图中用圆圈表示,在圆圈内写上加工名。一个处理框可以代表一系列程序、单个程序或者程序的一个模块。数据存储是按照某种规则组织起来的、长度不限的数据。在数据流图中文件用一直线表示,在线段旁注上文件名。一个数据存储也并不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等;
17数据流是一组数据。在数据流图中数据流用带箭头的线表示,在其线数据流图的附加符号
数据流与加工的关系*表示数据流之间是“与”关系(同时存在)+表示数据流之间是“或”关系⊕表示只能从几个数据流中选一个(互斥关系)18数据流图的附加符号
数据流与加工的关系*表示数据流之间是数据流图DFD的画法(一)确定系统的输入输出由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有的内容全部都包括进去。此时,应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息,然后,根据用户的答复画出数据流图的外围。(二)由外向里画系统的顶层数据流图首先,将系统的输人数据和输出数据用一连串的加工连接起来。在数据流的值发生变化的地方就是一个加工。接着,给各个加工命名。然后,给加工之间的数据命名。最后,给文件命名。(三)自顶向下逐层分解,绘出分层数据流图对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示。19数据流图DFD的画法(一)确定系统的输入输出193、画数据流图的步骤画顶层数据流图画分层数据流图画总的数据流图【例2-3】画招聘考试成绩管理系统的数据流图某市人事局举行招聘考试,分法律、行政,财经三个专业,每个专业考生参加两门基础课,一门专业课的考试。考生报名后,招生委员会需做一些考前处理,如编排考生准考证号,安排考场等,并将考生基本情况输入系统。考试结束后,将每位考生的各门考试课程的成绩输入系统,由系统计算出每位考生的成绩总分,将考生成绩单分给每位考生。录用工作是这样进行的,三个专业的考生分别按总成绩总分进行排序,录用时从高分到低分录取,总分相同的按专业课成绩高的优先录取。录用工作结束后,对考试情况进行各种分析。203、画数据流图的步骤画顶层数据流图203、画数据流图的步骤【例2-3】先画招聘考试成绩管理系统的高层数据流图。213、画数据流图的步骤【例2-3】21招聘考试成绩管理系统数据流图22招聘考试成绩管理系统数据流图22例2.4医疗费管理系统数据流图23例2.4医疗费管理系统数据流图23实例考务处理系统的功能(1)
对考生送来的报名单进行检查;(2)
对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站;(3)
对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者;(4)
制作考生通知单(含成绩及合格/不合格标志)送给考生;(5)
按地区进行成绩分类统计和试题难度分析,产生统计分析表。24实例考务处理系统的功能(1)对考生送来的报名单进行检查;2顶层数据流图考生考务处理系统考试中心阅卷站不合格报名表报名表准考证考生通知单成绩单合格标准错误成绩单考生名单统计分析表25顶层数据流图考考务考阅卷站不合格报名表报名表准考证考生通知单根据考务处理业务,画出顶层数据流图,以反映最主要业务处理流程及系统与外界的关系。经过分析,考务业务处理的主要功能应当有登记报名单、统计成绩两个主要数据流。输入的源点和输出终点是考生、考试中心和阅卷站。然后从输入端开始,根据考务业务工作流,画出数据流流经的各加工框,逐步画到输出端,得到第0层数据流图。26根据考务处理业务,画出顶层数据流图,以反映最主要业务处理流程报名表准考证1登记报名表2统计成绩不合格报名表考生通知单成绩单统计分析表第0层数据流图考生名册合格标准考生名单错误成绩单27报名表准考证12不合格考生通知单成绩单统计分析表第0层数据流第一层数据流图(a)1.1检查报名表报名表准考证1.2编准考证号码不合格报名表考生名册考生名单合格报名表1.3登记考生合格报名表28第一层数据流图(a)1.1报名表准考证1.2不合格考生名第一层数据流图(b)2.1检查成绩单2.2审定合格者考生名册正确成绩单2.3制作通知单2.4分析统计成绩2.5分析试题难度试题得分表考生通知单难度分析表合格标准分类统计表成绩单错误成绩单经审定的成绩单29第一层数据流图(b)2.12.2考生名册正确2.32.42DFD分层方法画系统的输入输出,即顶层数据流图画系统内部,即下层数据流图。将层从0开始编号,采用自顶向下,由外向内的原则。30《实用软件工程》陆惠恩编著DFD分层方法画系统的输入输出,即顶层数据流图30《实用软件S2132.22.12.33.13.2顶层(不编号)0层1层31《实用软件工程》陆惠恩编著S2132.22.12.33.13.2顶层0层1层31《人事部门人事工资管理系统会计部门职工出缺勤报表职工出缺勤信息职工工资信息职工工资报表职工职工基本信息职工工资单人事工资管理系统的顶层DFD(概图)范例32《实用软件工程》陆惠恩编著人人事工资会职工出缺勤报表职工出缺勤信息职工工资信息职工工资职工基本信息管理子系统1.02.0人事工资管理系统0层DFD范例职工出缺勤信息职工工资管理子系统3.0职工出缺勤管理子系统职工基本信息职工工资信息人事部门会计部门职工职工出缺勤报表职工出缺勤信息职工工资信息职工工资报表职工基本信息职工工资单33《实用软件工程》陆惠恩编著职工基本1.02.0人事工资管理系统0层DFD范例职工出缺勤建立职工出缺勤信息3.1人事工资管理系统1层DFD:加工3.0的分解图职工出缺勤信息3.2制作职工出缺勤信息统计表职工基本信息职工出缺勤报表职工出缺勤信息34《实用软件工程》陆惠恩编著建立职工3.1人事工资管理系统1层DFD:加工3.0的分解图实例:学生购买教材系统流程图数据流程图35《实用软件工程》陆惠恩编著实例:学生购买教材系统流程图35《实用软件工程》陆惠恩编著购买教材系统流程图学生开购书证明购书证明开购书发票发票收书费领书单发书学生举例36《实用软件工程》陆惠恩编著购买教材系统流程图学生开购书购书开购书发票收书费领书学生教材购销系统购书单领书单缺书单进书通知进书通知保管员1销售购书单领书单学生缺书单进书通知2采购保管员顶层第0
层教材存量表F1缺书登记表F2外部实体外部实体37《实用软件工程》陆惠恩编著学教材购书单领书单缺书单进书通知进书通知保1购书单领书单学缺教材销售子系统无效书单购书单1.3登记并开领书单1.2开发票1.1审查有效性1.4登记缺书1.5补售教材采购学生学生进书通知有效书单发票领书单暂缺书单1销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员第0
层补售书单第1层教材存量表F1缺书登记表F2
F1书号单价数量各班用书表F3售书登记表F4外部项38《实用软件工程》陆惠恩编著教材销售子系统无效书单购书单1.31.21.11.411销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员采购子系统
第0层第1层缺书单2.3修改教材库存和待购量销售进书通知进书通知2.1按书号汇总缺书2.2按出版社统计缺书保管员教材存量表F1待购教材表F5教材一览表F6缺书登记表F239《实用软件工程》陆惠恩编著1购书单领书单缺书单进书通知2进书通知缺书登记表教材存量表学数据字典DD(DataDirectionry)数据字典的任务是:对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。DD40《实用软件工程》陆惠恩编著数据字典DD(DataDirectionry)数据数据字典是结构化分析方法的核心,与各模型的图形表示配合,能清楚地表达数据处理的要求。词条描述——对于在模型中每一个被命名的图形元素,均加以定义,其内容有:名字,别名或编号,分类,描述,定义,位置,其它,等41数据字典是结构化分析方法的核心,与各模型的图形表示配合,能清1、数据字典的定义数据流名:说明:简要介绍作用即它产生的原因和结果。数据流来源:即该数据流来自何方。数据流去向:去向何处。数据流组成:数据结构。每个数据量流通量:数据量、流通量。(1)数据流词条的描述数据流名:发票说明:用作学生已付书款的依据数据流来源:来自加工“审查并开发票”数据流去向:流向加工“开领书单”。数据流组成:学号+姓名+书号+单价总价+书费合计审查并开发票发票购书单
421、数据字典的定义数据流名:(1)数据流词条的描述数据元素名:
类型:数字(离散值、连续值),文字(编码类型)长度:
取值范围:
相关的数据元素及数据结构
(2)数据项词条的描述
年=“1900”..“3000”月=“01”..“12”日=“01”..“31”
摘要=1{字母}4
金额=“00000000.01”..“999999999.99”……43数据元素名:(2)数据项词条的描述年(3)数据文件(数据存储)词条的描述数据文件名:简述:存放的是什么数据。输入数据:
输出数据:
数据文件组成:数据结构。存储方式:顺序,直接,关键码。存取频率:……审查并开发票学生发票购书单各班学生用书表教材存量表44(3)数据文件(数据存储)词条的描述数据加工名:
加工编号:反映该加工的层次简要描述:加工逻辑及功能简述输入/出数据流:
取值范围:
加工逻辑:…(4)加工(加工逻辑)词条的描述
1.3审查并开发票学生发票购书单各班学生用书表教材存量表45加工名:(4)加工(加工逻辑)词条的描述名称:外部实体名简要描述:什么外部实体有关数据流:
数目:(5)外部实体词条描述1销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员46名称:外部实体名(5)外部实体词条描述数据字典定义符号(数据结构的描述)符号含义例子
=被定义为+与[]x=a+b,则表示x
由a和
b
组成x=[a|b],则表示x
由a或由
b
组成{}或重复x={a},则表示x
由0个或多个a组成()可选
表示在两个*之间的内容为词条的注释m{}n重复x=3{a}8,则表示x中至少出现3次a,最多出现8次*…*注释符x=(a),则表示a在x中出现,也可不出现47数据字典定义符号(数据结构的描述)符号含义例数据项条目举例数据项名称:货物编号别名:G_No,Goods_No简述:本公司的所有货物的编号。类型:字符串长度:10取值/含义:第一位:进口/国产2~4位:类别5~7位:规格8~10:品名编号48数据项条目举例数据项名称:货物编号48加工条目举例加工名:确定能否供货编号:1.2简述:激发条件:接受到合格订单时优先级:普通输入:合格订单输出:可供货订单、缺货订单加工逻辑:根据库存记录
IF订单项目的数量<该项目库存量的临界值
THEN可供货处理
ELSE此订单缺货,登记,待进货后再处理
ENDIF49加工条目举例加工名:确定能否供货492.6状态转换图
1.什么情况下要画状态转换图2.状态转换图的符号【例2.5】数据结构中“栈”对象的状态转换图。502.6状态转换图
1.什么情况下要画状态转换图502.7数据字典
数据字典(DataDictionary,DD)是对实体-关系图、状态转换图和数据流图中出现的所有数据对象、属性、关系、状态、数据流、文件、处理等元素的定义的集合。2.7.1数据字典的内容1.数据元素2.数据流3.数据存储4.数据处理512.7数据字典
数据字典(DataDictionar2.7.2数据字典使用的符号=表示“等价于”或“定义为”+连接[],|表示“或”,用“|”分隔,表示可任选其中某一项{}表示“重复”()表示“可选”,用“,”号隔开1{A}表示A的内容至少要出现1次。{B}表示B的内容允许重复0
至任意次。如:成绩单=学号+姓名+1{课程名+成绩}3也可写为成绩单=学号+姓名+{课程名+成绩}522.7.2数据字典使用的符号=表示“等价于”或“2.7.3数据字典与图形工具应遵守以下约定:可以用图形工具描述的尽量用图形描述。有关数据的组成在数据字典中描述。有关数据的加工细节在数据字典中描述。编写数据字典时不能有遗漏和重复,要避免不一致性。数据字典中的条目的排列要有一定规律,方便查阅。如按英文字母表顺序或按汉字笔画顺序排列或按功能分类等;数据字典的要易于更新修改。数据字典与数据流图等图形工具应相辅相成、互相配合,既要互相补充又要避免冗余。532.7.3数据字典与图形工具应遵守以下约定:数据字典与【例2.6】写出例2.3招聘考试成绩统计系统的数据字典。
1、数据项定义:考生=准考证号+姓名+性别+出生年月+地址+1{课程名+成绩}3+总分+名次+专业代号+录用否+录用单位考生文件分两种:一种按准考证号码次序排列,另一种按考生成绩总分由高到低排列。专业代号=[1=法律/2=行政学/3=财经学]录用通知书=准考证号+专业+姓名+录用单位考生成绩单=准考证号+姓名+专业+1{课程名+成绩}3+总分2、处理算法:排序:(1)三个专业的考生分别按总分由高到低的次序排序,输出成绩单,供录用参考。(2)按准考证号的顺序将考生成绩单打印出来,一份给招干委员会留底,另一份发给考生。录用原则:各专业按考生成绩总分从高分到低分的次序录用,总分相同时专业课成绩高的优先。54【例2.6】写出例2.3招聘考试成绩统计系统的数据字典。
【例2.7】写出例2.1医疗费管理系统数据字典。1、数据项职工库=部门名+职工号+姓名当日明细账=报销日期+部门名+职工号+姓名+校外门诊费+校内门诊费+住院费+总额+余额+子女医疗费+子女总额医疗费总账=部门名+职工号+姓名+校外门诊费+校内门诊费+住院费+总额+余额+子女医疗费+子女总额余额=限额-总额(小于0时,取为0)医疗费明细账={当日明细账}2、操作说明(1)输入数据时只需输入职工号,就可在职工库中查找出该职工所属部门名及姓名,显示在屏幕上供核对,并将医疗费总账中该职工今年内今日前已报销的医疗费总额和余额显示出来。(2)输入当日报销的校外门诊费、校内门诊费、住院费、子女医疗费后,计算机自动算出该职工的医疗费总额和余额。(3)核对:算出当日所有职工报销的各类医疗费的分类总和及所有总和,供出纳员核对。若发现错误应进入“修改”模块进行修改。核对正确后可进入“累加”模块。(4)累加:把职工当天报销的各类医疗费与以前报销的分类累加并算出总额。55【例2.7】写出例2.1医疗费管理系统数据字典。1、数据项储户检验付款登录存折帐卡取款信息--------办理取款手续的DFD图检验不合格现款付款信息取款单存折练习请为下列给出的DFD
图编写DD56《实用软件工程》陆惠恩编著储检验付款登录存折帐卡取款--------办理取款手续的日期年月日摘要支出存入余额操作复核户名:储蓄网点名称:帐号:开户日:性质:印密:-------存折格式57《实用软件工程》陆惠恩编著日期摘要支出存入余额操作复核户名:储蓄网点名称:帐号:开户日日期(年月日)摘要支出存入余额操作复核户名:储蓄网点名称:帐号:开户日:性质:印密:存折=户名+所号+帐号+开户日+性质+(印密)+1{存取行}20户名=2{字母}24所号=“001”..“999”帐号=“00000001”..“99999999”开户日=年+月+日性质=“1”..“6”印密=“0”存取行=日期+(摘要)+支出+存入+余额+操作+复核日期=年+月+日年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4支出=金额金额=“00000000.01”..“999999999.99”……58《实用软件工程》陆惠恩编著日期(年月日)摘要支出存入余额操作复核户名:储蓄网点名称:2.8需求分析其他图形工具2.8.1层次图层次图是一系列多层次的树形结构矩形框,用来描述数据的层次结构,也可描述程序结构。
592.8需求分析其他图形工具2.8.1层次图592.8.2Warnier图(Warnierdiagram)表示数据层次结构(Warnier-Orr图)可表达数据结构也可表达程序结构Warnier图使用的符号:(1)花括号{表示属于数据结构的同一层次。(2)异或符号⊕,符号的上、下方的两个名字代表的数据只能出现一个。(3)圆括号(),数据重复出现的次数。
602.8.2Warnier图(Warnierdiag2.8.3IPO图输入/处理/输出(InputProcessOutput)图的简称。【例2.10】招聘考试成绩管理系统IPO图。612.8.3IPO图612.9.1
软件计划阶段文档的编写步骤
(1)编写软件问题定义文档。(2)书写可行性研究报告。(3)编写软件需求说明书。(4)修改、完善项目开发计划。(5)制定初步的系统测试的计划,作为今后软件确认和验收的依据。(6)编写初步的用户手册。(7)编写数据要求说明书。622.9.1软件计划阶段文档的编写步骤(1)编写软件问题处理展会事务的大致过程
63处理展会事务的大致过程63第2章小结可行性研究阶段要从技术方面、经济方面、社会因素方面写出可行性研究报告。软件开发计划可用Gantt图和工程网络图来描述。软件需求是进行软件设计、实现和质量度量的基础。需求分析是理解、分析和表达软件需求的过程。建立模型是描述用户需求,定义需求,用以验收产品。数据模型用实体-关系图来描述数据对象及相互关系。功能模型用数据流图来描述。行为模型用状态转换图来描绘。数据字典用来描述软件使用或产生的所有数据对象、数据存储规则和处理算法等。需求分析阶段还应写出软件需求规格说明,有时附上可执行的原型及初步的用户手册。它是需求分析阶段的最终成果。复审:需求分析的结果要经过严格的审查。返回第2章首
返回目录64第2章小结可行性研究阶段要从技术方面、经济方面、社会因素方面第2章软件计划主讲人:王琳娟65第2章软件计划主讲人:王琳娟1回忆瀑布模型把软件生命周期分为哪几个阶段?问题:某展览公司要开发一个展览会观众管理和信息分析系统,该从何解决问题呢?是否立即开始考虑实现系统的详细方案,并且动手编写程序?不符合软件工程的开发思想。应该如何做呢?首先考虑系统是否可行,是不是能产生经济效益?其次还要考虑用户面临的问题究竟是什么,为什么会提出开发这样的系统呢?66回忆瀑布模型把软件生命周期分为哪几个阶段?2本章内容问题定义及可行性研究制订项目开发计划需求分析的任务需求分析步骤实体-关系图数据流图状态转换图数据字典需求分析的其他图形工具软件计划阶段文档本章重点:可行性研究需求分析任务、步骤回目录67本章内容问题定义及可行性研究32.1问题定义及可行性研究
2.1.1问题定义1.明确系统目标规模、基本要求等2.对现有系统的分析3.设计新系统可能的解决方案2.1.2可行性研究技术可行性经济可行性社会因素方面的可行性2.1.3制订项目开发计划1.项目概述2.软件工程实施计划3.支持的条件Gantt图法工程网络技术。682.1问题定义及可行性研究
2.1.1问题定义4问题定义:通过调查研究,仔细阅读和分析有关资料,确定所开发系统的名称,明确系统的目标,规模,基本要求、限制,并确定可行性研究的方法等。可行性研究:是从技术可行性,经济可行性,社会可行性等方面决定“做还是不做”。注意:需求分析是决定“做什么”技术可行性:从设备条件,技术解决方案的实用性,技术资源的可用性,用户使用可行性,操作可行性等方面进行分析。经济可行性:考虑支出,收益,投资回收期,风险等。社会可行性:主要从法律,政策,管理制度等方面进行可行性分析。基本要求包括:软件的功能、性能、输入(数据的来源、类型及数据的组织)、输出(报告、文件或数据)、处理流程及数据流程、安全和保密方面的要求目标:人力与设备费用的减少、处理速度的提高、信息服务的改进、人员利用率的改进。限制:经费投资的来源和限制、法律和政策的限制、硬件软件、运行环境和开发环境的条件和限制;可利用资源的限制;完成期限等。69问题定义:通过调查研究,仔细阅读和分析有关资料,确定所开发系可行性研究的结论可能有以下几种:
(1)可以进行开发(2)需要等待某些条件落实之后才能开发(如资金、人力、设备)(3)需要对开发目标进行修改之后才能开发。(4)不能进行或不必进行开发(如所需技术不成熟,经济上不合算)注意:在可行性研究阶段不要急于着手解决问题,要得到系统确实可行的结论,或及时中止不可行的项止,避免在项目进行了较长时间后,才发现项目根本不可行,以致造成浪费。70可行性研究的结论可能有以下几种:62.2需求分析的任务需求分析:需求分析是由软件人员和用户一起完全弄清用户对系统的确切要求。包括系统的运行环境要求,性能要求,系统功能,接口需求。需求分析的结果是否正确,关系到软件开发的成败,正确的需求分析是整个系统开发的基础。需求要析是理解、分析和表达“系统做什么”的过程。712.2需求分析的任务需求分析:需求分析是由软件人员和用户一需求分析具体任务确定目标系统的具体要求:包括运行环境的要求、性能要求、系统功能、接口的需求建立目标系统的逻辑模型软件需求规格说明修正系统开发计划制定初步的系统测试计划编写初步的用户手册72需求分析具体任务确定目标系统的具体要求:包括运行环境的要求、【例2.1】某高校医疗费管理系统
医疗费:校内门诊费、校外门诊费、住院费、子女医疗费。要求数据库中存放每个职工的职工号、姓名、所属部门。报销时填写所属部门、职工号、姓名、日期、医疗费种类和数额。该校规定,每年每个职工的医疗费报销有限额(如480元),限额在年初时确定,每个职工一年内报销的医疗费不超过限额时可全部报销;超过限额时,超出部分只可报销90%。职工子女的医疗费也有限额(如240元)。医疗费管理系统每天记录当天报销的若干职工或职工子女的医疗费的类别、金额。让系统自动结账、统计当天报销的医疗费总额,供出纳员核对。每笔账要保存备查,每天所报销的费用要和各个职工已报销的金额累计起来,以检查哪些职工已超额。系统要设计适当的查询功能。年终结算、下一年度开始时,要对数据库文件进行初始化,职工医疗费余额累加到下一年度的余额中。
73【例2.1】某高校医疗费管理系统
医疗费:校内门诊费、校外门2.2.2建立目标系统的逻辑模型模型是为了理解事物而对事物做出一种抽象,对事物的无歧义的书面描述。模型由一组图形符号和组成图形的规则组成。建模的基本目标是:描述用户需求为软件的设计奠定基础定义一组需求,用以验收产品。模型分为:
数据模型:用实体—关系图
功能模型:用数据流图
行为模型:用状态转换图数据字典用来描述软件使用或产生的所有数据对象,并对各种图形工具所不能表达的内容加以补充。742.2.2建立目标系统的逻辑模型102.3需求分析步骤2.3.1进行调查研究调查研究的目的:是了解用户的真正需要调查研究的方法访谈:正式访谈和非正式访谈。分发调查表。开会—讨论—确认的方法。2.3.2分析和描述系统的逻辑模型1.建立起目标系统的逻辑模型(逻辑模型可用实体—关系图,数据流图,数据字典,状态转换图,层次图,warnier图表示)2.沿数据流图回溯2.3.3复审(确保软件需求的一致性,完整性和正确性。)752.3需求分析步骤2.3.1进行调查研究112.4实体-关系图实体关系图:简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。
762.4实体-关系图实体关系图:简记E-R图是指以实体、关系、2.4实体-关系图实体型(Entity):用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。·属性(Attribute):用椭圆形或圆角矩形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)就是指存在的三种关系(一对一,一对多,多对多)。比如老师给学生授课存在授课关系,学生选课存在选课关系。772.4实体-关系图实体型(Entity):用矩形表示,矩形框2.4实体-关系图【例2.2】学生成绩管理系统教师与学生试题关系图782.4实体-关系图142.5数据流图数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。数据流图英文缩写DFD(DataFlowDiagram)它是描绘信息流和数据从输入移动到输出的过程中所经受的变换。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。数据流程图包括:a.指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;b.指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能;c.指明几个处理和(或)数据媒体之间的数据流的流线符号;d.便于读、写数据流程图的特殊符号。792.5数据流图数据流图是结构化分析方法中使用的工具,它以2.5数据流图数据流图的基本符号802.5数据流图数据流图的基本符号16数据流是一组数据。在数据流图中数据流用带箭头的线表示,在其线旁标注数据流名。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。
加工(处理)是在数据流图中用圆圈表示,在圆圈内写上加工名。一个处理框可以代表一系列程序、单个程序或者程序的一个模块。数据存储是按照某种规则组织起来的、长度不限的数据。在数据流图中文件用一直线表示,在线段旁注上文件名。一个数据存储也并不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等;
81数据流是一组数据。在数据流图中数据流用带箭头的线表示,在其线数据流图的附加符号
数据流与加工的关系*表示数据流之间是“与”关系(同时存在)+表示数据流之间是“或”关系⊕表示只能从几个数据流中选一个(互斥关系)82数据流图的附加符号
数据流与加工的关系*表示数据流之间是数据流图DFD的画法(一)确定系统的输入输出由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有的内容全部都包括进去。此时,应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息,然后,根据用户的答复画出数据流图的外围。(二)由外向里画系统的顶层数据流图首先,将系统的输人数据和输出数据用一连串的加工连接起来。在数据流的值发生变化的地方就是一个加工。接着,给各个加工命名。然后,给加工之间的数据命名。最后,给文件命名。(三)自顶向下逐层分解,绘出分层数据流图对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示。83数据流图DFD的画法(一)确定系统的输入输出193、画数据流图的步骤画顶层数据流图画分层数据流图画总的数据流图【例2-3】画招聘考试成绩管理系统的数据流图某市人事局举行招聘考试,分法律、行政,财经三个专业,每个专业考生参加两门基础课,一门专业课的考试。考生报名后,招生委员会需做一些考前处理,如编排考生准考证号,安排考场等,并将考生基本情况输入系统。考试结束后,将每位考生的各门考试课程的成绩输入系统,由系统计算出每位考生的成绩总分,将考生成绩单分给每位考生。录用工作是这样进行的,三个专业的考生分别按总成绩总分进行排序,录用时从高分到低分录取,总分相同的按专业课成绩高的优先录取。录用工作结束后,对考试情况进行各种分析。843、画数据流图的步骤画顶层数据流图203、画数据流图的步骤【例2-3】先画招聘考试成绩管理系统的高层数据流图。853、画数据流图的步骤【例2-3】21招聘考试成绩管理系统数据流图86招聘考试成绩管理系统数据流图22例2.4医疗费管理系统数据流图87例2.4医疗费管理系统数据流图23实例考务处理系统的功能(1)
对考生送来的报名单进行检查;(2)
对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站;(3)
对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者;(4)
制作考生通知单(含成绩及合格/不合格标志)送给考生;(5)
按地区进行成绩分类统计和试题难度分析,产生统计分析表。88实例考务处理系统的功能(1)对考生送来的报名单进行检查;2顶层数据流图考生考务处理系统考试中心阅卷站不合格报名表报名表准考证考生通知单成绩单合格标准错误成绩单考生名单统计分析表89顶层数据流图考考务考阅卷站不合格报名表报名表准考证考生通知单根据考务处理业务,画出顶层数据流图,以反映最主要业务处理流程及系统与外界的关系。经过分析,考务业务处理的主要功能应当有登记报名单、统计成绩两个主要数据流。输入的源点和输出终点是考生、考试中心和阅卷站。然后从输入端开始,根据考务业务工作流,画出数据流流经的各加工框,逐步画到输出端,得到第0层数据流图。90根据考务处理业务,画出顶层数据流图,以反映最主要业务处理流程报名表准考证1登记报名表2统计成绩不合格报名表考生通知单成绩单统计分析表第0层数据流图考生名册合格标准考生名单错误成绩单91报名表准考证12不合格考生通知单成绩单统计分析表第0层数据流第一层数据流图(a)1.1检查报名表报名表准考证1.2编准考证号码不合格报名表考生名册考生名单合格报名表1.3登记考生合格报名表92第一层数据流图(a)1.1报名表准考证1.2不合格考生名第一层数据流图(b)2.1检查成绩单2.2审定合格者考生名册正确成绩单2.3制作通知单2.4分析统计成绩2.5分析试题难度试题得分表考生通知单难度分析表合格标准分类统计表成绩单错误成绩单经审定的成绩单93第一层数据流图(b)2.12.2考生名册正确2.32.42DFD分层方法画系统的输入输出,即顶层数据流图画系统内部,即下层数据流图。将层从0开始编号,采用自顶向下,由外向内的原则。94《实用软件工程》陆惠恩编著DFD分层方法画系统的输入输出,即顶层数据流图30《实用软件S2132.22.12.33.13.2顶层(不编号)0层1层95《实用软件工程》陆惠恩编著S2132.22.12.33.13.2顶层0层1层31《人事部门人事工资管理系统会计部门职工出缺勤报表职工出缺勤信息职工工资信息职工工资报表职工职工基本信息职工工资单人事工资管理系统的顶层DFD(概图)范例96《实用软件工程》陆惠恩编著人人事工资会职工出缺勤报表职工出缺勤信息职工工资信息职工工资职工基本信息管理子系统1.02.0人事工资管理系统0层DFD范例职工出缺勤信息职工工资管理子系统3.0职工出缺勤管理子系统职工基本信息职工工资信息人事部门会计部门职工职工出缺勤报表职工出缺勤信息职工工资信息职工工资报表职工基本信息职工工资单97《实用软件工程》陆惠恩编著职工基本1.02.0人事工资管理系统0层DFD范例职工出缺勤建立职工出缺勤信息3.1人事工资管理系统1层DFD:加工3.0的分解图职工出缺勤信息3.2制作职工出缺勤信息统计表职工基本信息职工出缺勤报表职工出缺勤信息98《实用软件工程》陆惠恩编著建立职工3.1人事工资管理系统1层DFD:加工3.0的分解图实例:学生购买教材系统流程图数据流程图99《实用软件工程》陆惠恩编著实例:学生购买教材系统流程图35《实用软件工程》陆惠恩编著购买教材系统流程图学生开购书证明购书证明开购书发票发票收书费领书单发书学生举例100《实用软件工程》陆惠恩编著购买教材系统流程图学生开购书购书开购书发票收书费领书学生教材购销系统购书单领书单缺书单进书通知进书通知保管员1销售购书单领书单学生缺书单进书通知2采购保管员顶层第0
层教材存量表F1缺书登记表F2外部实体外部实体101《实用软件工程》陆惠恩编著学教材购书单领书单缺书单进书通知进书通知保1购书单领书单学缺教材销售子系统无效书单购书单1.3登记并开领书单1.2开发票1.1审查有效性1.4登记缺书1.5补售教材采购学生学生进书通知有效书单发票领书单暂缺书单1销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员第0
层补售书单第1层教材存量表F1缺书登记表F2
F1书号单价数量各班用书表F3售书登记表F4外部项102《实用软件工程》陆惠恩编著教材销售子系统无效书单购书单1.31.21.11.411销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员采购子系统
第0层第1层缺书单2.3修改教材库存和待购量销售进书通知进书通知2.1按书号汇总缺书2.2按出版社统计缺书保管员教材存量表F1待购教材表F5教材一览表F6缺书登记表F2103《实用软件工程》陆惠恩编著1购书单领书单缺书单进书通知2进书通知缺书登记表教材存量表学数据字典DD(DataDirectionry)数据字典的任务是:对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。DD104《实用软件工程》陆惠恩编著数据字典DD(DataDirectionry)数据数据字典是结构化分析方法的核心,与各模型的图形表示配合,能清楚地表达数据处理的要求。词条描述——对于在模型中每一个被命名的图形元素,均加以定义,其内容有:名字,别名或编号,分类,描述,定义,位置,其它,等105数据字典是结构化分析方法的核心,与各模型的图形表示配合,能清1、数据字典的定义数据流名:说明:简要介绍作用即它产生的原因和结果。数据流来源:即该数据流来自何方。数据流去向:去向何处。数据流组成:数据结构。每个数据量流通量:数据量、流通量。(1)数据流词条的描述数据流名:发票说明:用作学生已付书款的依据数据流来源:来自加工“审查并开发票”数据流去向:流向加工“开领书单”。数据流组成:学号+姓名+书号+单价总价+书费合计审查并开发票发票购书单
1061、数据字典的定义数据流名:(1)数据流词条的描述数据元素名:
类型:数字(离散值、连续值),文字(编码类型)长度:
取值范围:
相关的数据元素及数据结构
(2)数据项词条的描述
年=“1900”..“3000”月=“01”..“12”日=“01”..“31”
摘要=1{字母}4
金额=“00000000.01”..“999999999.99”……107数据元素名:(2)数据项词条的描述年(3)数据文件(数据存储)词条的描述数据文件名:简述:存放的是什么数据。输入数据:
输出数据:
数据文件组成:数据结构。存储方式:顺序,直接,关键码。存取频率:……审查并开发票学生发票购书单各班学生用书表教材存量表108(3)数据文件(数据存储)词条的描述数据加工名:
加工编号:反映该加工的层次简要描述:加工逻辑及功能简述输入/出数据流:
取值范围:
加工逻辑:…(4)加工(加工逻辑)词条的描述
1.3审查并开发票学生发票购书单各班学生用书表教材存量表109加工名:(4)加工(加工逻辑)词条的描述名称:外部实体名简要描述:什么外部实体有关数据流:
数目:(5)外部实体词条描述1销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员110名称:外部实体名(5)外部实体词条描述数据字典定义符号(数据结构的描述)符号含义例子
=被定义为+与[]x=a+b,则表示x
由a和
b
组成x=[a|b],则表示x
由a或由
b
组成{}或重复x={a},则表示x
由0个或多个a组成()可选
表示在两个*之间的内容为词条的注释m{}n重复x=3{a}8,则表示x中至少出现3次a,最多出现8次*…*注释符x=(a),则表示a在x中出现,也可不出现111数据字典定义符号(数据结构的描述)符号含义例数据项条目举例数据项名称:货物编号别名:G_No,Goods_No简述:本公司的所有货物的编号。类型:字符串长度:10取值/含义:第一位:进口/国产2~4位:类别5~7位:规格8~10:品名编号112数据项条目举例数据项名称:货物编号48加工条目举例加工名:确定能否供货编号:1.2简述:激发条件:接受到合格订单时优先级:普通输入:合格订单输出:可供货订单、缺货订单加工逻辑:根据库存记录
IF订单项目的数量<该项目库存量的临界值
THEN可供货处理
ELSE此订单缺货,登记,待进货后再处理
ENDIF113加工条目举例加工名:确定能否供货492.6状态转换图
1.什么情况下要画状态转换图2.状态转换图的符号【例2.5】数据结构中“栈”对象的状态转换图。1142.6状态转换图
1.什么情况下要画状态转换图502.7数据字典
数据字典(DataDictionary,DD)是对实体-关系图、状态转换图和数据流图中出现的所有数据对象、属性、关系、状态、数据流、文件、处理等元素的定义的集合。2.7.1数据字典的内容1.数据元素2.数据流3.数据存储4.数据处理1152.7数据字典
数据字典(DataDictionar2.7.2数据字典使用的符号=表示“等价于”或“定义为”+连接[],|表示“或”,用“|”分隔,表示可任选其中某一项{}表示“重复”()表示“可选”,用“,”号隔开1{A}表示A的内容至少要出现1次。{B}表示B的内容允许重复0
至任意次。如:成绩单=学号+姓名+1{课程名+成绩}3也可写为成绩单=学号+姓名+{课程名+成绩}1162.7.2数据字典使用的符号=表示“等价于”或“2.7.3数据字典与图形工具应遵守以下约定:可以用图形工具描述的尽量用图形描述。有关数据的组成在数据字典中描述。有关数据的加工细节在数据字典中描述。编写数据字典时不能有遗漏和重复,要避免不一致性。数据字典中的条目的排列要有一定规律,方便查阅。如按英文字母表顺序或按汉字笔画顺序排列或按功能分类等;数据字典的要易于更新修改。数据字典与数据流图等图形工具应相辅相成、互相配合,既要互相补充又要避免冗余。1172.7.3数据字典与图形工具应遵守以下约定:数据字典与【例2.6】写出例2.3招聘考试成绩统计系统的数据字典。
1、数据项定义:考生=准考证号+姓名+性别+出生年月+地址+1{课程名+成绩}3+总分+名次+专业代号+录用否+录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电商中心考试试题及答案
- 考核公务员试题及答案
- 电气组长试题及答案
- 公务员面试题及答案技巧
- 东湖中学考试试题及答案
- 植物概论考试试题及答案
- 汉语言研究生考试试题及答案
- 2025-2030中国化纤行业供需趋势及投资风险研究报告
- 2025至2031年中国数控液压机行业投资前景及策略咨询研究报告
- 2025-2030中国养猪行业发展前景及发展策略与投资风险研究报告
- 附着式升降脚手架安装验收表
- 高中生物《基因工程的基本操作程序》教案基于学科核心素养的教学设计及教学反思
- 120急救网络医院建设标准
- MAM860螺杆式空压机控制器
- 研究思路图模板
- BowTie模型简介与应用
- 中国风武术太极拳主题PPT模板
- 大商业结构拆改加固专项施工方案(44页)
- 苏州园林的艺术特色之拙政园讲解
- Y-Y2系列电机绕组标准数据汇总
- 陡岭河四级水电站安全生产管理目标管理规定
评论
0/150
提交评论