浅谈软件设计的需求分析与体系结构.docVIP

浅谈软件设计的需求分析与体系结构.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈软件设计的需求分析与体系结构.doc

浅谈软件设计的需求分析与体系结构   摘 要:为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发获得成功的前提和关键。本文从软件设计的需求分析和需求分析对系统体系结构设计的影响两方面,浅谈了软件开发人员怎样才能全面、准确、具体地了解用户需求,以确定“目标系统必须做什么”的问题以及根据需求的变化,设计合适的体系结构,达到增强软件生命力的目的。   关键词:软件;抽取;需求   信息化产业经过几十年的发展和建设,正逐步从最初的用于解决局部问题的小型或简单软件,向复杂、成体系、网络化的企业级系统扩展。软件系统的构成不再只是模块,越来越多的是功能构件和子系统,使软件系统成为“系统的系统”,或叫复杂系统。如何构建可扩充、可裁剪、可生长的满足企业应用的大型软件系统,已成为软件业研究的重要课题之一。其中,复杂系统的结构设计是人们最关注的核心问题。   1 软件设计的需求分析   软件通常是因需求才进行设计开发,由用户方从解决业务问题的角度提出,均以专业的术语或事务性的语言描述。高质量、清晰准确的需求描述,可有效约束软件系统的结构设计和功能定位。边缘清晰、描述规范的要求,会在一定程度上降低软件设计和开发的成本,提高软件质量和开发效率。但是,需求的成长和变化,往往伴随软件的整个开发过程,这种现状使得软件设计的难度不断增加,程序开发也从传统的开发方法向敏捷编程转化。   用户基于一定的业务需要提出需求,通常不能直接指导软件的开发,只有经过软件设计者的分析提取,通过规范的技术语言描述,形成面向软件开发者的需求规格说明,才能指导软件的研制。抽取需求是软件设计师必须完成的工作,传统的需求抽取方法一般包括面谈、问卷、观察和业务文档研究等,这些方法简单、成本低,对业务逻辑清晰、封闭性较好的需求比较适合,而对复杂且很难封闭的需求,采用传统的抽取方法,则风险很大。在软件开发领域,需求抽取方法有原型法、联合应用开发法和快速应用开发法三种。   1.1 原型法   通过构造软件演示系统,即根据理解的需求,建立一个快速而粗糙的工作模型,由可视化方法获得用户的反馈。   1.2 联合应用开发法   是将领导、用户、开发人员、系统设计师等召集起来通过会议的方式,集中所有人的智慧,对要求进行分析抽取。   1.3 快速应用开发法   就是集前两种方法,加上最优方案的系统研制而进行的一种需求抽取方法,是一种快速软件开发方法。   以上是目前常被采用的需要抽取方法,但对于系统分析员或系统设计师来说,无论采用哪种方法,都必须面临提取关键需求、判断需求增长点和发展方向的问题。   2 需求分析对系统体系结构设计的影响   2.1 抽取影响软件结构的需求,是需求分析的核心   关键需求是软件结构设计的核心,而提取关键需求是软件结构设计师必备的技能。以一个数据录入软件为例,一般需要提供一个交互式界面,由用户键入所需数据,提交存储到文件或数据库里即可。但用户要求录入的数据项,应能随着业务的不断变化而进行增加或删减,可多人同时进行录入。同时,要求对存储的数据按照需要的方式进行查询调阅,甚至进行一定的复合计算或评估分析等。对于这样的需求,录入项不断变化、多人同时操作、存储要求等都是核心元素,这些元素将直接影响软件结构的设计。软件设计应考虑分布式并发机制和大量的数据存储访问要求。这些需求均与功能无关,但会影响软件结构的设计。数据库访问相关的软件,一般采用传统的C/S结构。当用户增加到一定量时,该结构会导致数据库服务器负载加重,甚至系统崩溃。为了适应这种变化,应采用多层结构,将用户操作与数据存储进行分离。采用多层结构,不仅可以缓解数据库服务访问压力,还能降低数据库变化给用户操作带来的影响。录入项的变化需求,潜在地存在着数据项扩充、界面调整等功能要求。一般情况下,完全适应这种变化的软件很难设计。为此,可把录入项作为配置要素,界面设计和数据存储项根据配置项进行定制,应用服务层要在接口设计上考虑数据项的扩充能力。具有这类需求的软件,一般由界面构造工具、录入界面、应用服务软件和数据库服务器构成。   在抽取关键需求的过程中,抽取与业务无关的需求非常重要。“与业务无关”指支撑业务功能运行且与业务处理逻辑无关的功能。传输服务是典型的与业务无关的功能,在任意基于网络运行的软件中,不可避免的需要信息传输功能的支持。抽取与业务无关的需求,需要分析人员有丰富的软件设计经验,这种公共需求的抽取,有利于开发过程中软件的重用,可降低开发成本。   2.2 关注需求中与规模发展相关的因素   软件设计应用规模的发展速度,是软件结构设计时应考虑的主要需求之一。规模是考验软件支撑能力的主要因素。规模的发展可能是用户量的膨胀,也可能是数据量

文档评论(0)

lmother_lt + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档