结构化分析(传统建模方法)方法 分析模型:数据流图(
- 格式:ppt
- 大小:204.00 KB
- 文档页数:45
结构化分析(SA)方法结构化开发方法(Structured Developing Method)是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。
结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD 法)及结构化程序设计方法(SP 法)构成的。
结构化分析(Structured Analysis,简称SA 法)方法是面向数据流的需求分析方法,是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。
它适合于分析大型的数据处理系统,特别是企事业管理系统。
SA 法也是一种建模的活动,主要是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。
1 SA 法概述1.SA 法的基本思想结构化分析(Structured Analysis,简称SA 法)是面向数据流的需求分析方法,是70年代由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。
结构化分析方法的基本思想是“分解”和“抽象”。
分解:是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决。
图4 是自顶向下逐层分解的示意图。
顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层是从抽象到具体的逐层过渡。
抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个自系统的方法就是“抽象”。
2.SA 法的步骤⑴建立当前系统的“具体模型”;系统的“具体模型”就是现实环境的忠实写照,即将当前系统用DFD 图描述出来。
这样的表达与当前系统完全对应,因此用户容易理解。
⑵抽象出当前系统的逻辑模型;分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用DFD 图描述的当前系统的“逻辑模型”。
单项选择题(每小题1分,共10分)1、在结构性的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A )(A)需求分析阶段(B)详细设计阶段(C)概要设计阶段(D)可行性2、研究阶段软件工程方法中普遍定义的方法之一是结构化生命周期方法(SLC方法),下述哪一个论述不具有SLC方法的主要特征( C )A 严格定义需求B 划分开发阶段C 规范文档格式D 分析控制流程3、软件结构中两个模块之间有调用关系,传递简单数据值,相当于高级语言中的值传递,这两个模块之间的耦合是( D )(A)公共耦合(B)控制耦合(C)标记耦合(D)数据耦合4、软件维护的四类维护活动是( A )(A)改正性维护,适应性维护,完善性维护和预防性维护。
(B)适应性维护,完善性维护,抢救性维护和辅助性维护。
(C)改正性维护,适应性维护,完善性维护和辅助性维护。
(D)适应性维护,完善性维护,抢救性维护和预防性维护。
5、主要从( A )几个方面进行系统可行性研究。
(A)技术可行性,经济可行性,操作可行性。
(B)技术可行性,经济可行性,系统可行性。
(C)经济可行性,系统可行性,操作可行性。
(D)经济可行性,系统可行性,时间可行性。
6、进行需求分析可使用多种工具,但( C )是不适用的。
(A)数据流图(B)判定表(C)PAD图(D)数据字典7、软件需求分析阶段的工作,可以分为四个方面:对问题的识别、分析与综合、编写需求分析文档以及( B )(A)软件的总结(B)需求分析评审(C)阶段性报告(D)以上答案都不对8、OMT(Object Modelling Technique)方法的第一步是从问题的陈述入手,构造系统模型。
系统模型由对象模型、( C )组成。
A静态模型和功能模型 B动态模型和过程模型C动态模型和功能模型 D静态模型和操作模型9、为了表示项目管理功能工作中各项任务之间的进度衔接关系,常用的计划管理工具是( D )(A)程序结构图(B)数据流图(C) E-R图(D)甘特(Gantt)图①软件生命周期中所花费用最多的阶段是(D)A.详细设计B.软件编码C.软件测试D.软件维护②可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B)的回答。
结构化⽅法与⾯向对象⽅法的介绍与对⽐结构化⽅法与⾯向对象⽅法的介绍与对⽐结构化和⾯向对象,这两个概念在计算机领域的中应⽤⼗分⼴泛。
在软件⼯程中,结构化和⾯向对象的思想也占有重要地位,产⽣了结构化⽅法和⾯向对象⽅法,⽤来指导软件⽣产。
⼀、结构化⽅法结构是指系统内各个组成要素之间的相互联系、相互作⽤的框架。
结构化⽅法强调开发⽅法的结构合理性以及所开发软件的结构合理性。
针对软件⽣存周期各个不同阶段,可以分为结构化分析(SA)、结构化设计(SD)、结构化程序设计(SP)等⽅法。
1.1结构化分析⽅法结构化分析⽅法是⾯向数据流的分析⽅法,是70年代由Yourdon、Constaintine及DeMarco 等⼈提出和发展,并得到⼴泛的应⽤,其基本思想为分解和抽象。
结构化分析⽅法的设计原则有:(1)使每个模块尽量只执⾏⼀个功能(坚持功能性内聚);(2)每个模块⽤过程语句(或函数⽅式等)调⽤其他模块;(3)模块间传送的参数作数据⽤;(4)模块间共⽤的信息(如参数等)尽量少。
在结构化分析⽅法中,常⽤的⼯具有:数据流图数据流图(Data Flow Diagram,简称DFD)是描述系统中数据流程的图形⼯具,它标识了⼀个系统的逻辑输⼊和逻辑输出,以及把逻辑输⼊转换逻辑输出所需的加⼯处理。
通常,⼀个系统的DFD图会进⾏分层设计,使数据处理过程更加有层次,逻辑更加清晰。
DFD图的设计原则为:数据守恒与数据封闭原则、加⼯分解的原则、⼦图与⽗图的平衡、合理使⽤⽂件。
数据字典分层数据流图只是表达了系统的“分解”,为了完整地描述这个系统,还需借助“数据词典”(data dictionary)对图中的每个数据和加⼯给出解释。
对数据流图中包含的所有元素的定义的集合构成了数据词典。
它有四类条⽬:数据流、数据项、⽂件及基本加⼯。
在定义数据流或⽂件时,使⽤下表给出的符号,将这些条⽬按照⼀定的规则组织起来,构成数据词典。
在以上⼯具的辅助下,我们可以进⾏完整的结构化分析,⼀个典型的结构化分析过程为:①分析当前的情况,做出反映当前物理模型的DFD;②推导出等价的逻辑模型的DFD;③设计新的逻辑系统,⽣成数据字典和基元描述;④建⽴⼈机接⼝,提出可供选择的⽬标系统物理模型的DFD;⑤确定各种⽅案的成本和风险等级,据此对各种⽅案进⾏分析;⑥选择⼀种⽅案;⑦建⽴完整的需求规约。
一、判断题1. 白盒法是一种静态测试方法,主要用于模块测试。
(× )2. 白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。
(× )3. 整体测试又称为逻辑覆盖测试,需要对系统模块的内部结构进行测试。
(×)4. 集成测试主要由用户来完成。
(×)5. 确认测试计划应该在可行性研究阶段制定(×)6. 软件工程过程应该以软件设计为中心,关键是编写程序。
(× )7. 软件概要设计包括软件系统结构设计以及数据结构和数据库设计。
( √)8. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
(×)9. 结构化方法的工作模型是使用螺旋模型进行开发。
( Ⅹ)10. 螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
( √)11. 信息隐蔽原则有利于提高模块的内聚性。
(√)12. 面向对象开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。
( √)13. 过程描述语言可以用于描述软件的系统结构。
( Ⅹ)14. SA法是面向数据流,建立在数据封闭原则上的需求分析方法。
( √)15. HIPO法既是需求分析方法,又是软件设计方法。
( √)16. 判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。
( Ⅹ)17. 需求分析的主要方法有SD法、OOA法及HIPO法等。
(Ⅹ)18. 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。
(√)19. 分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。
( Ⅹ)20. 信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。
( √)21. 划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好。
( Ⅹ)22. 如果通过软件测试没有发现错误,则说明软件是正确的。
(Ⅹ)23. JACKSON方法是以数据流、数据封闭性准则逐层分解的。
结构化分析方法结构化分析方法一、需求分析与需求分析方法需求阶段是软件开发的关键阶段。
需求分析的任务:准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么;用《需求规格说明书》规范的形式准确地表达用户的需求。
需求分析阶段的工作(四方面):◆需求获取:确定系统各方面需求;全面地提炼出系统的功能性与非功能性需求。
◆需求分析:对获取的需求分析和综合,给出系统解决方案和逻辑模型。
◆编写需求规格说明书:为用户、设计人员的交流提供方便,还可作为控制软件开发进程的依据。
◆需求审评:复审需求分析阶段的工作,验证需求文档的一致性、可行性等。
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 企业商务活动的基本特征a)从事商品交换的活动b)涉及商品的交换、买卖和再分配,包含商品物理上的位移过程2.电子商务的基本目标:电子商务的基本目标是以企业的“商务整合”为目的,通过整合企业的业务流程和信息资源,将信息技术和企业商务策略整合,形成有助于提升企业竞争力的新的组织结构、商业模式和业务流程。
3 电子商务系统的概念及特点a)概念:从广义上讲是支持商务活动的电子技术的集合。
从狭义上看,则指:在Internet和其他网络的基础上,以实现企业电子商务活动为目标,满足企业生产、销售、服务等生产和管理的需要,支持企业的对外业务协作,从运作、管理和决策等层次全面提高企业信息化水平,为企业提供商业智能的信息系统。
特点:A支持企业以交易为核心的商务活动的技术平台B企业内部业务流程重构、价值链增值的技术平台C依托网络,提供基于Web的分布式服务D在系统、应用的安全性方面有较高的要求E服务对象不仅包括企业内部人员,还涵盖了企业外部的客户和合作伙伴4.信息系统要素:硬件、软件、人员及相应的处理功能软件包括:程序、数据、文档第二章1、软件生命周期瀑布模型中包括哪几个阶段?每个阶段的中心任务是什么?答:包括问题定义阶段、可行性研究阶段、需求分析阶段、系统设计阶段、编码与测试阶段和运行维护阶段。
问题定义阶段的中心任务是:明确将要建设的软件系统要解决什么问题。
可行性研究阶段的中心任务是:探讨欲解决的问题是否有可行的解决办法。
需求分析阶段的中心任务是:回答“目标系统必须做什么”这一问题。
系统设计阶段的中心任务是:回答:“如何构造目标系统”这一问题。
编码及测试阶段的中心任务是:编码与测试交替进行。
运行维护阶段的中心任务是:通过各种维护,不断完善系统,从而使系统持久地满足用户需求。
系统开发生命周期(SDLC):1)系统规划(明确目标勾画轮廓制定方案)2)系统分析(分析现状明确约束确定需求)3)系统设计(体系结构设计选择软硬件平台应用软件设计网站设计安全子系统设计支付子系统设计4系统实现(系统平台搭建应用软件开发系统集成运行准备系统评估优化)5)系统运行和支持(系统维护运行维护组织管理性能优化)SDLC-系统规划—问题定义,可行性研究系统分析---需求分析系统设计---总体设计,详细设计系统实现---编码与单元测试,综合测试系统运行和支持—运行维护2、JAD与RAD方法各自所蕴涵的主要思想是什么?答:JAD的主要思想:必须加强最终用户在系统开发建设过程中的作用,让他们积极参与到整个系统开发过程的每一个阶段中。
一、填空题()1.软件生存周期一般可以划分为。
2.基于软件的功能划分,软件可以划分成、支撑软件、三种。
3.可行性研究,应从技术可行性、、操作可行性、法律可行性和社会效益可行性等方面研究。
4.系统流程图是描绘的传统工具。
它的基本思想是用图形符号以描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出终点、、和。
6.结构化分析方法是面向进行需求分析的方法。
结构化分析方法使用与来描述。
7.用户界面的是用户界面设计最重要的也是最基本的目标。
8.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的____________,以数据结构为基础构造模块的____________,____________。
9.__________和共同构成系统的逻辑模型。
10.软件测试的方法有__________和__________(即黑盒法)。
11.单元测试一般以________________测试为主,_________测试为辅。
12.软件危机是指在所遇到的一系列严重问题。
13.面向对象方法=对象+类+ + 。
14.传统的软件开发方法学也称为。
15.在需求分析阶段,描绘系统逻辑模型的方法主要是用和。
16.程序的三种基本控制结构是、、。
17.模块独立性可以由、两个定性标准度量。
18.阶段在软件生命周期中工作量最大。
19.用面向对象方法开发软件,通常需要建立三种形式的模型,它们分别是、、。
20.黑盒测试又称为,白盒测试也称。
21.目前使用最广泛的软件工程学方法分别是传统方法学和。
22.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:FORTRAN语言、、C语言和PL/1语言。
23.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的技术。
24.成本估计方法主要有、和三种类型。
25.机器语言、汇编语言:依赖于机器,面向。