资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件系统需求调研 摘要摘要: 本文是在管理信息系统需求调研实践和学习中的一些经验总结, 有些是自己的体会, 有 些来自专家的书本或文章,希望与大家分享,并起到一个抛砖引玉的作用,如有不妥之处欢 迎指正。 关键字:需求、调研 一、软件需求的定义一、软件需求的定义 IEEE 软件工程标准词汇表(1997 年)中定义的需求为: (1) 用户解决问题或达到目标所需的条件或能力; (2) 系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件 或能力; (3) 一种反映上述条件和能力的文档说明。 二、需求分析的几个方面二、需求分析的几个方面 需求分析可分为问题识别、分析与综合、编制需求分析文档、需求评审等四个阶段,包 括以下几个方面:确定软件所期望的用户类;获取每个用户的需求;了解实际用户任务和目 标以及这些任务所支持的业务需求;分析员与用户的信息以区别用户任务需求、功能需求、 业务规则、质量属性、建议解决方法和附加信息;将系统级的需求分为几个子系统,并将需 求中的一部分分配给软件组件;了解相关质量属性的重要性;讨论得出实施优先级;将所收 集的用户需求编写成需求规格说明和模型;评审需求规格说明,确保与用户达成共识。 软件需求的各组成部分如下图所示: 三、需求文档规范三、需求文档规范 A、三种编写方法 1、 用好的结构化和自然语言编写文本型文档; 2、 建立图形化模型,这些模型可以描绘转换过程、系统状态、和它们之间的变化、 数据关系、逻辑流或对象类和他们的关系; 3、 编写形式化规格说明,这可以通过使用数学上精确的形式化逻辑语言来定义需求。 多种编写方法可在同一个文档使用,根据需要选择,或互为补充,以能够把需求说明白 为目的。 B、应有成果 1、 各业务手工办理流程文字说明; 2、 各业务手工办理流程图; 3、 各业务手工办理各环节输入输出表单、数据来源; 4、 目标软件系统功能划分(示意图及文字说明); 5、 目标软件系统中各业务办理流程文字说明; 6、 目标软件系统中各业务办理流程图(模型); 7、 目标软件系统中各业务办理各环节数据、数据采集方式、数据间的内在联系分 析。 8、 目标软件系统用户界面图、各式系统逻辑模型图及说明 C、文档工具推荐 1、 调研结果需求分析说明书格式参照开发文档模板; 2、 单位组织结构图、功能模块分解图用 VISIO 绘制,或直接用 WORD 中的画图工 具; 3、 业务流程图用 VISIO 中的 FLOWCHART 模板绘制; 4、 系统逻辑模型使用 ROSE 绘制活用 VISIO 中的 UML 模板绘制; 5、 软件用户界面用 VISIO 中的 WIN95 USER INTERFACE 模板绘制; 6、 数据物理模型用 POWERDESINER 绘制; D、需求文档编写原则 1、 句子简短完整,具有正确的语法、拼写和标点; 2、 使用的术语与词汇表中所定义的一致; 3、 需求陈述应该有一致的样式,例如“系统必须.”或者“用户必须.”,并紧跟一个行 为动作和可观察的结果。; 4、 避免使用模糊、主观的术语,减少不确定性,如“界面友好、操作方便”; 5、 避免使用比较性词语,如“提高”,应定量说明提高程度。 四、需求分析的任务与过程四、需求分析的任务与过程 需求分析的任务是借助于当前系统的物理模型 (待开发系统的系统元素) 导出目标系统 的逻辑模型(只描述系统要完成的功能和要处理的数据) ,解决目标系统“做什么”的问题, 所要做的工作是深入描述软件的功能和性能, 确定软件设计的限制和软件同其他系统元素的接口细节, 定义软件的其他有效性需求, 通过逐步细化对软件的要求描述软件要处理的数据, 并给软件开发提供一种可以转化为数据设计、 结构设计和过程设计的数据与功能表示。 必须 全面理解用户的各项要求,但不能全盘接受,只能接受合理的要求;对其中模糊的要求要进 一步澄清,然后决定是否采纳;对于无法实现的要求要向用户作充分的解释。最后将软件的 需求准确地表达出来,形成软件需求说明书 SRS。其实现步骤如图: (1) 获得当前系统的物理模型:首先分析、理解当前系统是如何运行的,了解当前系统 的组织机构、输入输出、资源利用情况和日常数据处理过程,并用一个具体的模型来反映自 己对当前系统的理解。此步骤也可以称为“业务建模”,其主要任务是对用户的组织机构或企 业进行评估理解他们的需要及未来系统要解决的问题,然后建立一个业务 USECASE 模型 和业务对象模型。当然如果系统相对简单,也没必要大动干戈区进行业务建模,只要做一些 简单的业务分析即可。 (2) 抽象出当前系统的逻辑模型:在理解当前系统“怎样做”的基础上,取出非本质因素, 抽取出“做什么”的本质。 (3) 建立目标系统的逻辑模型:明确目标系统要“做什么” (4) 对逻辑模型的补充,如用户界面、启动和结束、出错处理、系统输入输出、系统性 能、其他限制等等。 需求分析各过程如下: (1) 问题识别:解决目标系统做什么,做到什么程度。需求包括:功能、性能、环 境、可靠性、安全性、保密性、用户界面、资源使用、成本、进度。同时建立需求调查分析 所需的通信途径。 (2) 分析与综合:从数据流和数据结构出发,逐步细化所有的软件功能,找出各元 素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求并剔除不合理部分, 综合成系统解决方案, 给出目标系统的详细逻辑模型。 常用的分析方法有面向数据流的结构 化分析方法 SA(数据流图 DFD、数据词典 DD、加工逻辑说明) 、描绘系统数据关系的实 体关系图ERD、 面向数据结构的Jackson方法JSD、 面向对象分析方法OOA (主要用UML) 、对于有动态时序问题的软件可以用形式化技术,包括有穷状态机 FSM 的状态迁移(转换) 图 STD、时序图、Petri 网或 Z。每一种分析建模方法都有其优势和局限性,可以兼而有之 以不同角度分析,应该避免陷入在软件需求方法和模型中发生教条的思维模式和派系斗争, 一般来说结构化方法用于中小规模软件、面向对象方法用于大型软件。 (3) 编制需求分析文档 (4) 需求评审 五、需求分析的要求五、需求分析的要求 1、 必须能够表达和理解问题的数据域和功能域:系统的目的都是为了解决数据处理 问题,就是将一种形式的数据转换(输入、处理、输出)为另一种形式的数据。数据域应包 括数据流、数据内容和数据结构。数据流式数据通过系统时的变化方式。对数据进行转换就 是程序的功能或子功能, 两个转换之间的数据传递确定了功能间的接口。 数据内容就是数据 项,如人的数据项包括姓名、性别、出生日期等等。数据结构即各种数据项的逻辑组织,如 是表格结构还是树形结构、数据项间的相互关系 2、 必须按自顶向下、逐层分解的方式对问题进行分解和不断细化:软件的功能域和 信息与都能做进一步的分解, 可以是同一层次上的横向分解, 也可以是多层次上的纵向分解。 3、 给出系统的逻辑模型和物理模型:逻辑模型给出软件要达到的功能和要处理的数 据之间的关系;物理模型给出处理功能和数据结构的实际表示形式 六、需求调研方法六、需求调研方法 1、 会谈、询问:围绕软件目标提出具体问题; 2、 调查表:经过仔细考虑的书面回答可能比会谈中的回答更加准确; 3、 收集分析客户使用的各种表格、有关工作责任、工作流程、工作规范、相关数据 标准、业务标准的各种文字资料; 4、 收集同类相关产品的宣传资料、技术资料、演示程序或软件程序; 5、 情景分析:利用情景分析诱导用户能够把它们的需求告知分析员(可以描述当前 一项业务怎么做、也可以描述设想的系统中此项业务怎么做) ; 6、 可视化方法:结和情景分析,利用画用户界面图、业务流程图、功能结构图、时 序图等图形与客户进行讨论; 七、调研基本策略 七、调研基本策略 1、 首先确定用户的软件开发目标,确定系统基本范围,然后围绕这一目标,确定要访问的部门和人员,要了解的业务,在基本范围内展开调研; 2、 以部门职责为基础搞清各种现有业务、要填写的表簿册文档报表等,其数据来源 及去向; 3、 以业务为主线,搞清每个业务的每个环节的流程关系、涉及部门、输入输出项; 4、 以数据为主线,搞清数据采集方式、数据流向、数据之间的内在联系; 5、 搞清哪些业务或数据是已建系统的,它们和新系统的关系是衔接还是替换; 6、 应思考是否有新技术可以改进现有工作,用户提出的需求用现有技术能否实现。 八、结构化方法分析步骤八、结构化方法分析步骤 1、 画出数据流图。设计数据流图必须逐步求精; 2、 决定哪些部分需要计算机化和怎样计算机化(取决于用户投资限制和自身技术限 制) ; 3、 描述数据流细节,大型软件可以使用数据字典描述所有数据元素; 4、 定义处理逻辑(加工逻辑:每个加工处理做什么) ; 5、 定义数据存储,即定义每个存储的确切内容及其表示法(格式) ; 6、 定义物理资源:如是文件需指定:文件名、组织结构(排序、索引等) 、存储介质 和记录;如是数据库需指定每个表的相关信息; 7、 确定输入输出规格说明,如输入内容、输入屏幕、打印输出格式、输出长度等等; 8、 确定硬件所需有关数值,如输入量、打印频率、CPU、记录大小、数据量大小、 文件大小等等; 9、 确定软硬件接口和环境需求。 九、九、UML 方法分析步骤方法分析步骤 一般的应用系统又是各组成部分:问题论域、人机界面、数据管理、任务管理,在 OOA 阶段重点对问题论域进行分析,对人机界面、数据管理、任务管理等问题,OOA 一般较少 或没有分析,而是留待 OOD 阶段解决。 1、 调研、识别系统需求; 2、 分析问题领域:主要任务是充分理解领域问题和项目投资者及用户的需求,对需求进行抽象,提出高层次的解决方案) ; (1) 确定系统范围和系统边界; (2) 确定系统的约束(环境和条件) ; (3) 定义活动者; (4) 确定系统的综合要求(功能、性能、运行) ; (5) 确定系统的数据要求(名称、范围、类型、数量、特点) ; (6) 建立 USE CASE 模型、绘制 USE CASE 图; (7) 绘制主要交互图; 3、 建立静态结构模型(对象类图、数据库模型、包图) ; 4、 建立动态行为模型(顺序图、协同图、状态图、活动图) ; 5、 建立系统物理模型(组件图、配置图) ; 十、企业级信息系统调研分析步骤十、企业级信息系统调研分析步骤 企业级信息系统即着眼于整个企业的信息系统, 是一个覆盖企业所有业务领域、 适应企 业不断发展的综合信息系统, 它是一个统一的整体数据具有一致性, 提高了系统的综合利用 效率。 A、规划阶段 1、 构建高层次的企业模型 (1) 调查组织结构、建立组织关系层次图; (2) 调查企业的任务、目标、战略重点和关键成功因素并予以分类; (3) 识别每个目标和关键成功因素所需的信息; (4) 给出每个目标完成的度量标准; (5) 分析信息技术对企业业务的潜在影响; (6) 建立高层次企业模型(描述业务处理的主题域及其关系、建立企业初始功能层 次图) ; (7) 与企业中高层管理人员讨论,对所得信息和分析进行补充和确认; 2、 对功能进行分解(输出:功能层次图、功能关系图、功能组织矩阵) ; 3、 进行实体分析(输出:高层实体关系图、实体类信息需求矩阵、业务功能实 体类矩阵) ; 4、 评估企业当前环境(现有系统和数据存储的清单、信息结构的范围、信息需求列 表、组织、技术环境) ; 5、 识别和确定预期的数据存储和业务系统,建立业务系统的结构图,确定和记录业 务领域; B、业务领域分析阶段 1、 确定业务范围、建立组织、制订计划; 2、 进行数据分析、建立详细的数据模型(详细实体关系图) ; 3、 业务活动分析(分析业务过程细节、分解业务过程、分析过程间的依赖关系、分 析业务交互作用、建立业务活动模型) ; 4、 现有系统分析(操作程序分解表、数据流图、用户视图:用户感兴趣的字段集) ; 5、
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号