结构化分析(传统建模方法)方法 分析模型:数据流图(
结构化需求分析方法
结构化分析(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方法是以数据流、数据封闭性准则逐层分解的。
结构化分析方法分析模型:数据流图( 共46页
0..1
1
Item quantity
1..* Contained
* Stocked-in
关联
1
1
Sale
Store
属性
date time 1
Address name
1 Paid-by
1 Houses
1
1..*
Payment
Captured-on POS
amout
1
商店问题域中的概念(UML 中的类)
• 成员 • 约束 • 关联、属性、操作
动态模型
用来描述系统与时间相关的动态 行为即系统的控制逻辑,表现对象彼 此间经过相互作用后,随时间改变的 不同运算顺序。
动态模型以“事件”(Events)和 “状态”(States)为其模型的主要概 念。
动态模型以状态图形式呈现,
• 事件: 瞬时发生的行为;
事件
抽象概念 过程
规则、手册
记录
目录 金融工具、服务机构
举例
销售、会议 出航、着陆、坠机
商店 机场 退货政策、雇员手册 取消策略、修理手册 收据、分类帐目、合同 维护日志 产品目录、零件目录
信用卡、股票
POS系统问题域的候选概念
•POS机(POS) •商品项(Item) •商店(Store) •销售项(Sale) •支付(Payment) •产品目录(ProductCatalog) •产品规格说明(ProductSpecification) •销售项条目(SalesLineItem) •出纳员(Cashier) •顾客(Customer) •管理员(Manager)
建立概念模型(UML中的类图)
•确定并定义类 •建立关联 •添加属性 •描述系统行为:系统顺序图等
结构化分析方法
结构化分析方法结构化分析方法一、需求分析与需求分析方法需求阶段是软件开发的关键阶段。
需求分析的任务:准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么;用《需求规格说明书》规范的形式准确地表达用户的需求。
需求分析阶段的工作(四方面):◆需求获取:确定系统各方面需求;全面地提炼出系统的功能性与非功能性需求。
◆需求分析:对获取的需求分析和综合,给出系统解决方案和逻辑模型。
◆编写需求规格说明书:为用户、设计人员的交流提供方便,还可作为控制软件开发进程的依据。
◆需求审评:复审需求分析阶段的工作,验证需求文档的一致性、可行性等。
1、需求获取的目的清楚地理解所要解决的问题、完整地获取用户需求。
2、需求获取的内容用户需求分类:(1)功能性需求定义了系统做什么(描述系统必须支持的功能和过程)。
(2)非功能性需求(技术需求)定义了系统工作时的特性(描述操作环境和性能目标)。
3、需求分析的步骤4、需求分析过程示意(1)通过对现实环境的调查,获得当前系统的物理模型。
(2)去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型。
(3)分析当前系统与目标系统的差别,建立目标系统的逻辑模型。
5、需求分析的方法结构化分析(传统建模方法)、面向对象分析。
二、结构化分析方法1、结构化分析方法(Structure Analysis---SA)(1)定义是面向数据流进行需求分析的方法,采用自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
(2)结构化分析的主要步骤通过对用户的调查,以软件的需求为线索,获取当前系统的具体模型;去掉具体模型中非本质因素,抽象出当前系统的逻辑模型;根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型;完善目标系统并补充细节,写出目标系统的软件需求规格说明。
2、结构化分析方法使用的常用工具(1)数据流图(DFD—Data Flow Diagram )①作用从数据传递和加工的角度,在需求分析阶段以图形的方式描述数据流从输入到输出的移动变换过程,为系统建立逻辑模型。
餐饮服务系统--结构化分析数据流图E-R图数据字典
淮海工学院计算机工程学院实验报告书课程名:《软件工程导论》题目:结构化分析实验学号: 511020825姓名:薛思雨一、实验目的与要求通过示例掌握结构化系统分析的方法综合运用DFD,DD,E-R图等工具建立系统的概念数据模型二、实验环境VISIO 2003其它相关软件及硬件、网络环境三、实验步骤与源程序1.餐饮服务管理系统1)总体说明餐饮服务管理系统是酒店管理系统的一个部分,主要完成中西餐、咖啡厅、酒吧等顾客消费的消费信息记录、资源分配以及员工的信息管理等工作。
2)系统相关角色系统管理员,员工,部门经理,采购员,顾客,供货商等等3)相关功能说明(1)餐饮收银管理登记管理:客人到来以后进行登记,可以修改或者删除登记信息,客人可以要求合台或者换台。
消费管理:能够录入、修改或者删除客人的消费信息。
订餐管理:订餐信息登记,包括订餐时间、就餐时间、订餐桌数、人数、订餐详情、取消订餐、订餐查询。
主窗体:显示当前桌台、包房的占用情况,显示客人消费状态。
结算管理:客人结账的时候可以分类打折或者全面打折,计算开发票金额,打印账单,结账方式也有多种方式,如现金付款、支票付款、信用卡付款、免费、挂帐等自动统计。
日统计管理:可以对今日收银进行概览,方式多样,如按类别统计、按菜品统计、按帐单统计、按包房统计等等,可显示日销售项目排行榜,可打印销售日报表。
二级库存管理(主要管理酒水饮料的日常库存):这里主要是指前台的酒水饮料管理,包括入库、入库查询、入库统计,退货、退货查询、退货统计,库存动态,销售查询、销售统计,库存盘点、盘点查询、盘点统计。
菜谱管理:对菜品进行管理,如菜品类别维护、特色菜维护、菜品明细维护、酒水饮料维护,价格维护、套餐维护、菜谱打印、商品单位维护。
各消费类别和消费项目可任意增加、修改与删除,按照自己业务情况任意设置。
(2)采购库存管理该库存管理系统是后勤部门对所有资源的管理。
仓库从供货商处对商品进货,也可以对商品退货,可以进行商品进货信息和商品退货信息的查询、统计等。
第二章-系统分析—结构化分析方法
1、结构化方法概述
一种面向数据流的传统软件开发方法,以 数据流为中心构建软件的分析模型和设计 模型。
结构化分析(Structured Analysis
分为:
简称SA) 结构化设计(Structuresd Design 简称SD) 结构化程序设计(Structured Programmin 简 称SP)
1、结构化方法概述
主要思想:抽象与自顶向下的逐层分解 (控制复杂性的两个基本手段)
抽象:在每个抽象层次上忽略问题的内部复杂
性,只关注整个问题与外界的联系。 个最底层的问题都足够简单为止。
分解:将问题不断分解为较小的问题,直到每
抽象:从作为整体的软件系统开始(第一层),每一 抽象层次上只关注于系统的输入输出。 分解:将系统不断分解为子系统、模块…… 随着分解层次的增加,抽象的级别越来越低,也 越接近问题的解(算法和数据结构)。
(1)源或宿
存在于软件系统之外的人员或组织,表示软件系 统输入数据的来源和输出数据的去向,因此也称 为源点和终点。
例如,对一个图书馆信息管理系统而言 读者向系统提供查询条件(输入数据流),所以读者是管理系统 的一个源 管理系统向供货商发出购书请求(输出数据流),所以供货商 是管理系统的一个源
经理
图书库存 库存状态 库存查询 书库 管理
入库单
采购单
帐务数据库
图书代理 商
数据流图的扩充符号
描述一个加工的多个数据流之间的关系
星号(*):表示数据流之间存在“与”关系
所有输入数据流同时存在时,才能进行加工处理 或加工处理的结果是同时产生所有输出数据流 至少存在一个输入数据流时才能进行加工处理 或加工处理的结果是至少产生一个输出数据流
电子商务系统的分析与设计(第二版)课后习题答案--刘军
第一章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.机器语言、汇编语言:依赖于机器,面向。
软件工程练习题
《软件工程》练习题一、填空题1.软件主要包括程序、数据和文档三部分内容。
2.目前使用最广泛的软件工程方法学是传统(结构化方法)方法和面向对象方法。
3.软件可行性研究的任务是从技术、经济和社会可行性三个方面分析软件项目的可行性。
4.软件测试的目的是找出软件潜在的错误和缺陷;通常把软件测试方法分为黑盒测试(功能测试)和白盒测试(结构测试)两大类。
5.软件测试中,测试用例由输入数据和预期的输出结果两部分组成。
6.典型的软件生命周期模型(软件过程模型)包括瀑布模型、快速原型模型和增量模型、螺旋模型、喷泉模型等。
7.模块A调用模块B以查询学生成绩,模块A通过参数向模块B传送所查询学生的学号,模块B通过参数向模块A返回学生的考试成绩。
模块A和模块B之间的耦合类型属于数据耦合。
8.在类的继承结构中,不同层次的类共享同一个行为名称,但各个类可以按照自己的需要为同名行为设计不同的算法,此性质称为类的重写。
9.测试软件中的模块时,通常需要为被测模块设计辅助模块,辅助模块的名称分别是驱动模块和桩模块。
10.软件生存期中时间最长的是_软件维护阶段。
11.结构化分析方法中,功能模型用DFD 描述;数据模型用E-R 描述。
12.过程设计(详细设计)中,常用的描述工具有图形、表格和语言三类。
13.在模块结构图中,直接调用某一模块的其他模块数称为该模块的扇入数。
14.面向对象分析(OOA)方法中,必须定义对象间的通信机制,对象间通信是通过消息传递机制来实现的。
15.面向对象方法用对象分解取代了结构化方法的功能分解。
16.写出下列各对事物之间的关系(继承、聚集、一般关联):交通工具——汽车的关系是:继承;书——读者的关系是:一般关联;班级——学生的关系是:聚集;多边型——线段的关系是:聚集。
17.面向对象设计(OOD)阶段,可以将面向对象的设计内容划分为四部分,分别是:人机界面部分、问题域部分、任务管理部分和数据管理部分。
18.UML的中文含义是统一建模语言;CASE的中文含义是用例。
软件工程案例教程答案
1.下列所述不是软件特点的是(A)A.软件是有形的B.软件不存在磨损和消耗问题C.软件开发成本高D.软件没有明显的制作过程2.软件工程的出现主要是由于(C)A.程序设计方法学的影响B.其他工程学科的影响C.软件危机的出现D.计算机的发展3.以下(C)不是软件危机的表现形式A.开发的软件不满足用户的需要B.开发的软件可维护性差C.开发的软件价格便宜D.开发的软件可靠性差4.软件工程的目的是(C)A.建造大型的软件系统B.开发的软件可维护性差C.软泥吉安质量的保证D.研究软件开发的远离5.下列所述不是软件组成的是(D)A.程序B.数据C.界面D.文档6.下列对“计算机软件”描述正确的是(A)A.是计算机系统的组成部分B.不能作为商品参加交易C.是在计算机硬件设备生产过程中生产出来的D.之存在语计算机系统工作时7.软件工程的方法的产生源于软件危机,下列(D)是产生软件危机的内在原因A.软件的复杂性B.软件维护困难C软件成本太高. D.软件质量难保证8.软件工程方法的提出源于软件危机,其目的应该是最终解决软件的(D)问题A.软件危机B.质量保证C.开发效率D.生产工程化9.软件工程学中除重视软件开发的研究外,另以重要组成内容是软件的(A)和过程改进A.项目管理B.成本核算C.人员培训D.工具开发10.软件工程设计软件开发技术和项目管理等方面内容,下述内容中(D)不属于开发技术的范畴A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济二、填空题1.软件工程的目的是成功的建造大型的软件系统,主要内容是开打软件开发技术、软件项目管理和软件质量管理。
2.螺旋式开发模型主要是针对风险比较大的项目而设计的3.由于软件产生的复杂性和高成本,使大型软件产生出了很多问题,即出现软件危机,软件工程正是为了克服它而提出的一种概念及相关方法和技术。
4.增量模型假设需求可以分段,成为一系列增量产品,每一增量可以分别开发。
2014年下半年软件设计师考试下午真题答案解析
2014年下半年软件设计师考试下午真题1 、阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】某大型披萨加工和销售商为了有效管理生产和销售情况,欲开发一披萨信息系统,其主要功能如下:(1)销售。
处理客户的订单信息,生成销售订单,并将其记录在销售订单表中。
销售订单记录了订购者、所订购的披萨、期望的交付日期等信息。
(2)生产控制。
根据销售订单以及库存的披萨数量,制定披萨生产计划(包括生产哪些披萨、生产顺序和生产量等),并将其保存在生产计划表中。
(3)生产。
根据生产计划和配方表中的披萨配方,向库存发出原材料申领单,将制作好的披萨的信息存入库存表中,以便及时进行交付。
(4)采购。
根据所需原材料及库存量,确定采购数量,向供应商发送采购订单,并将其记录在采购订单表中;得到供应商的供应量,将原材料数量记录在库存表中,在采购订单表中标记已完成采购的订单。
(5)运送。
根据销售订单将披萨交付给客户,并记录在交付记录表中。
(6)财务管理。
在披萨交付后,为客户开具费用清单,收款并出具收据;依据完成的采购订单给供应商支付原材料费用并出具支付细节;将收款和支付记录存入收支记录表中。
(7)存储。
检查库存的原材料、拔萨和未完成订单,确定所需原材料。
现采用结构化方法对披萨信息系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。
图1-1 上下文数据流图图1-2 0层数数据流图【问题1】(4分)根据说明中的词语,给出图1-1中的实体E1~E2的名称。
【问题2】(5分)根据说明中的词语,给出图1-2中的数据存储D1~D5的名称。
【问题3】(6分)根据说明和图中词语,补充图1-2中缺失的数据流及其起点和终点。
根据需求分析阶段收集的信息,设计的实体联系图和关系模式(不完整)如下:图1-1 实体联系图 超市(超市名称,经理,地址,电话)【问题1】【问题2】(a)超市名称,部门名称主键:(超市名称,部门名称)外键:超市名称,部门经理现采用面向对象方法对该系统进行分析与设计,得到如图1-1所示的初始类图。
2022年职业考证-软考-系统分析师考试全真模拟全知识点汇编押题第五期(含答案)试卷号:84
2022年职业考证-软考-系统分析师考试全真模拟全知识点汇编押题第五期(含答案)一.综合题(共15题)1.单选题数据的物理独立性和逻辑独立性分别是通过修改()来完成的。
问题1选项A.外模式与内模式之间的映像、模式与内模式之间的映像B.外模式与内模式之间的映像、外模式与模式之间的映像C.外模式与模式之间的映像、模式与内模式之间的映像D.模式与内模式之间的映像、外模式与模式之间的映像【答案】D【解析】本题考查的是数据库三级模式两层映像体系结构的相关概念。
数据库系统两级独立性是指物理独立性和逻辑独立性。
三个抽象级别之间通过两级映射(外模式/模式映射和模式/内模式映射)进行相互转换,使得数据库的三级模式形成一个统一的整体。
答案为D选项。
物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的,当数据的物理存储改变时,应用程序不需要改变。
物理独立性存在于概念模式和内模式之间的映射转换,说明物理组织发生变化时应用程序的独立程度。
逻辑独立性是指用户的应用程序与数据库中的逻辑结构是相互独立的,当数据的逻辑结构改变时,应用程序不需要改变。
逻辑独立性存在于外模式和概念模式之间的映射转换,说明概念模式发生变化时应用程序的独立程度。
相对来说,逻辑独立性比物理独立性更难实现。
2.单选题某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。
若磁盘上物理块的编号依次为:0、1、2、…;系统中的字长为64位,字的编号依次为:0、1、2、…,字中的一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用,如下图所示。
假设操作系统将256号物理块分配给某文件,那么该物理块的使用情况在位示图中编号为()的字中描述;系统应该将()。
问题1选项A.3B.4C.5D.6问题2选项A.该字的0号位置“1”B.该字的63号位置“1”C.该字的0号位置“0”D.该字的63号位置“0”【答案】第1题:B第2题:A【解析】(256+1)/64= 4.02,同时由于题目已明示“字号从0开始计算”,所以256号物理块应在4号字中描述。
数据流图
历史
在二十世纪七十年代,结构设计的原始开发者拉里·康斯坦丁(Larry Constantine)根据Martin和Estrin 的“数据流图”(Data Flow Graph)计算模型提出了一种实用技术的数据流图。
(三)自顶向下逐层分解,绘出分层数据流图
对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将 一个数据流图分解成几个数据流图来分别表示 。
举例说明
图8数据流图
(1)首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然 后考虑该系统有哪些输入数据、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据 交换关系。图8中的图3-3为飞机机票预订系统的顶层图。
数据流图也称为气泡图。DFD是系统设计自上而下方法中使用的一种设计工具。这个上下文级别的DFD接下来 是“爆炸式”的,以产生一个1级的DFD,显示正在建模的系统的一些细节。Level 1 DFD显示了系统如何分成子 系统(过程),每个系统处理一个或多个来自或来自外部代理的数据流,它们一起提供系统的所有功能整个。它 还识别必须存在的内部数据存储库,以便系统执行其工作,并显示系统各个部分之间的数据流。
数据流图是结构化系统分析和设计方法SSADM的三个基本视角之一。项目发起人和最终用户需要在系统演进 的各个阶段得到简要介绍和咨询。通过数据流图,用户可以看到系统将如何运行,系统将完成什么以及如何实现 系统。可以绘制旧系统的数据流图,并与新系统的数据流图进行比较,以便比较以实现更高效的系统。数据流图 可以用来为最终用户提供一个物理的概念,即它们输入的数据最终对整个系统的结构从订单到发送到报告有影响。 如何开发系统可以通过数据流图模型来确定。
《软件工程》(第五版)习题参考答案
《软件工程》(第五版)习题参考答案
第1章 一、判断题 1、(×)软件的维护与硬件维护本质上是相同的。 2、(√)软件在运行和使用中也存在退化问题。 3、(×)软件危机的产生主要是因为程序设计人员使用了不适 当的程序设计语言。 4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和 衰亡的生存过程。 5、(×)文字处理软件 Word 属于系统软件。应用软件 6、(√)原型是软件的一个早期可运行的版本,它反映最终系 统的部分重要特性。 7、(√)软件开发过程中,一个错误发现得越晚,为改正它所 付出的代价就越大。 8、(×)快速原型模型对软件开发人员的水平要求不高。 9、(√)喷泉模型适合于面向对象的软件开发。 10、(×)面向对象开发方法的主要缺点是在适应需求变化方面 不够灵活。 二、选择题 1、软件是一种(C)。 A、程序 B、数据
D、合同文档 14、结构化分析方法是以数据流图、(D)和加工说明等描述工 具,即用直观的图和简洁的语言来描述软件系统模型。 A、DFD 图 B、PAD 图 C、IPO 图 D、DD 15、软件需求分析阶段的工作,可以分为四个方面:需求获取、 需求分析、编写需求规格说明书以及(B)。 A、阶段性报告 B、需求评估 C、总结 D、都不正确 16、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一 些特定的图符构成。下面图符名称标识的图符不属于数据流图合 法图符的是(A)。 A、控制流 B、加工 C、数据存储 D、源点和终点 17、DFD 用于描述系统的(D)。 A、数据结构
需求分析(传统结构化方法)
2.2需求分析需求分析是通过开发人员的分析概括,抽象为完整的需求定义,再形成一系列文档的过程。
2.2.1需求分析的目的与意义需求分析是一个非常重要的过程,它完成的好坏直接影响后续软件开发的质量。
有效的需求分析通常都具有一定的难度。
需求分析不仅仅是属于软件开发生命周期早期的一项工作,而且还应该贯穿于整个生命周期中,它应该随着项目的深入而不断地变化。
此外,为了方便后续的评审和测试等工作,需求的描述应该尽量做到:具体、详细、可以测量和可以实现,并且基于时间。
2.2.2需求分析的步骤2-3所示。
图2-3需求分析的步骤需求涉及的方面:在功能方面,需求包括系统要做什么,相对于原系统目标系统需要进行哪些修改,目标用户有哪些,以及不同用户需要通过系统完成何种操作等。
在性能方面,需求包括用户对于系统执行速度、响应时间、吞吐量和并发度等指标的要求。
在运行环境方面,需求包括目标系统对于网络设置、硬件设备、温度和湿度等周围环境的要求,以及对操作系统、数据库和浏览器等软件配置的要求。
在界面方面,需求涉及数据的输入/输出格式的限制及方式、数据的存储介质和显示器的分辨率要求等问题。
1. 获取需求,识别问题开发人员从功能、性能、界面和运行环境等多个方面识别目标系统要解决哪些问题,要满足哪些限制条件,这个过程就是对需求的获取。
开发人员通过调查研究,要理解当前系统的工作模型和用户对新系统的设想与要求。
遗漏需求是最难修订的需求错误。
获取需求是需求分析的基础。
为了能有效地获取需求,开发人员应该采取科学的需求获取方法。
在实践中,获取需求的方法有很多种,比如,问卷调查、访谈、实地操作、建立原型和研究资料等。
问卷调查法是采用调查问卷的形式来进行需求分析的一种方法。
通过对用户填写的调查问卷进行汇总、统计和分析,开发人员便可以得到一些有用的信息。
采用这种方法时,调查问卷的设计很重要。
一般在设计调查问卷时,要合理地控制开放式问题和封闭式问题的比例。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
建立概念模型(UML中的类图)
•确定并定义类 •建立关联 •添加属性 •描述系统行为:系统顺序图等
建立关联
对象之间的静态联系称为实例 连接(Instance Connection) ,它通过 对象的属性来表现对象之间的依赖关 系。
面向对象术语中把对象之间的实 例连接称为链接(Link),把类之间的 实例连接称为关联(Association)
指明系统应“做什么”
• 动态模型: 描述交互过程, 规定什么
时候做
OMT模型系统分析和设计过程概观图
产生需求 问题描述
建立模型
对象模型、动态模型、功能模型 结构及对象 设计
分 析 阶 段
详细的对象模型 详细的动态模型 详细的功能模型
设 计 阶 段
实例:饮料自动售货机系统 设置
一个饮料自动售货机可以放置五种不同或部分相同的 饮料,可由厂商根据销售状况自动调配,并可随时重 新设置售价,但售货机最多仅能放置50罐饮料,其按 钮设计在各种饮料样本的下方,若经金额计算器累计 金额足够,则选择键灯会亮;若某一种饮料已销售完 毕,则售完灯会亮。
分析建模方法与分析模型
结构化分析(传统建模方法)方法
分析模型:数据流图(DFD) 数据字典(DD) 小说明 E-R图(ERD) 状态变迁图(STD)
面向对象分析方法
分析模型:用例模型(用况模型) 对象模型(概念模型) 功能模型(行为模型) 状态模型
概念模型
问题域中概念的描述,用一组静态结构图表达。 概念就是一个想法、事物或对象
概念的描述 记号(Symbol) — 代表一个概念的单词或图形 内涵(Intension) — 一个概念的定义 外延(Extension) — 概念应用的一组实例
商店和销售领域的一个部分概念模型(UML的类图) Sales Records-sale-of Item 概念 LineItem 0..1 1 quantity quantity 1..* * Contained Stocked-in 关联 1 1 Sale Store date Address 属性 1 name time 1 1 Houses Paid-by 1..* 1 POS Payment Captured-on amout 1
引起对象状态转换的控制信息。
事件类和属性举例:
飞机起飞(航线、航班号、城市) 按动鼠标按钮(按钮、位置) ……..
•
•
脚本和事件踪迹
脚本是系统某一次特定运行时期内发 生的事件序列。(脚本也叫场景)
事件追踪图
侧重说明发生于系统执行过程中的一 个特 定“场景(scenarios)”。
通话脚本(只包括影响电话线的事件)
OMT支持整个软件生命周期:
无效的硬币 取消 取消
Do:显示售货机在备用 所有灯都关闭 Do:显示金额总数
投入硬币 (有效的) 投入硬币金额
(1元、5元、10元)
回到备用状态
Do:显示金额已够 饮料选择灯亮 按下选择饮料键
取出饮料 结算找零 扣减存量 完成交易
金额不足 再投币回到备用状态源自存量为零 饮料“售完”灯亮
事件追踪图举例:打电话的事件追踪图
实例连接示例及表示
教师为学生 授课:
教师 学生
教学 0,m 0,n
教师为学生 指导论文:
教师
指导论文 0,m 1
学生
关联关系(链属性)的表示
允许实例连接带有一组属性,这些属 性通过关联来描述
类1 类1
连接名称 m n 连接 属性
关联关系
教师
指导论文 0,m 1 题目 答辩时间 成绩
学生
(链属性)
销售
顾客将硬币投入售货机,经累加金额足额的饮料选择 键灯亮,等顾客按键选择。顾客按键后饮料由取物楼 掉出,并自动结算及找钱。
取消交易
顾客可在按下选择键前任何一个时刻,拉动退币杆取 消交易收回硬币。
步骤: (1)找出对象及其关联 (2)赋予类及关联的属性数据 (3)组织类的结构
OMT的对象图
找出饮料自动售货机系统中的对象 设置
投入硬币
显示总额
金额总够 灯亮 选择按纽 选择键 # 饮料 结算 余额 找零 扣减存量 存量为零 灯亮
3. 功能模型
用来描述系统中数据的变换。
传统DFD + 控制流
对象A
数据流 控制流 过程 过程 1 2
对象B
数据存储区
基于三个模型的分析步骤
• 需求陈述
• • • •
对象建模 动态建模 功能建模 添加操作反复建模
范例:移动电话系统
移动电话系统的功能:
• 用手机做移动通讯
• 下载铃声
• 下载图案
• 管理电话簿
移动电话系统的使用用例图
Talk to Others Download Icons Mobile user Download Rings Manage Phonebook Mobile Network
移动电话系统 的协作图
: MMobileHandset
移动电话系统的顺序图
:MButton
Mobile user pushDigButton() displayButtonNumber() pushSendButton()
:MDisplqy :MMobileStation :MMobileHandset
取消交易
顾客可在按下选择键前任何一个时刻,拉动退币杆取 消交易收回硬币。
对象模型
描述系统内部对象结构,包括对象本 身的定义、对象的属性、操作,以及对象 与其它对象之间的关系。
对象模型是OMT方法论中最重要的部 分,动态模型、功能模型都将依次而建立 对象模型以对象图形式呈现,对象图由类构 成。
饮料自动售货机系统对象图
金额计算器
金额 累加 找零 重置
属于
贩卖机
饮料号码 价格 投币-接受 饮料掉出 金额显示 按纽 退币杆 售完显示
属于
存量计算器
饮料号码 存量 递减 售完显示 重置
属于
属于
购买
退币杆
退币杆状态
拉动
被拉动
顾客
姓名 硬币 投币-置入 拿取饮料
选取
选择钮
选择钮状态 灯亮 灯熄 售完灯亮 按钮
建立数据字典
为所有模型实体准备一个数 据字典,精确描述每一个对象类, 包括:
一个饮料自动售货机可以放置五种不同或部分相同的 饮料,可由厂商根据销售状况自动调配,并可随时重 新设置售价,但售货机最多仅能放置50罐饮料,其按 钮设计在各种饮料样本的下方,若经金额计算器累计 金额足够,则选择键灯会亮;若某一种饮料已销售完 毕,则售完灯会亮。
销售
顾客将硬币投入售货机,经累加金额足额的饮料选择 键灯亮,等顾客按键选择。顾客按键后饮料由取物楼 掉出,并自动结算及找钱。
打电话者
拿起听筒 电话忙音开始
电话线
接电话者
拨 号(8) 电话忙音结束
拨 拨 拨 拨 铃 号(2) 号(3) 号(7 号(3) 声
停止振铃 通 话
电话振铃 响应电话 停止振铃 通 话 挂断电话 电话切断
挂断电话
举例:饮料自动售货机系统的事件追踪图
顾客
售货机 金额计算器
累加 总额
选择键 存量计算器 售完灯
商店问题域中的概念(UML 中的类)
Store
POS
Sale
识别概念 候选概念类型
物理的或实在的对象
规格说明、设计或事物描述 地点
举例
POS机 飞机 产品规格说明 航班描述 商店 机场 销售、支付、在线销售项 预定 出纳员 飞行员、乘客 信用卡授权系统 空中交通控制系统 销售部
事务
人的角色
系统外部的其他系统或设备
•
状态: 对象属性和对象关联的抽象形式
状态的特征表示方法举例:
状态:闹铃响 描述:闹铃响表示预定时间到 产生本状态的事件序列: 设置闹钟(预定时间) 不包括清除闹铃的任何后续操作 当前时间=预定时间 表征本状态的条件: 闹铃=开,从预定时间起没有按键的情况下, 目标时间当前时间 目标时间=20秒 本状态接受的各种时间: 事件 动作 下一个状态 当前时间=目标时间+20 重新设置闹钟 正常 按下按钮(任意按钮) 重新设置闹钟 正常
1. 打电话者拿起听筒 2. 电话忙音开始 3. 打电话者拨数字(8) 4. 电话忙音结束 5. 打电话者拨数字(2) 6. 打电话者拨数字(3) 7. 打电话者拨数字(7) 8. 打电话者拨数字(3) 9. 接电话者的电话开始振铃 10. 铃声在打电话者电话传出 11. 接电话者回答 12. 接电话者电话停止振铃 13. 铃声在打电话者电话中消失 14. 通电话 15. 接电话者挂断电话 16. 电话切断 17. 打电话者挂断电话
动态模型表示方法
•
状态图
状态和事件的网络,侧重描述每一类对象 的动态行为。
•
状态图
结束 状态1 事件1[条件1] / 动作1 状态2 事件 Do:活动1 .…...
初始 事件
例:
空闲 左边按钮按下/显示弹出菜单 可视菜单
左边按钮弹起/擦除弹出菜单
光标移动/高亮菜单项
弹出菜单动作
举例:饮料自动售货机系统的状态图
connectSuccess () Diaconnectsuccess()
移动电话系统的类图之二
对象模型技术
(OMT, Object Model Tech)
基本模型:
对象模型 动态模型 功能模型
三个模型分别从不同角度分析系统
分析模型
• 对象模型: 描述静态结构, 定义做
事情的实体
• 功能模型: 描述处理(数据变换),
个人
名字 身份证号
为之工作