软件设计方案包括哪些方面(软件设计必备的6大方面)
软件设计是从用户故事或者软件需求规格说明书或者软件需求文档出发,根据需求阶段确定的需求功能定义,设计软件系统的整体结构、划分功能模块、确定每个模块之间的数据交换、信息流通、页面交互以及后期的数据收集、整合、展现等;形成软件具体设计方案。
软件设计是把许多概念的事物和问题进行抽象化,并抽象根它们不同的层次和角度;将问题或事物分解并模块化,使得解决问题变得容易,分解越细模块功能越小也就越有利实现。
一、设计阶段
1、概要设计——
结构设计:定义,软件系统各主要部件之间的关系
接口设计:软件内部与外部的数据交换或软件和操作系统间,以及软件和人之间如何通信。
全局数据结构设计:将模型转换成数据结构的定义。
过程设计:系统结构部件转成软件的过程描述
主要是关注如何将需求转换成数据和软件框架。
2、详细设计
关注于将框架逐步求精细化为具体的数据结构和软件的算法表达。发生中的设计行为、数据、算法和程序设计都需要由现代程序所需的界面设计的行为结合。
二、设计原则
1、设计对于分析模型应该是可跟踪的——软件的模块可能被映射到多个需求上。
2、设计结构应尽可能模拟现实
3、设计应该表现出一致性
4、不要把设计当成编写代码
5、在创建设计时就应该能够评估质量
6、评审设计以减少语义性错误
7、设计应模块化,将软件逻辑划分为元素或子系统,并包含数据、体系结构、接口和构件的清晰表示。
分销系统后台模块设计方案
2、架构设计的步骤
(1)需求分析
(2)领域建模
(3)确定关键需求
(4)概念架构设计
(5)细化架构设计
(6)架构验证
需求分析。有全面认识需求并权衡不同需求之间相互影响的情况下,设计出的架构很可能有问题。
领域建模。领域建模的目的是:透过问题领域的重重现象,捕捉其背后最为稳固的领域概念,以及这些概念之间的关系。在项目前期,所建立的领域模型将为所有团队成员之间、团队成员和客户之间的交流提供共同认可的语言核心。随着项目的进展,领域模型不断被精化,最终成为整个软件的问题领域层,该层决定了软件系统能力的范围。
概念架构的设计,软件系统的规模越大、复杂程度越高,进行概念架构设计的好处就越明显。
确定对架构关键的需求。这不仅要求对功能需求(如用例)进行筛选,还要对非功能需求进行综合权衡,最终确定对软件架构起关键作用的需求子集。
概念架构设计。概念架构的设计,必须同时重视关键功能和关键质量。业界流行的一种错误观点是“概念架构=理想化架构”,不考虑任何非功能需求,也不考虑任何具体技术。
概念架构要明确:1)如何划分顶级子系统;
2)架构风格选型;
3)开发技术选型;
4)集成技术选型;
5)二次开发技术选型。
在接下来,全面展开规格级的架构设计工作,设计出能实际指导团队并行开发的细化架构。
细化架构设计。一般而言,可以分别从逻辑架构、开发架构、运行架构、物理架构、数据架构等不同架构视图进行设计。
架构验证。对后续工作产生重大影响返工代价很高的任何工作都应该进行验证,软件需求如此,架构设计方案也是如此。至于验证架构的手段,对软件项目而言,往往需要开发出架构原型,并对原型进行测试和评审来达到;而对软件产品而言,可以开发一个框架来贯彻架构设计方案,再通过在框架之上开发特定的垂直原型来验证特定的功能或质量属性。
因此,从架构验证工作得到的不应该仅仅是“软件架构是否有效”的回答,还必须有可实际运行的程序:体现软件架构的垂直抛弃原型或垂直演进原型,或者是更利于重用的框架。这些成果为后续的开发提供了实在的支持。
从最初的概念设计到落地实施,见证了整个软件方案设计,其中就涉及到一个重点,那就是需求开发,整个过程需要管理与把控;这就形成了一个整体的需求开发与管理活动。软件方案设计,就是为了使用户、开发人员更能清晰的认识,从软件的概念期到实际软件研发后的落地整个流程的了解。
项目管理过程
吾尊时尚自媒体所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈!本站将在三十个工作日内改正。O_o