结构化分析方法分析模型:数据流图( 共46页
- 格式:ppt
- 大小:252.50 KB
- 文档页数:46
结构化分析⽅法什么是结构化⽅法结构是指系统内各个组成要素之间的相互联系、相互作⽤的框架。
结构化开发⽅法提出了⼀组提⾼软件结构合理性的准则,如分解与抽象、模块独⽴性、信息隐蔽等。
针对软件⽣存周期各个不同的阶段,它有结构化分析(SA)和结构化程序设计(SP)等⽅法。
结构化分析⽅法结构化分析⽅法(Structured Method,结构化⽅法)是⼀种软件开发⽅法,⼀般利⽤图形表达⽤户需求,强调开发⽅法的结构合理性以及所开发软件的结构合理性。
结构化分析⽅法给出⼀组帮助系统分析⼈员产⽣功能规约的原理与技术。
它⼀般利⽤图形表达⽤户需求。
其基本思想是⾃顶向下逐层分解。
分解和抽象是⼈们控制问题复杂性的两种基本⼿段。
对于⼀个复杂的问题,⼈们很难⼀下⼦考虑问题的所有⽅⾯和全部细节,通常可以把⼀个⼤问题分解成若⼲个⼩问题,每个⼩问题再分解成若⼲个更⼩的问题,经过多次逐层分解,每个最底层的问题都是⾜够简单、容易解决的,于是复杂的问题也就迎刃⽽解了。
这个过程就是分解过程。
结构化分析⽅法把系统看作⼀个过程的集合体,包括⼈完成的和电脑完成的。
结构化分析⽅法的特点是利⽤数据流图来帮助⼈们理解问题,对问题进⾏分析。
是⾯向数据流的需求分析⽅法,是⽬前最成熟、应⽤最⼴泛的⽅法,主要特点是快速、⾃然和⽅便。
结构化系统分析⽅法从总体上来看是⼀种强烈依赖数据流图的⾃顶向下的建模⽅法。
它不仅是需求分析技术,也是完成需求规格化的有效技术⼿段。
结构化分析所使⽤的⼯具结构化分析⼀般包括以下⼯具:数据流图(Data Flow Diagram,DFD)数据字典(DataDictionary,DD)结构化语⾔判定表判定树后⾯将对它们⼀⼀做介绍。
结构化分析的⼯作步骤在介绍具体的结构化分析⽅法之前,先对如何进⾏结构化分析做⼀个总结性描述,以帮助⼤家更好地应⽤该⽅法。
初略的说主要如下步骤:1. 研究“物质环境”。
⾸先,应画出当前系统(可能是⾮计算机系统,或是半计算机系统)的数据流图,说明系统的输⼊、输出数据流,说明系统的数据流情况,以及经历了哪些处理过程。
结构化分析方法结构化分析方法一、需求分析与需求分析方法需求阶段是软件开发的关键阶段。
需求分析的任务:准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么;用《需求规格说明书》规范的形式准确地表达用户的需求。
需求分析阶段的工作(四方面):◆需求获取:确定系统各方面需求;全面地提炼出系统的功能性与非功能性需求。
◆需求分析:对获取的需求分析和综合,给出系统解决方案和逻辑模型。
◆编写需求规格说明书:为用户、设计人员的交流提供方便,还可作为控制软件开发进程的依据。
◆需求审评:复审需求分析阶段的工作,验证需求文档的一致性、可行性等。
1、需求获取的目的清楚地理解所要解决的问题、完整地获取用户需求。
2、需求获取的内容用户需求分类:(1)功能性需求定义了系统做什么(描述系统必须支持的功能和过程)。
(2)非功能性需求(技术需求)定义了系统工作时的特性(描述操作环境和性能目标)。
3、需求分析的步骤4、需求分析过程示意(1)通过对现实环境的调查,获得当前系统的物理模型。
(2)去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型。
(3)分析当前系统与目标系统的差别,建立目标系统的逻辑模型。
5、需求分析的方法结构化分析(传统建模方法)、面向对象分析。
二、结构化分析方法1、结构化分析方法(Structure Analysis---SA)(1)定义是面向数据流进行需求分析的方法,采用自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
(2)结构化分析的主要步骤通过对用户的调查,以软件的需求为线索,获取当前系统的具体模型;去掉具体模型中非本质因素,抽象出当前系统的逻辑模型;根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型;完善目标系统并补充细节,写出目标系统的软件需求规格说明。
2、结构化分析方法使用的常用工具(1)数据流图(DFD—Data Flow Diagram )①作用从数据传递和加工的角度,在需求分析阶段以图形的方式描述数据流从输入到输出的移动变换过程,为系统建立逻辑模型。
淮海工学院计算机工程学院实验报告书课程名:《软件工程导论》题目:结构化分析实验学号: 511020825姓名:薛思雨一、实验目的与要求通过示例掌握结构化系统分析的方法综合运用DFD,DD,E-R图等工具建立系统的概念数据模型二、实验环境VISIO 2003其它相关软件及硬件、网络环境三、实验步骤与源程序1.餐饮服务管理系统1)总体说明餐饮服务管理系统是酒店管理系统的一个部分,主要完成中西餐、咖啡厅、酒吧等顾客消费的消费信息记录、资源分配以及员工的信息管理等工作。
2)系统相关角色系统管理员,员工,部门经理,采购员,顾客,供货商等等3)相关功能说明(1)餐饮收银管理登记管理:客人到来以后进行登记,可以修改或者删除登记信息,客人可以要求合台或者换台。
消费管理:能够录入、修改或者删除客人的消费信息。
订餐管理:订餐信息登记,包括订餐时间、就餐时间、订餐桌数、人数、订餐详情、取消订餐、订餐查询。
主窗体:显示当前桌台、包房的占用情况,显示客人消费状态。
结算管理:客人结账的时候可以分类打折或者全面打折,计算开发票金额,打印账单,结账方式也有多种方式,如现金付款、支票付款、信用卡付款、免费、挂帐等自动统计。
日统计管理:可以对今日收银进行概览,方式多样,如按类别统计、按菜品统计、按帐单统计、按包房统计等等,可显示日销售项目排行榜,可打印销售日报表。
二级库存管理(主要管理酒水饮料的日常库存):这里主要是指前台的酒水饮料管理,包括入库、入库查询、入库统计,退货、退货查询、退货统计,库存动态,销售查询、销售统计,库存盘点、盘点查询、盘点统计。
菜谱管理:对菜品进行管理,如菜品类别维护、特色菜维护、菜品明细维护、酒水饮料维护,价格维护、套餐维护、菜谱打印、商品单位维护。
各消费类别和消费项目可任意增加、修改与删除,按照自己业务情况任意设置。
(2)采购库存管理该库存管理系统是后勤部门对所有资源的管理。
仓库从供货商处对商品进货,也可以对商品退货,可以进行商品进货信息和商品退货信息的查询、统计等。
一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是: ( B )A)可行性研究,问题定义,需求分析。
B)问题定义,可行性研究,需求分析。
C)可行性研究,需求分析,问题定义。
D)以上顺序都不对。
2.可行性研究主要从以下几个方面进行研究:(A )A ) 技术可行性,经济可行性,操作可行性。
B)技术可行性,经济可行性,系统可行性。
C)经济可行性,系统可行性,操作可行性。
D)经济可行性,系统可行性,时间可行性。
3 耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下: (C)A)内容耦合,控制耦合,数据耦合,公共环境耦合。
B)内容耦合,控制耦合,公共环境耦合,数据耦合。
C)内容耦合,公共环境耦合,控制耦合,数据耦合。
D)控制耦合,内容耦合,数据耦合,公共环境耦合。
4.在详细设计阶段所使用到的设计工具是: (A )A)程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD 图,N-S 图,HIPO 图。
C)判定表,判定树,PDL,程序流程图,PAD图,N-S图。
D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。
5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A )A)模块的作用域应在模块的控制域之内。
B)模块的控制域应在模块的作用域之内。
C)模块的控制域与模块的作用域互相独立。
D)以上说法都不对。
6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C)A.概要设计B.详细设计C.需求分析D.可行性分析7 下面不是软件工程的3 个要素的是(C )A过程B.方法C.环境D.工具8.下面不属于软件的组成的是(B )A程序B.记录 C.文档 D.数据9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C )A.维护时期B.运行时期C.定义时期D.开发时期10.在瀑布模型中,下面(C )是其突出的缺点。
IT项目需求分析与管理之结构化分析方法(一)作者:雪影发表于2012 年 5 月 5 日分类:软件架构|暂无评论1、概述结构化开发方法是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。
结构化开发方法包含三部分:•结构化分析方法(SA法):结构化分析方法是面向数据流进行需求分析的方法,适合于数据处理类型软件的需求分析。
•结构化设计方法(SD 法)•结构化程序设计方法(SP 法)SA 法建模就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件模型为止。
结构化分析方法是传统软件工程中公认的技术成熟和使用广泛的需求分析方法。
它主要借助于分层数据流图和数据字典等图形及半形式化的工具表达系统的需求。
结构化分析方法结构化分析方法(Structured Analysis,简称SA 法)是面向数据流的需求分析方法,是70 年代末由Yourdon, Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。
它适合于分析大型的数据处理系统,特别是企事业管理系统。
主要应用技术和工具:数据流图(DFD);数据字典(DD);加工说明(PESPEC);实体关系图(E-R);状态变迁图(STD)等SA法的基本思想结构化分析的基本思想:“分解”和“抽象”分解:把系统的复杂性降低到可以掌握的程度,把大问题分解成若干小问题,然后分别解决。
抽象:即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容。
自顶向下逐层分解,顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层是从抽象到具体的逐层过渡。
SA 法的步骤1⑴建立当前系统的“物理模型”;系统的“物理模型”就是现实环境的忠实写照,即将当前系统用DFD 图描述出来。
这样的表达与当前系统完全对应,因此用户容易理解。
SA 法的步骤2⑵抽象出当前系统的逻辑模型;分析系统的“物理模型”,抽象出其本质的因素,排除次要因素,获得用DFD 图描述的当前系统的“逻辑模型”。
软件工程题库(含答案)一、单选题(共60题,每题1分,共60分)1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( )A、可用性B、正确性C、完整性D、可靠性正确答案:D2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ).A、可移植性B、可理解性C、可重用性D、可修改性正确答案:A3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。
A、容错性B、检测性C、可操作性D、安全性正确答案:C4、下列属于维护阶段的文档是( )A、软件问题报告B、用户操作手册C、软件测试分析报告D、软件规格说明正确答案:B5、快速原型模型的主要特点之一是( )A、及早提供工作软件B、开发完毕才见到产品C、及早提供全部完整的软件产品D、开发完毕后才见到工作软件正确答案:C6、可维护性通常包括( )。
A、可用性和可理解性B、可修改性、数据独立性和数据一致性C、可理解性、可修改性和可测试性D、可测试性和稳定性正确答案:C7、软件的可修改性支持软件的( )。
A、可互操作性B、可维护性C、可追踪性D、有效性正确答案:B8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )A、数据通信B、数据定义C、数据维护D、数据库设计正确答案:B9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。
A、可追踪性B、可理解性C、可互操作性D、可维护性正确答案:C10、可维护性的特性中相互促进的是( )A、效率和可移植性B、可理解性和可测试性C、效率和结构好D、效率和可修改性正确答案:B11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。
A、可靠性B、易使用性C、正确性D、准确性正确答案:A12、设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X 需要的工作量(时间)。
对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( )A、信息隐藏和局部化的根据B、逐步求精的根据C、抽象的根据D、模块化的根据正确答案:D13、下列说法中,不正确的是( )。