实验
2-3
软件开发绘图工具Visio
1. 阅读:SA/SD研究的领导者Edward Yourdon
Edward Yourdon是结构化分析/设计方法研究的领导者,合作建立了面向对象方法学。发表200多重要技术文章,著书24部。 包括《Death March》、《The Decline and Fall of the American Programmer》和《The Rise and Resurrection of the American Programmer》。
作为著名的Coad/Yourdon面向对象方法学的开发者之一,他大名鼎鼎,曾建立并领导了YOURDON咨询公司,世界各地有超过25万人在这里接受过培训。
资料来源:软件名人堂 (http://www.sawin.cn/HallOfFame/) ,有删改。
图3.10 Edward Yourdon
2. 习题与思考
3.1 软件需求分析是软件工程过程中交换意见最频繁的步骤。 为什么交换意见的途径
会经常阻塞?请简述你的看法。
答:软件需求包括三个不同的层次—业务需求,用户需求和功能需求—也包括非功能
需求.
业务需求( business requirement)反映了组织机构或客户对系统,产品高层次的目标要求,它
们在项目视图与范围文档中予以说明.
用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在
2 软件工程基础
使用实例( use case)文档或方案脚本( scenario)说明中予以说明. 需求的层次
功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求.
所谓特性( f e a t u r e )是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求.软件需求各组成部分之间的关系如图所示 什么是需求工程
把所有与需求直接相关的活动通称为需求工程. 需求工程中的活动可分为两大类: 一类属于需求开发, 另一类属于需求管理. 需求工程的结构图
\用户\是一种泛称,它可细分为\客户\最终用户%user)和\间接用户\或称为关系人).
掏钱买软件的用户称为客户,而真正操作软件的用户叫最终用户.客户与最终用户可能是同一个人也可能不是同一个人. 几个基本概念
用户在需求工程中的\权利\
1. 有权要求开发方派遣资质合格的需求分析员和相关人员.
2. 有权要求开发方采用用户熟悉的语言来描述需求,即开发方必须提供用户看得懂得需求文档
3. 有权审查需求文档,并对有争议的需求作出决策.如果认为需求文档不能准确地反映用户真实的意愿,可以拒绝在需求文档上签字.
4. 如果用户想要变更需求,有权要求开发方对该变更将产生的影响作出真实可信的评估,以便用户决定是否变更需求. 用户在需求工程中的\义务\
1. 以积极友善的态度与开发方人员交流,协作,尽可能地为开发方人员提供工作和生活上的便利.
2. 乐意接受需求分析员的采访,在不泄漏机密的前提下尽可能地回答需求分析员的问题.
3. 在不泄漏机密的前提下,尽可能地向需求分析员提供与需求相关的材料. 4. 与需求分析员共同评审需求文档,确保需求文档准确地反映用户真实的意愿.
3.2 你认为一个系统分析员所必须具备的专业基础知识是什么?请说明理由。
答: (1)具有系统工程的基础知识; (2)掌握开发信息系统的综合技术知识(硬
实验3 软件需求分析 3
件、软件、网络、数据库);(3)熟悉企业和政府信息化建设,并具有组织信息化战略规划的知识;(4)熟悉掌握信息系统开发过程和方法;(5)熟悉信息系统开发标准;(6)掌握信息安全的相关知识与技术;(7)理解软件质量保证的手段(8)具有经济与管理科学的相关基础知识,熟悉有关的法律法规;(9)具有大学本科的数学基础;(10)熟练阅读和正确相关领域的英文文献。
3.3 数据流程图的作用是什么?它有哪些基本成分? 答:,作用是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述
信息的来龙去脉和实际流程。数据流程图的基本成分 系统部件包括系统的外部实体、处理过程、数据存储和系统中的数据流四个组成部分
3.4 数据字典的作用是什么?它有哪些基本条目? 答:数据字典是结构化分析的另一个有力的工具。它是为数据流程图中的每个数据流、
数据存储、加工以及组成数据流或文件的数据项做出说明,没有数据字典,数据流程图就不严格。数据字典的重要用途是作为分析阶段的工具。在数据字典中建立严密一致的定义有助于改进分析人员和用户之间的通信,避免许多误解的发生。数据字典也有助于改进不同的开发人员或不同的开发小组之间的通信。同样,将数据流程图中的每个元素的精确定义放在一起,就构成了系统的、完整的需求规格说明的主体。数据字典还作为连接软件设计、实现和进化阶段的开发机构的信息存储。在软件设计阶段,数据字典是存储文件或数据库设计的基础。在实施阶段,还可参照数据字典描述数据。随着系统的改进,字典中的信息也会发生变化,新的信息会随时加入进来。
3.5 从供选择的答案中选出应填入下列叙述中 ( ) 内的正确答案。
软件需求分析的任务不应包括 ( A ) ,进行需求分析可使用多种工具,但 ( B ) 是不适用的。在需求分析中,开发人员要从用户那里解决的最重要问题是 ( C ) 。需求规格说明书的内容不应包括 ( D ) 。该文档在软件开发中具有重要作用,但其作用不应包括 ( E ) 。 供选择的答案:
A: ① 问题分析 ② 信息域分析
③ 结构化程序设计 ④ 确定逻辑模型 B: ① 数据流程图 ② 判定表 ③ PAD图 ④ 数据词典 C: ① 要让软件做什么 ② 要给该软件提供哪些信息 ③ 要求软件工作效率怎样 ④ 要让该软件具有何种结构 D: ① 对重要功能的描述 ② 对算法的详细过程描述 ③ 软件确认准则 ④ 软件的性能
① 软件设计的依据
4 软件工程基础
② 用户和开发人员对软件 “要做什么” 的共同理解 ③ 软件验收的依据 ④ 软件可行性分析的依据 3.6 从供选择的答案中,选出应填入下面叙述中 ( ) 内的最确切的解答。
在软件开发过程中常用图作为描述工具。DFD就是面向 ( A ) 分析方法的描述工具。在一套分层DFD中,如果某一张图中有N个加工,则这张图允许有 ( B ) 张子图。在一张DFD图中,任意两个加工之间 ( C ) 。在画分层DFD时,应注意保持 ( D ) 之间的平衡。DFD中从系统的输入流到系统的输出流的一连串连续变换形成一种信息流,这种信息流可分为 ( E ) 两大类。
供选择的答案: A: ① 数据结构 ② 数据流 ③ 对象 ④ 构件
① 0 ② 1 ③ 1 ~ N ④ 0 ~ N B:
C: ① 有且仅有一条数据流 ② 至少有一条数据流 ③ 可以有0或多条名字互不相同的数据流
④ 可以有0或多条数据流,但允许其中有若干条名字相同的数据
流
D: ① 父图与子图 ③ 不同父图的所有子图 ② 同一父图的所有子图 ④ 同一子图的所有直接父图 E: ① 控制流和变换流 ③ 事务流和事件流 ② 变换流和事务流 ④ 事件流和控制流 3.7 结构化分析方法 (SA) 的一个重要指导思想是 ( A ) 。
供选择的答案: A: ① 自顶向下,逐步抽象 ③ 自顶向下,逐步分解 ② 自底向上,逐步抽象 ④ 自底向上,逐步分解
3. 实验:软件开发绘图工具Visio
本章实验的目的是:
1) 了解Visio工具软件的功能特色、安装、工作环境和基本操作等各方面的基本知识。
2) 掌握应用Visio工具绘制软件开发图形的基本操作。 3.1 工具/准备工作
在开始本实验之前,请回顾教科书的相关内容。
需要准备一台安装有Microsoft Office Visio 2003软件的计算机。
实验3 软件需求分析 5
3.2 背景知识
Visio系列产品大约从1990年开始研发。Visio软件通过提供许多应用领域的基本图形模块,允许用户通过拖放图件来组合出自己所需要的图形,使用十分简单,大大简化了用户的工作,产品受到广泛的欢迎。1995年,这家研发Visio软件的公司干脆更名为Visio,并于同年完成了股票上市。1999年,Microsoft以股票交易方式并购了Visio公司,不久之后,便推出了新版本的Visio软件。至此,和大家熟悉的Word、Excel、PowerPoint、FrontPage、Access等软件一样,Visio也成为Microsoft Office家族的一员,得到了Microsoft强大的技术支持。
Visio是一个软件开发的绘图工具,但它是建立流程图、组织图、日程表、行销图、布置图等各种图形图表最快速、最简便的工具之一。Visio带有一个绘图模板集,包含了用于各种商业和工程应用的符号。其中的软件和系统开发模板提供了流程图、数据流图、实体-联系 (E-R) 图、UML图以及其他许多图形符号。模板提供了一个用于存储图表元素的定义和描述信息的有限资料库,并且这些模板还在不断地补充和发展中,其使用范围也将越来越广泛。图3.11显示了其中的“软件”模板和“网络”模板。
(a) “软件”模板 (b) “网络”模板
图3.11 Visio的模板
Visio文件共有4种类型,即绘图文件、模具文件、模板文件和工作环境文件。
1) 绘图文件 (.vsd) :用于存储绘制的各种图形。—个绘图文件中可以有多个绘图页,它是Visio中最常用的文件。
2) 模具文件 (.vss) :用来存放绘图过程中生成各种图形的“母体”,即形状 (图件) 。Visio自带了大量对应于不同绘图场合的模具文件,给绘图带来了很大的方便。用户还可以根据自己的需要,生成自己的模具文件。