- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二篇传统方法学 第3章 结构化分析 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提和关键,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会给用户带来失望,给开发者带来烦恼。 传统的软件工程方法学采用结构化分析(Structured Analysis ,SA)技术完成需求分析工作。 3.1 概述 3.2 与用户通信的技术 3.3 分析建模与规格说明 3.4 实体—关系图 3.5 数据流图 3.6 状态转换图 3.7 数据字典 3.8 小结 3.1 概述 需求分析是发现、求精、建模、规格说明和复审的过程。为了发现用户的真正需求,首先应该从宏观角度调查、分析用户所面临的问题,也就是说,需求分析的第一步是尽可能准确地了解用户当前的情况和需要解决的问题。 分析员对用户提出的初步要求应该反复求精多次细化,才能充分理解用户的需求,得出对目标系统的完整、准确和具体的要求。 为了更好地理解问题,人们常常采用建立模型的方法。所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。结构化分析就是一种建立模型的活动,通常建立数据模型、功能模型和行为模型等三种模型。 除了用分析模型表示软件需求之外,还要写出准确的软件需求规格说明。模型既是软件设计的基础,也是编写软件规格说明的基础。 在分析软件需求和编写软件规格说明的过程中,软件开发者和软件用户都起着关键的、必不可少的作用。 用户与开发者之间需要通信、沟通的内容非常多,在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。因此,不仅在整个需求分析过程中应该采用行之有效的通信技术,集中精力过细工作,而且对需求分析的结果(分析模型和规格说明)必须严格审查。 尽管目前存在许多不同的结构化分析方法,但是,所有这些分析方法都遵守下述准则。 · 必须理解和表示问题的信息域,根据这条准则应该建立数据模型。 · 必须定义软件应完成的功能,这条准则要求建立功能模型。 · 必须表示作为外部事件结果的软件行为,这条准则要求建立行为模型。 · 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。 · 分析过程应该从要素信息移向实现细节。 3.2 与用户通信的技术 软件需求分析总是从两方或多方之间的通信开始。用户面临的问题需要用基于计算机的方案来解决;开发者应该对用户的需求作出反应,给用户提供帮助。这样就产生了相互通信的需求。但是,正如前面已经讲过的,从开始通信到真正相互理解的道路通常是充满坎坷的。良好的通信技术有助于加快理解的过程。 3.2.1 访谈 访谈(或称为会谈)是最早开始运用的获取用户需求的技术,也是迄今为止仍然广泛使用的主要的需求分析技术。 访谈有两种基本形式,分别是正式的和非正式的访谈。在正式的访谈中,系统分析员将提出一些事先准备好的具体问题,例如,询问客户公司销售的商品种类、雇用的销售人员数目以及信息反馈时间应该多快等。在非正式的访谈中,将提出一些可以自由回答的开放性问题,以鼓励被访问的人员表达自己的想法,例如,询问用户为什么对目前正在使用的系统感到不满意。 当需要调查大量人员的意见时,向被调查的人员分发调查表是一个十分有效的做法。 在对用户进行访谈的过程中使用情景分析技术往往非常有效。所谓情景分析就是对用户运用目标系统解决某个具体问题的方法和结果进行分析。 3.2.2 简易的应用规格说明技术 这种方法提倡用户与开发者密切合作,共同标识问题,提出解决方案的要素,商讨不同的方法并指定基本的需求。今天,简易的应用规格说明技术已经成为信息系统界使用的主流技术。 尽管存在许多不同的简易应用规格说明方法,但是它们遵循的基本准则是相同的。 · 在中立地点举行由开发者和用户双方出席的会议。 · 制定准备会议和参加会议的规则。 · 提出一个议事日程,这个日程应该足够正式以便能够涵盖所有要点,同时这个日程又应该足够非正式,以便鼓励自由思维。 · 由一个“协调人”来主持会议,他既可以是用户也可以是开发者还可以是从外面请来的人。 · 使用一种“定义机制”(例如,工作表、图表等)。 · 目标是标识问题、提出解决
文档评论(0)