1.阅读:SA/SD研究的领导者EdwardYourdonEdwardYourdon是结构化分析/设计方法研究的领导者,合作建立了面向对象方法学。发表200多重要技术文章,著书24部。包括《DeathMarch》、《TheDeclineandFalloftheAmericanProgrammer》和《TheRiseandResurrectionoftheAmericanProgrammer》。作为著名的Coad/Yourdon面向对象方法学的开发者之一,他大名鼎鼎,曾建立并领导了YOURDON咨询公司,世界各地有超过25万人在这里接受过培训。资料来源:软件名人堂(),有删改。2.习题与思考3.1软件需求分析是软件工程过程中交换意见最频繁的步骤。为什么交换意见的途径会经常阻塞?请简述你的看法。答:软件需求包括三个不同的层次—业务需求,用户需求和功能需求—也包括非功能需求.业务需求(businessrequirement)反映了组织机构或客户对系统,产品高层次的目标要求,它们在项目视图与范围文档中予以说明.用户需求(userrequirement)文档描述了用户使用产品必须要完成的任务,这在实验2-3软件开发绘图工具Visio图3.10EdwardYourdon2软件工程基础使用实例(usecase)文档或方案脚本(scenario)说明中予以说明.需求的层次功能需求(functionalrequirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求.所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求.软件需求各组成部分之间的关系如图所示什么是需求工程把所有与需求直接相关的活动通称为需求工程.需求工程中的活动可分为两大类:一类属于需求开发,另一类属于需求管理.需求工程的结构图用户(user)是一种泛称,它可细分为客户(customer),最终用户(theenduser)和间接用户(或称为关系人).掏钱买软件的用户称为客户,而真正操作软件的用户叫最终用户.客户与最终用户可能是同一个人也可能不是同一个人.几个基本概念用户在需求工程中的权利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:①数据结构②数据流③对象④构件B:①0②1③1~N④0~NC:①有且仅有一条数据流②至少有一条数据流③可以有0或多条名字互不相同的数据流④可以有0或多条数据流,但允许其中有若干条名字相同的数据流D:①父图与子图③不同父图的所有子图②同一父图的所有子图④同一子图的所有直接父图E:①控制流和变换流③事务流和事件流②变换流和事务流④事件流和控制流3.7结构化分析方法(SA)的一个重要指导思想是(A)。供选择的答案:A:①自顶向下,逐步抽象③自顶向下,逐步分解②自底向上,逐步抽象④自底向上,逐步分解3.实验:软件开发绘图工具Visio本章实验的目的是:1)了解Visio工具软件的功能特色、安装、工作环境和基本操作等各方面的基本知识。2)掌握应用Visio工具绘制软件开发图形的基本操作。3.1工具/准备工作在开始本实验之前,请回顾教科书的相关内容。需要准备一台安装有MicrosoftOfficeVisio2003软件的计算机。实验3软件需求分析53.2背景知识Visio系列产品大约从1990年开始研发。Visio软件通过提供许多应用领域的基本图形模块,允许用户通过拖放图件来组合出自己所需要的图形,使用十分简单,大大简化了用户的工作,产品受到广泛的欢迎。1995年,这家研发Visio软件的公司干脆更名为Visio,并于同年完成了股票上市。1999年,Microsoft以股票交易方式并购了Visio公司,不久之后,便推出了新版本的Visio软件。至此,和大家熟悉的Word、Excel、PowerPoint、FrontPage、Access等软件一样,Visio也成为MicrosoftOffice家族的一员,得到了Microsoft强大的技术支持。Visio是一个软件开发的绘图工具,但它是建立流程图、组织图、日程表、行销图、布置图等各种图形图表最快速、最简便的工具之一。Visio带有一个绘图模板集,包含了用于各种商业和工程应用的符号。其中的软件和系统开发模板提供了流程图、数据流图、实体-联系(E-R)图、UML图以及其他许多图形符号。模板提供了一个用于存储图表元素的定义和描述信息的有限资料库,并且这些模板还在不断地补充和发展中,其使用范围也将越来越广泛。图3.11显示了其中的“软件”模板和“网络”模板。(a)“软件”模板(b)“网络”模板图3.11Visio的模板Visio文件共有4种类型,即绘图文件、模具文件、模板文件和工作环境文件。1)绘图文件(.vsd):用于存储绘制的各种图形。—个绘图文件中可以有多个绘图页,它是Visio中最常用的文件。2)模具文件(.vss):用来存放绘图过程中生成各种图形的“母体”,即形状(图件)。Visio自带了大量对应于不同绘图场合的模具文件,给绘图带来了很大的方便。用户还可以根据自己的需要,生成自己的模具文件。6软件工程基础3)模板文件(.vst):同时存放了绘图文件和模具文件,并定义了相应的工作环境。Visio自带了许多模板文件。用户可以利用Visio自带的或者自己生成的模具文件,对操作环境加以改造,进而生成自己的模板文件。4)工作环境文件(.vsw):用户根据自己的需要将绘图文件与模具文件结合起来,定义最适合个人的工作环境,生成工作环境文件。该文件存储了绘图窗口、各组件的位置和排列方式等。在下次打开时,可以直接进入预设的工作环境。此外,Visio还支持其他多种格式的文件,可以在Visio的打开或保存操作中使用这些文件类型。3.3实验内容与步骤下面,我们来学习Visio的工作界面和基本操作。1.Visio的工作环境Visio的工作环境包括工作窗口、菜单、工具栏、定位工具以及帮助等内容。1)工作窗口。对应所打开Visio文件的不同,工作窗口也会有所差异,但其基本样式类似。如图3.12是—个新建的Visio数据流程图文件的工作窗口。图3.12Visio的工作窗口菜单:通过单击菜单命令的操作,可以实现Visio的各项功能。工具栏:可以快速执行各项功能和操作,是菜单的快捷方式。实验3软件需求分析7绘图页面:相当于一张图纸,可以在它上面生成并编辑图形。一个绘图文件可以产生好几个绘图页面,可以通过“页面标签”来切换。网格:在绘图时对图形的位置进行校正,但打印时一般并不显示。标尺:用于对图形进行更为精确的定位。绘图窗口:相当于一个工作台,在上面放置绘图页面等其他组件。形状(也称图件):是Visio中最核心的部分。通过鼠标的拖拽而在绘图页面中产生对应的图形副本。将鼠标指针在图件上停留片刻,可以看到对该图件的注释,即对该图件功能和使用范围的说明。模具:存放各种图件的仓库。2)视窗的调整。主要依靠菜单中的“视图”、“窗口”命令和“视图”工具栏来实现。视窗调整中常见的操作包括:缩放操作:利用该操作可以调整页面的显示比例,以便更有效地进行绘图操作,且该功能改变的只是页面在屏幕上的显示效果,对实际大小并无影响。提示:“视图”菜单中有几个命令比较特殊:“全屏显示”仅显示页面中的内容;“整页”使页面恰好显示为一页;“页宽”使页面在页宽方向上最大显示。显示方式调整:当有多个文件同时打开时,可以用“并排”、“水平”和“层叠”三种排列方式来显示视窗。并排排列可在“窗口”菜单中单击“平铺”命令;水平排列可在按下Ctrl键的同时,在“窗口”菜单中单击“平铺”命令;层叠排列可在“窗口”菜单中单击“层叠”命令。3)任务窗格。这项功能提供了一些常用的命令选项。Visio的任务窗格功能主要有开始工作、帮助、剪贴画、信息检索、搜索结果、新建绘图、模板帮助、共享工作区、文档更新和审阅等。在“视图”菜单中单击“任务窗格”命令,可以调出任务窗格并显示在屏幕右侧。4)小视窗。Visio有四个小视窗,堪称其“显微镜”,它们分别是;扫视和缩放窗口、自定义属性窗口、大