软件需求分析方法工具应用

高章舜_2020首次发布:2020年12月28日 11:38浏览量:2659
 用鼠标选中 生字  后,就能自动读出发音 

需求分析是提炼、分析和仔细审查已经获取到的需求的过程。需求分析的目的是确保所有的项目干系人都理解需求的含义并找出其中的错误、遗漏或其它不足的地方。需求分析的关键在于对问题域的研究与理解。为了便于理解问题域,现代软件工程所推荐的需求分析方法是对问题域进行抽象,将其分解为若干个基本元素,然后对元素之间的关系进行建模。常见的需求分析方法包括面向对象的分析方法、面向问题域的分析方法、结构化分析方法等。

而采用恰当的方法和工具,会使需求分析工作事半功倍。

请围绕"软件需求分析方法和工具的应用"论题,依次从以下三个方面进行论述。

1. 简要叙述你参与管理和开发的软件系统 开发项目以及你在其中所承担的主要工作。

2. 概要论述需求分析工作中,采用了哪些需求分析方法和工具?为什么?

3. 结合你具体参与管理和开发的实际项目,说明采用的需求分析方法和工具的实际效果。你认为在哪些方面应该进一步改进?并指出改进的思路。


【论文正文】

在知识、技能决定一个企业竞争力的当下,基于网络技术的“企业人事信息系统”是现代企业的标配。本文论述人事信息系统的建设目标是帮助某央企提升其人力资源管理的水平,其内容包括:从招聘面试到离职退休的全过程,涉及的主要业务活动包括面试、报到、培训、考核、升职、离职或其他的人事变动,也包括电子化考勤、工资性收入的计算与分发、使用其他公司资源的有关记录(如宿舍、保险、证件办理等等)。此外,本系统也涉及到企业在全国各地的人事信息管理、企业的组织架构的设置、级别与职务管理、人力申请直至人力需求报表,从而形成一个对企业真正有用的人事信息管理应用系统。

作为项目的技术组组长,我担任了项目的系统分析、系统设计与数据库管理等大量技术工作。

人事信息管理系统是一个有着广泛应用面的实用性系统,但是我国各个企业有着自己独特的组织架构、企业文化、行业特点等个性化需求;在开发这类系统时,系统需求分析是极为重要的一环。在整个分析过程中,我们都采用了面向对象的分析方法,这是因为我们在近几年的实践中已坚信这种方法能够更加有效地表达和描述现实世界。软件要具有适用性和扩展性,就必须更接近于现实世界本身的发展规律。

以一个实际例子“引进人才评估子系统”看,按我们过去的做法,先会要求提供给我们一份相关的引进人才评估表,然后依葫芦画瓢地设计相应的表单与界面。在短期来说,这样做是简便而实用的,但并不能够符合现实世界的长远目标,因为这套设计方法不具有扩展性:任何一份评估表的结构都会有可能发生许多改变。而采用面向对象的方法,可以从中提取出表类型、表结构、评分方法以及能考虑继承等各方面的要素,这样既可以保证软件的通用性和可配置性,又能适应未来业务的可能变更,开发的系统不仅可维护,还具有十分灵活的适应性。

1、好的方法和工具,可以有效推进需求分析工作,并能保证项目的及时交付

在工具的选择过程中,我们选择了Rational系列,包括Rational Rose、RUP、SoDA等,其原因是:基于我们通过对本软件系统需求的充分理解,该软件系统的需求分析工作要正确地回答如下的几个关键性问题:

(1)用户的需求是否已详尽地被考虑到了?

(2)用户能理解或明白我们所描述的内容吗?

(3)分析是否会和设计相脱节?

(4)程序员能明白我们的分析与设计要求吗?等等。

以下对上述几个问题逐一简要地加以说明:

(1)详尽地获取用户的需求。

用户的需求可分为显式的需求与隐性的需求,用户往往只顾及到当前的与明显的需求。要全面理解需求,不仅仅只是依靠有效的用户谈话和调查,因为我们所面对的用户需求往往会有些片面的,而采用基于UML 的Rational Rose提供的用例,以及多种图的联合使用,可以使我们发现其中的遗漏。

(2)使用户能充分地理解我们的表示方法,能够真正明白我们描述的内容。

软件需求分析规格说明书通常会是冗长而枯燥的,一般的用户不容易深入理解,这不利于沟通。UML是图形化的需求分析工具,支持面向对象及语言的Rational Rose画出的图表更直观,可以更好地和用户交流,让用户了解系统的运作方式甚至细节的操作。

