- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件体系结构在软件开发过程中的作用
为什么要用软件体系结构的思想来开发软件产品?
软件从最初的程序到今天的程序加文档,看起来并没有什么变化。然而
今天的软件要实现的功能已与昨天不可同日而语,对软件各方面功能和性能的要求决定了软件空前的复杂。软件的开发已不是简单的写程序,在软件开发的整个生命周期里,从需求分析到设计到编码到测试到维护,编码仅占一小部分。软件开发的侧重点从编码已经转移到需求分析和软件总体架构设计
许多项目都是在回顾时,才发现问题在结构上.因结构的局限性,付出太多的代价. 在体系设计上付出一天努力解决的问题,在以后阶段可能要多付出几天到十几天也不一定能解决。由于当今的软件产品需求复杂、内容丰富、变更频繁。很难想像在一个没有规范,没有构造思想指导下软件开发会取得什么样的“成果”。
软件体系结构在软件开发过程中的作用
规范软件开发的基本架构。
体系结构一般说来与需求是密切相关的.明确的需求可以制定明确的软件规格,越明确的规格设计出来的软件架构越清晰.需求的变更也是必须要考虑,有明确的变更趋势也可以更早的在设计中体现出来。
在定制软件规格的阶段,要考虑一个问题,就是一些核心的技术,指的是这个项目中比较重要的关键的技术,应验证这些技术是否可行,如果稳定可靠才能采用,否则只能另寻它路.一些难关也是要考虑的.这样制定的规格才能符合实际.这些工作应作为结构设计上的重要参考.
今天几乎所有的软件开发都不可能从头做起,需要借鉴前人或组织中其他项目所拥有的经验。一个良好的软件体系结构可以给我们很多的帮助和参考。良好的体系结构可以规范软件开发过程,少走弯路,事半功倍。
2.便于开发人员与用户的沟通。
软件的高度复杂也决定了软件开发需要充分的设计,需要研究开发模式,研究体系结构,从宏观和更抽象的层次把握软件的开发,并把这整个过程付诸于文档的形式记录下来,在软件开发人员与系统设计人员、用户以及其他有关人员之间进行沟通交流,以达成共同的理解。
如果有明确的需求和规格,那应该进行详细的结构设计,从用例,到类图,到关键部分的序列图,活动图等,越细越好.多多的交流,尽量让更多的人了解项目的需求与现实环境,为设计提出建议.结构设计注重体系的灵活性.较多的考虑各种变更的可能性.这是最关键的阶段. 但这通常是理想状态,一般来说客户不会给出太明确的需求。应用软件体系结构的思想和方法可以比较好的划分范围、确定时间、规划成本、保证质量。
3. 模块化、层次化设计,有利于减少返工,提高效率。
整个项目一般受到多种限制,尤其明显的是计划,面对这些问题.在设计架构上要注意模块的划分,模块越独立越好.尽量把有明确需求的应用划分为独立的模块,模块与模块之间减少交集,一旦某个模块出现问题也不至于牵一发而动全身。
层次化设计就是一层一层分割,一目了然的处理方式。层次体系结构利用分层的处理方式来处理复杂的的功能,层次系统由于是上层子系统使用下层子系统的功能,而下层子系统不能够使用上层子系统的功能,下层每个程序接口执行当前的一个简单的功能,而上层通过调用不同的下层子程序,并按不同的顺序来执行这些下层程序,有效的杜绝了不同层次之间不该有的交集,减少了错误的发生,也便于检错。
4. 便于系统开发前、后期的筹备与服务。
现在的软件产品已经摆脱了小规模、作坊式的生产方式。对于软件公司来说,利用体系结构的思想开发产品不仅可以规范流程、节省时间而且还能留下大量的开发文档、产品类型框架、软件开发标准流程等资料。为今后的售前咨询和售后服务提供参考和依据。
说到软件体系结构就不能不提及非功能性需求。非功能性需求集中了各种约束,其中“人”的因素至关重要。可以说人是整个软件产品计划中的重中之重。一个IT项目的成败固然与良好的体系结构有密接的关系,但作为体系结构中的一环,应该投入大量的时间和精力去了解客户真正想要什么样的产品,开发人员是否充分与客户进行了有效的沟通,特别是一些隐性需求,其中会包含许多利益的成份。并非看上去最合理的IT架构就是最符要求的设计。人是一切项目成功的推手也是一切项目失败的导演,更是一切项目得以为继的绊脚石。
作为一个有着17年工作经验的在职人员从来没有参加过任何项目,实在是一种莫大的遗憾或者说是“悲哀”。但我亲眼见识过我单位的IT项目,并且也在某种程度上是一个使用者。就我的发现来说我单位的IT项目完全处于一种“人治”的阶段。没有从IT项目???理的角度去思考过问题,更谈不上用体系结构的思想去构建项目,基本上处于想到哪儿做到哪儿的地步。前期方案的制定、技术流派的选择、后期服务等相关方面均没有考虑。
文档评论(0)