软件工程-2-需求工程2012(2)课件_第1页
软件工程-2-需求工程2012(2)课件_第2页
软件工程-2-需求工程2012(2)课件_第3页
软件工程-2-需求工程2012(2)课件_第4页
软件工程-2-需求工程2012(2)课件_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程第二章需求工程(2)场景互动根据用户的需求描述,我们进行软件实现,它能够提供给我们足够的信息吗?我们得到的用户的需求描述,完整吗?是否有含混的地方?图文并茂型信息详述型专业撰写型怎样展开深层次的分析才能够将需求明确化,并将其整理成便于进行系统设计与开发的依据,从而形成正规的结构化的需求规约呢?需求分析的原则软件将被完成的功能必须被定义;软件的行为(作为外部事件的结果)必须被表示;问题的信息域必须被表示和理解;描述信息、功能和行为的模型必须被划分,使得可以以层次的方式揭示细节;分析过程应该从要素信息移向实现细节。一个真实的文档案例需求的建模分析方法面向功能分析将软件需求当作一棵倒栽的功能树,每个节点都是一项具体的功能,自上而下,功能由粗到细。体现“自顶向下、逐步求精”的思想。面向对象分析从系统基本功能入手,将功能对应到对象上,分析每个对象的属性、方法及隶属关系。并以对象为主线表示用户的所有需求。面向数据分析面向元数据和中间数据分析,分析两类数据及其之间的关系。功能模型数据流图(DFD)数据模型实体—关系图(ERD)行为模型状态—迁移图(STD)数据字典(DD)一、结构化分析模型结构化分析模型分析模型中的要素数据流图(DFD)描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能(子功能);实体—关系图(ERD)描述数据对象及数据对象之间的关系;状态—迁移图(STD)描述系统对外部事件如何响应,如何动作。数据字典(DD)就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。描述银行取款过程的数据流图数据流与数据加工之间的关系分层的数据流图示意图结构化分析方法功能建模举例—某图书管理系统(1)借书:图书管理员输入读者的借书证。系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在读者账户文件上建立档案。否则,查阅读者账户,检查该读者所借图书是否超过10本,若已达到10本,拒借,未达10本,办理借书(检查库存目录,修改库存详情、库存目录、读者账户文件并将读者借书情况登入图书借阅文件中)。(2)还书:图书管理员获得欲还图书,并从读者账户文件和图书借阅文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)作罚款处理,并记录到图书借阅文件中。否则,修改库存详情、读者账户、库存目录和图书借阅文件。(3)查询:系统可根据图书管理员的查询请求,通过读者账户文件、库存目录等文件查询读者情况、图书借阅情况及库存情况,打印各种统计表。根据上述的功能描述,画出对应的数据流程图。数据流图绘制解析首先绘制顶层图其次,绘制一层数据流图(主图)最后,对每一个加工处理进行分解细化借阅图书细化查询细化数据流图的基本原则自外向内,自顶向下,逐层细化,完善求精。步骤①先找出外部实现的输出数据流和输入数据流。②找出系统的数据源点与终点。③从外部实体的输入数据流(系统的源点)出发,按照系统的逻辑需要,逐步画出一系列逻辑加工,直到找出外部实体所需要的输出数据流(既系统的汇点),形成数据流的封闭。④进行检查和修改⑤再逐个分解细化处理过程,画出所需要的子图。

