如何做好软件开发过程式中的软件需求分析

来源 :职业时空 | 被引量 : 0次 | 上传用户:rockgubao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  软件开发工作是IT行业中的重头戏,软件需求分析是软件开发的出发点,为有效的需求管理提供了必要的前提,为设计起到指导性作用,同时还有助于预测销售和收益,所以软件需求分析在软件开发过程中起着非常重要的作用。
  
  一、需求分析的要求
  
  需求分析必须能够表达和理解问题的数据域和功能域。数据域应包括数据流、数据内容和数据结构。数据流式数据通过系统时的变化方式,对数据进行转换就是程序的功能或子功能,两个转换之间的数据传递确定了功能间的接口;数据内容就是数据元素,数据元素由多个数据项组成,如在学校的学生管理信息系统中,“学生”字段有多个数据项,包括学号、姓名、性别、出生日期、成绩等。数据结构是带一种或多种关系的数据元素的集合。
  需求分析必须按自顶向下、逐层分解的方式对问题进行分解和不断细化。软件的功能域和信息域都能做进一步的分解,可以是同一层次上的横向分解,也可以是多层次上的纵向分解。
  需求分析给出系统的逻辑模型和物理模型。逻辑模型给出软件要达到的功能和要处理的数据之间的关系;物理模型给出处理功能和数据结构的实际表示形式。
  
  二、需求调研
  
  在做需求时,分析人员和客户必须达到和谐的交流,融洽的沟通。通常采用以下几种调研方法:
  1.会谈、询问:围绕软件目标提出具体问题;
  2.发放调查表;
  3.收集分析客户使用的各种表格、有关工作责任、工作流程、工作规范、相关数据标准、业务标准的各种文字资料;
  4.收集同类相关产品的宣传资料、技术资料、演示程序或软件程序;
  5.情景分析:利用情景分析诱导用户能够把需求告知分析员;
  6.可视化方法:结合情景分析,利用画用户界面图、业务流程图、功能结构图、时序图等图形与客户进行讨论。
  一般分为规划阶段和业务领域分析阶段:
  在规划阶段,第一步要构建高层次的企业模型,包括:调查组织结构、建立组织关系层次图;调查企业的任务、目标、战略重点和关键成功因素并予以分类;识别每个目标和关键成功因素所需的信息;给出每个目标完成的度量标准;分析信息技术对企业业务的潜在影响;建立高层次企业模型;与企业中高层管理人员讨论,对所得信息和分析进行补充和确认。第二步对功能进行分解,具体是输出功能层次图、功能关系图、功能/组织矩阵;第三步进行实体分析,主要是输出高层实体关系图、实体类/信息需求矩阵、业务功能/实体类矩阵。第四步评估企业当前环境。第五步识别和确定预期的数据存储和业务系统,建立业务系统的结构图,确定和记录业务领域。
  在业务领域分析阶段,第一步确定业务范围、建立组织、制订计划;第二步进行数据分析、建立详细的数据模型,即详细的实体关系图;第三步业务活动分析,包括分析业务过程细节、分解业务过程、分析过程间的依赖关系、分析业务交互作用、建立业务活动模型;第四步现有系统分析,具体指操作程序分解表、数据流图、用户感兴趣的字段集;第五步业务领域模型的确认,包括完整性、正确性、长效性。
  在做需求时不仅要求分析人员要有很强的沟通能力、语言表达能力,还要有相应的调研策略。首先确定用户的软件开发目标,确定系统基本范围,然后围绕这一目标,确定要访问的部门和人员,要了解的业务,以业务为主线,搞清每个业务的每个环节的流程关系、涉及部门、输入输出项;以数据为主线,搞清数据采集方式、数据流向、数据之间的内在联系;搞清哪些业务或数据是已建系统的,它们和新系统的关系是衔接还是替换;应思考是否有新技术可以改进现有工作,用户提出的需求用现有技术能否实现。
  
  三、需求分析过程
  
  取得了需求之后,要对需求进行分析,分析过程是:
  第一,问题识别。
  解决目标系统做什么,做到什么程度。需求包括:功能、性能、环境、可靠性、安全性、保密性、用户界面、资源使用、成本、进度。同时建立需求调查分析所需的通信途径。
  第二,分析与综合。
  从数据流和数据结构出发,逐步细化所有的软件功能,找出各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求并剔除不合理部分,综合成系统解决方案,给出目标系统的详细逻辑模型。
  常用的分析方法有面向数据流的结构化分析方法SA、描绘系统数据关系的实体关系图E-R图、面向数据结构的Jackson方法JSD、面向对象分析的方法OOA(主要用UML)。对于有动态时序问题的软件可以用形式化技术,包括有穷状态机FSM的状态迁移(转换)图STD、时序图、Petfi网。
  上述每—种分析建模方法都有其优势和局限性,可以兼而有之。以不同角度分析,应该避免陷入在软件需求方法和模型中发生教条的思维模式和派系斗争。一般来说结构化方法用于中小规模软件、面向对象方法用于大型软件。
  结构化方法分析步骤是:画出数据流图;设计数据流图必须逐步求精;决定哪些部分需要计算机化和怎样计算机化;描述数据流细节,大型软件可以使用数据字典描述所有数据元素;定义处理逻辑;定义数据存储,即定义每个存储的确切内容及其表示法;定义物理资源;确定输入输出规格说明;确定硬件所需有关数值;确定软硬件接口和环境需求。
  UML方法分析步骤是:调研、识别系统需求;分析问题领域:确定系统范围和系统边界、确定系统的约束、定义活动者、确定系统的综合要求、确定系统的数据要求、建立USE CASE模型并绘制、绘制主要交互图等;建立静态结构模型:对象类图、数据库模型、包图;建立动态行为模型:顺序图、协同图、状态图、活动图;建立系统物理模型:组件图、配置图;
  第三,编制需求分析文档。
  需求分析文档便于用户、分析人员和设计人员进行理解和交流。用户通过它可在分析阶段即可初步判定目标软件能否满足其原来的期望,设计人员将它作为设计的出发点。
  第四,需求评审。
  在将需求分析文档提交给设计之前,必须进行需求评审。一般以用户、分析人员和设计人员共同参与的会议形式进行,包括以下评审标准:正确性、无歧异性、完全性、可验证性、一致性、可理解性、可修改性和可追踪性。
  
  四、需求管理
  
  需求分析过程是一个由粗到细、渐进明晰、持续完善的过程。在指导后面系统设计和编码阶段时都应当不断完善修改需求文档,因此需求管理非常重要。
  需求管理包括在工程进展过程中维持需求约定集成型和精确性的所有活动,它是CMM模型二级中的首要KPA(关键过程域)。这些活动包括:定义需求基线(需求文档的主体);评审提出的需求变更申请、评估每项变更可能的影响,从而决定是否实施变更;以一种可控的方式将需求变更融入到项目中;使当前的项目计划与需求保持一致;分析变更所产生的影响并在此基础上协商出新的约定;使每项需求都能与其对应的设计、源代码和测试用例联系起来以实现跟踪;在整个项目过程中跟踪需求状态及其变更情况。
  
  五、总结
  
  只有需求分析做好了,才对下一步的设计阶段工作真正起到指导性作用,只有对需求管理好了,才能增强软件的维护性等。
  
  (作者单位:临沂师范学院信息学院)