(3)使分析和设计两个阶段互相联系与贯通。

我们在以前的多项工作中出现过“系统分析与设计相互脱节”。为了避免这类现象,我们选择了面向对象的方法及Rational Rose。我们不仅要向用户描述需求,而且包括解决方法,解决方法当然应包括设计(程序)、数据库与系统配置。我们当然不希望用户得到的是一个与需求规格说明不相同的软件,也不可能要求程序员完成一个不可胜任的任务。

而分析与设计的脱节,还不利于设计现格说明的评估,因为分析往往会脱离现实,导致缺乏评估的依据。

因为设计缺陷也可能导致分析需要重来,就会造成巨大的浪费与损失。而一个好的工具可以使分析与设计更紧密地连结起来,甚至于—一对应。

面向对象的分析方法使对象之间相对而言有独立性,减少了任何影响到全局的改动,能避免因需求变化而导致全盘皆动的被动局面。

(4)使程序员明白我们的设计。

一个好的设计应该让程序员感到清晰明白,更少疑问。一个疑问很多的设计加上沟通不畅,交付的绝对是用户所不需要的软件。所以设计规格说明书务必清楚、形象与明确,当然Rational Rose具有足够的图形与其他形式,能使程序员更加明确,甚至能细微到每一个语句(事实上如果使用VB,程序架构都有可能直接生成了)。

(5)选择UML可能会有更多的理由。

比如用户文档的编写、数据库设计,我们都需要做到有延续性,有自动化支持和具有质量上的保证。

所以,我们应用了以上的方法和工具。

2、面向业务、满足需求,逐一解决具体问题。

在分析中,面对考勤班次的问题时,由于过去一直使用纸卡方式考勤,使用户对班次形成了固定的概念,而现在的许多考勤软件也采用多次刷卡的方法来形成一天的记录。经过面向对象的分析可以发现,事实上每天的上班记录是由多个时段所形成的,时段的多少在各个公司,各个工种与部门都不尽相同,每个时段可能有不同的属性,时段与时段组合可形成为班次,这更适合于现实的情况,使之能更加灵活与更有扩展性。其实,在天与天之间也都有相互之间的关系。在这一点上,我们又发现必须在考勤与薪金工资中加入与MRP中相似的期段(Periods)的基本概念,比如可以称之为考勤期段,允许为用户更加方便地设置考勤期段,可能使之不一定与自然年月日相同等等。

Rational Rose使我们更方便地把上面的想法在类上去实现,更进一步地设计好我们的高效率的数据库。

当然,使用单一的一个工具去完成一个中大型的应用系统的需求分析,是不可能成功的。因为社会在发展,用户的需求也在改变,如何把握住用户的需求是需要时间的,面向对象的方法有时也会忽略外在的与表层的要求,不仅仅是要获得关键的需求,其他更多的需求往往要等到用户在使用后才知道,然而等到用户使用是不现实的,作为原型开发模型中的原型也是收集用户需求,描述与解释需求的一类相当有效的方法与工具。

3、心得体会

在我们的开发过程中,为了更好地让用户了解我们的系统和我们的设计方案,让用户在见面会上更有方向性与针对性,我们首先用Access开发出原型,让用户先试用。这样,我们在真正的分析与设计时就能更加符合用户的要求。

总之,软件需求分析方法和工具的使用,对我们软件开发过程影响是很深远的,选用的高效能的正确的方法与工具,可以使我们的软件更加正确地反映现实需求,更加具有可用性、可扩展性和可维护性;降低了软件项目的风险。

需要论文批改和辅导?如果您有需求,请发邮件到邮箱:gaozhsh2007@sina.com


最新修改时间:2021年3月27日 19:04
前一篇:

后一篇:

您已浏览完毕。

高章舜,软考技术支持专家、中文“智能文”发明者、中文智能化推进者。其EMAIL是:gaozhsh2007@sina.com

高章舜主持开发的中文智能编辑系统,呈现了中文“智能体”的优美。为了发扬光大中文的优秀传统,弘扬文化自信,著作人决定第一版开源,向全社会开放本版本的使用权。如果您需要更清晰、更优美、更专业、手写体更丰富的文章格式,甚至还需要定制字体和文章格式的话,请按上一段里的EMAIL给高章舜老师发邮件。


登录后回复

共有0条评论


copy right www.zhutu.net 回首页