3、4、5、数据处理必须是动词性的数据存储必须通过处理加工才能与外部实体交互数据流必须是封闭的6、父子图必须是平衡的第一步顶层图第二步一层图(主图)第三步细化分层图数据流图绘制解析首先绘制顶层图其次,绘制一层数据流图(主图)最后,对每一个加工处理进行分解细化供货处理细化处理订单细化处理进货细化缺货统计细化和销售统计细化数据流程图的注意点DFD上所有图形符号只限于前述四种基本元素;DFD主图必须包括前述四种基本元素,缺一不可;DFD的主图上的数据流必须封闭在外部实体之间;每个加工至少有一个输入数据流和一个输出数据流;在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系;规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡;可以在数据流图中加入物质流,帮助用户理解;图上每个元素都必须有名字,编号;数据流图中不可夹带控制流;初画时可以忽略琐碎细节,以集中精力于主要数据流;一个处理逻辑,在下一层分解时不宜超过7个处理逻辑。例题:房屋安全管理系统SafeHome软件使得房主能够在安装时配置安全系统、监控所有和安全系统连接的传感器以及通过包含在SafeHome控制面板中的键盘和功能键与房主交互。安装过程中,SafeHome控制面板被用于“编程”和配置系统,每个传感器被赋予一个编号和类型,主人密码被编程以启动和关闭系统,而且当传感器事件发生时输入电话号码拨号。当某种传感器事件被识别出时,软件激活附于系统上的可发声的报警,在一定的延迟时间(由房主在系统配置活动中指定)后,软件拨出监控服务的电话并提供关于位置的信息,报告被检测到的事件的性质,电话号码将每20秒重拨一次,直至电话被拨通。所有和SafeHome的交互由用户交互子系统管理,该子系统读入通过键盘和功能键提供的输入,在LCD显示屏上显示提示消息和系统状态。二、数据字(词)典数据字(词)典是对所有与系统相关的数据元素的一个有组织的列表和精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算有共同的理解。它与数据流图配合,能清楚地表达数据处理的要求。数据字典中所包含的条目数据流条目数据项条目数据存储条目基本加工条目1.数据流条目说明举例数据流名:借书信息别名:无简述:读者借书时携带的信息来源:读者去向:加工1“借阅图书”组成:借书证号+图书编号+借阅方式数据流量:1000次/周高峰值:学期末1000次/天2.数据存储条目说明举例文件名:库存目录别名:无简述:存放图书馆库存中所有图书的基本信息组成:ISDN+图书名称+图书编号+出版社+单价+库存总量+可借数量组织方式:索引文件,以图书编号为关键字查询要求:要求能够立即查询3.数据项条目说明举例数据项名:借书证号别名:简述:图书馆中注册读者的有效证件编号类型:字符串长度:8位(教师)12位(学生)

组成:身份标识+年+月+(专业+班级)+流水号取值范围及含义:

第1位:[J|X|L](教工|学生|临时工)

第2-3位:“00”..“99”

(办证年份)

第4-5位:“01”..“12”(办证月份)

第6-7位:“01”..“99”(专业,01软件工程专业,02计科专业,……)

第8-9位:“01”..“03”(班级)

第10-12位:“001”…“999”

(流水号)4.加工条目(加工逻辑说明)加工逻辑名:检查库存编号:2.6激活条件:收到合法借阅信息时输入:合法借阅信息输出:可借阅信息、拒借信息加工逻辑:根据库存目录

IF图书库存的数量>=该图书预借图书数量

THEN办理借书

ELSE库存量不足,给出拒借信息

ENDIF执行频率:随时

数据字典中的加工逻辑主要描述该加工“做什么”,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的加工规则。数据结构的描述符号 含义举例=被定义为+与x=a+b[...,...]或[...|...]或x=[a,b],x=[a|b]{...}或m{...}n重复x={a},x=3{a}8(...)可选x=(a)“...”基本数据元素x=“a”.. 连结符x=1..9对存折格式的数据字典的定义格式为:存折=户名+所号+帐号+开户日期+性质+印密+1{存取行}50户名=2{字母}24所号=“001”…“999”注:储蓄所编码规定三位数字帐号=“00000001”…“99999999”注:帐号是由8位数字组成开户日期=年+月+日性质=“1”…“6”注:“1”表示普通储户“5”表示工资户等印密=“0”注:印密在存折上不显示存取行=日期+(摘要)+支出+存入+余额+操作+复核年=“00”…“99”月=“01”…“12”日=“01”…“31”日期=年+月+日摘要=1{字母}4注:表明是存?是取?还是换?支出=“金额”注:金额规定不能超过9999999.99金额=“0000000.01”…“9999999.99”操作=“00001”……“99999”数据字典中数据存储的另外一种描述形式表D-4:InventoryList(库存目录)主键:BookID字段名类型及长度空否说明BookIDCHAR(10)NOTNULL图书馆中对图书的统一编号。图书编号=馆号+图书类别+流水号馆号=[0|1](0:主馆,1:分馆)图书类别=“01”..”99”(01艺术,02计算机,03信息管理,04人文)流水号=“0001”…”9999”例如:BookNameVARCHAR(10)NOTNULL图书名称BookAuthorVARCHAR(10)NOTNULL作者姓名PublisherVARCHAR(10)NOTNULL出版社TotalNumNUMBERNOTNULL库存总量ValidNumNUMBERNOTNULL可借数量二、数据建模及E-R图数据模型包括三种互相关联的信息数据对象是需被目标系统所理解的复合信息的表示。它具有若干不同特征或属性的信息。描述对象的属性定义了数据对象的特征描述对象间相互连接的关系。