其他文献
大学生职业教育是指对大学生应具备的与职业有关的性格、知识、能力、品质和价值观等的培养。大学生职业教育的内容包括职业目标、职业理想、职业意识、职业品质、职业道德和职业价值取向等。    一、大学生职业教育的必要性    1.对大学生进行职业教育是社会发展的需要  改革开放以后。伴随着经济体制改革的深入,大学生分配政策也进行了调整。高等学校毕业生由国家统包统配的分配制度终于被改革的利剑击破。社会的发展
期刊
高校档案不但是学校文献信息中心,也是为教学和科研服务的教育学术性机构,现代信息技术是影响档案发展最深刻的环境因素。高密度的信息储存技术,高速度的信息传递技术,高效率、高质量的信息查询技术。在变革了人们生产、收集、组织、传递和使用知识信息的方式的同时,也使信息服务的机制、结构以及服务手段发生了巨大的变化。如何将一些先进的信息技术结合运用到图书馆的管理和服务中,用这些技术来促进日常工作,改变档案管理的
期刊
在我们步入21世纪的时刻,科学、技术和社会都发生了巨大的变化。作为高等院校的基础课程之一的高等数学在其他各个领域及学科中发挥出越来越大的作用。数学不但深入到物理、化学、生物等传统领域,而且深入到经济、金融、信息、社会等各领域中。对于大多数人而言,他们并不希望成为一个数学专业人员,他们希望将数学作为研究其他学科的工具,如何使非数学专业的人员能够很好地学好高等数学是摆在我们数学教育工作者面前的一大课题
期刊
随着科技大发展,教育教学软件日益被广泛的应用促进了教师、学生的信息素质的提高。计算机科学是一门实践性很强的科学,人们的使用水平是在使用中提高,在使用中发展的,使用的人多了,使用的时间长了,使用信息技术装备的熟练程度就会自然而然地提高,从而带动全民的信息化水平的提高,而首当其冲的是教师和学生信息素养的提高。  但是,现行的教育教学软件存在很多问题,如:缺乏先进的理论指导和实践应用检测;简单、重复、大
期刊
近几年来,我国对职业技术教育非常重视,正在大力发展职业技术教育,加快步伐为国家培养职业技术人才。现代社会,特别是现代企业的人才观,已从过去的论学历、论资排辈,改变为论能力、论实力。勤奋而富于创造性,协作而具有自立精神,有常识而精通专业的人才是现代社会所期望的人才。创造是发展的灵魂。随着时代的发展,社会对自主性、创造性的人才需要日显迫切。这对我们职业技术教育工作者提出了更高的要求:如何才能让我们培养
期刊
随着网络信息技术的快速发展,资源“开放”与“共享”的全新理念使得各行业、领域的发展突飞猛进。特别是信息技术在教育教学中的应用,突破了时间和空间的限制,改变了传统的教育模式和思想,使教与学的定义有了新的内涵。开放教育资源作为促进各种层次教育科学、快速发展的新途径得到了广泛的认同和肯定。对于肩负着提高劳动力素质、培养高技能人才的职业技术教育,要真正实现面向人人的教育,其远程教育化必将成为一个快速发展的
期刊
发达国家通常将矿产资源开发分为三类,一是石油(petroleum)的开采,二是固体矿产的开采(mining),三是砂石土矿产资源的开采(quarry),并有三套相应的管理制度。我国《矿产勘查开采分类目录》将矿产勘查开采分为三类:可按申请在先方式出让探矿权类矿产(第一类);可按招标拍卖挂牌方式出让探矿权类矿产(第二类);可按招标拍卖挂牌方式出让采矿权类矿产(第三类)。显然,三大类型的矿产资源的自然属
期刊
现代教育观认为,体育教学是一种社会活动,是教师通过一定的教学内容、教学方法、手段、体育场地、设施等客体,使全体学生的思想品德、认知能力、组织能力、审美能力和身心,都得到全面健康协调的发展,激发学生树立健康第一的思想和良好的锻炼身体的习惯和能力。体育教学中教师与学生、学生与学生在教学内容、手段、方法、技术、技能、学生的认知、情感等诸方面,存在着较为复杂的多元关系。在体育教学过程中,要使这些关系产生良
期刊
目前,我国林业的变革正处于一个重要的转折时期,经历着以木材生产为主向生态建设为主的转变。深入分析研究河北省林业人力资源现状、存在问题,提出科学合理的人力资源开发建议和对策,对加快全省林业建设步伐,实现“构筑京津绿色屏障,再造河北秀美山川”的总体目标具有重要意义。    一、河北省林业人力资源构成现状    从工作性质角度来看,林业行业人力资源大致分布于三个岗位,即林业行政管理岗位、林业专业技术岗位
期刊
2004年教育部颁布了《大学英语课程教学要求》(以下简称《课程要求》),《课程要求》的颁布和实施,对大学英语教师的能力提出了新的要求。本文试图依据《课程要求》,从英语教师能力的内涵出发,对构建现代大学英语教师的能力结构进行探讨,以期为大学英语教师的专业发展提出一个相应的基本框架。    一、对《课程要求》的认识    《课程要求》主要突出以下几个方面:(1)培养目标调整。《课程要求》明确指出:“大
期刊