各个数据对象的实例之间的关联。某管理信息系统中每名教师教授若干课程,每门课程可以由若干教师来教授,每个班级有若干学生,每名学生可以学习若干门课程,每门课程可以有若干学生学习,每名学生学完一门课程后得到一个成绩。教师具有的信息包括员工号、姓名、性别、住址;课程需要课程号、课程名、学分进行描述;学生具有的信息包括学号、姓名、性别、出生日期;班级的描述信息包括班号、人数。E-R图数据对象数据对象可以是外部实体,事物,角色,行为或事件,组织单位,地点或结构。数据对象只封装了数据,没有包含作用于这些数据上的操作。属性为数据对象的实例命名;描述这个实例;建立对另一个数据对象的另一个实例的引用关系数据对象通过多种方式相互连接如一个学生“张鹏”选修两门课程“软件工程”与“计算机网络”,学生与课程的实例通过“选修”关联起来。

教师学生管带基数:一位教师基数:多位学生参与度:必须参与度:可选实例的关联有三种:一对一(1:1);一对多(1:m);多对多(n:m)。这种实例的关联称为“基数”。基数表明了“重复性”。如1位教师带学生班的30位同学,就是1:m的关系。实例关联有是“可选”还是“必须”之分。也有1位教师带0位同学的情形用“O”表示关系是可选的,用“│”表示关系必须出现1次。这表明了关系的“参与性”。请根据图书管理系统的需求描述整理出数据模型(1)借书:图书管理员输入读者的借书证。系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在读者账户文件上建立档案。否则,查阅读者账户,检查该读者所借图书是否超过10本,若已达到10本,拒借,未达10本,办理借书(检查库存目录,修改库存详情、库存目录、读者账户文件并将读者借书情况登入图书借阅文件中)。(2)还书:图书管理员获得欲还图书,并从读者账户文件和图书借阅文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)作罚款处理,并记录到图书借阅文件中。否则,修改库存详情、读者账户、库存目录和图书借阅文件。(3)查询:系统可根据图书管理员的查询请求,通过读者账户文件、库存目录等文件查询读者情况、图书借阅情况及库存情况,打印各种统计表。三、行为建模和状态迁移图行为建模给出需求分析方法的所有操作原则状态迁移图描述系统的状态如何相应外部的信号进行推移的一种图形表示圆圈“○”表示可得到的系统状态箭头“→”表示从一种状态向另一种状态的迁移(写上导致迁移的信号或事件的名称)例子:操作系统根据调度要求设置进程状态。当有多个申请占用CPU运行的进程时,CPU分配的进程的状态迁移。进程的状态包括就绪,运行,等待。当进程运行时遇到中断事件,则进程进入等待状态;当中断处理完毕后,进程处在就绪状态;就绪的进程分配给CPU处理时间后,处在运行状态;当该进程的CPU事件使用完毕之后,该进程进入就绪状态。生成的事件t1─

中断事件

t2─

中断已处理t3─

分配CPU

t4─

用完CPU时间状态迁移图的优点(因为一个系统的状态是有限的)状态之间的关系能够直观地捕捉到由于状态迁移图的单纯性,能够机械地分析许多情况,可很容易地建立分析工具进程的状态S1─运行

S2─等待

S3─就绪生成的事件t1─

中断事件

t2─

中断已处理t3─

分配CPU

t4─

用完CPU时间例子没人打电话时电话处于闲置状态;有人拿起听筒则进入拨号音状态,到达这个状态后,电话的行为是响起拨号音;这时如果拿起听筒的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论