如何设计软件系统结构,设计软件体系结构的过程

1 , 设计软件体系结构的过程Architecture-based Software Development ModelABSD模型把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现、演化等6个子过程软件体系结构要到大二以后在开,最开始主要是学习一些语言,主要是从c语言开始,之后的还有c++,java,jsp,c#等,语言学习完了,还有软件工程,软件测试等科目 , 有一定的难度,相信自己的努力!
2 , 软件设计怎么学软件的设计概念应遵循以下几个方面:一、抽象: 我们必须把许多事物和问题抽象起来,并且抽象它们不同的层次和角度 。建议用数学语言来抽象事务和问题,因为数学是最好的抽象语言 , 并且它的本质就是抽象 。二、模块化:将复杂的问题分解成可以管理的片断会更容易 。将问题或事物分解并模块化这使得解决问题变得容易,分解的越细模块数量也就越多,它的副作用就是使得设计者考虑更多的模块之间耦合度的情况 。软件的设计原则应遵循以下几个方面:一、设计对于分析模型应该是可跟踪的:软件的模块可能被映射到多个需求上 。二、设计结构应该尽可能的模拟实际问题 。三、设计应该表现出一致性 。四、不要把设计当成编写代码 。五、在创建设计时就应该能够评估质量 。六、评审设计以减少语义性的错误 。软件设计包括软件的结构设计 , 数据设计,接口设计和过程设计.结构设计是指:定义软件系统各主要部件之间的关系数据设计是指:将模型转换成数据结构的定义接口设计是指:软件内部,软件和操作系统间以及软件和人之间如何通信过程设计是指:系统结构部件转换成软件的过程描述
3,软件是怎么样被设计出来的软件开发有很多道工序的!软件的设计概念应遵循以下几个方面:一、抽象: 我们必须把许多事物和问题抽象起来 , 并且抽象它们不同的层次和角度 。建议用数学语言来抽象事务和问题,因为数学是最好的抽象语言,并且它的本质就是抽象 。二、模块化:将复杂的问题分解成可以管理的片断会更容易 。将问题或事物分解并模块化这使得解决问题变得容易,分解的越细模块数量也就越多,它的副作用就是使得设计者考虑更多的模块之间耦合度的情况 。软件的设计原则应遵循以下几个方面:一、设计对于分析模型应该是可跟踪的:软件的模块可能被映射到多个需求上 。二、设计结构应该尽可能的模拟实际问题 。三、设计应该表现出一致性 。四、不要把设计当成编写代码 。五、在创建设计时就应该能够评估质量 。六、评审设计以减少语义性的错误 。软件设计包括软件的结构设计,数据设计,接口设计和过程设计.结构设计是指:定义软件系统各主要部件之间的关系数据设计是指:将模型转换成数据结构的定义接口设计是指:软件内部,软件和操作系统间以及软件和人之间如何通信过程设计是指:系统结构部件转换成软件的过程描述【如何设计软件系统结构,设计软件体系结构的过程】
4 , 什么是软件系统架构设计架构师的职责主要有如下4条:1、确认需求在项目开发过程中,架构师是在需求规格说明书完成后介入的,需求规格说明书必须得到架构师的认可 。架构师需要和分析人员反复交流,以保证自己完整并准确地理解用户需求 。2、系统分解依据用户需求 , 架构师将系统整体分解为更小的子系统和组件,从而形成不同的逻辑层或服务 。随后,架构师会确定各层的接口 , 层与层相互之间的关系 。架构师不仅要对整个系统分层,进行“纵向”分解,还要对同一逻辑层分块 , 进行“横向”分解 。软件架构师的功力基本体现于此,这是一项相对复杂的工作 。3、技术选型架构师通过对系统的一系列的分解,最终形成了软件的整体架构 。技术选择主要取决于软件架构 。Web Server运行在Windows上还是Linux上?数据库采用MSSql、Oracle还是Mysql?需要不需要采用MVC或者Spring等轻量级的框架?前端采用富客户端还是瘦客户端方式?类似的工作,都需要在这个阶段提出,并进行评估 。架构师对产品和技术的选型仅仅限于评估,没有决定权 , 最终的决定权归项目经理 。架构师提出的技术方案为项目经理提供了重要的参考信息,项目经理会从项目预算、人力资源、时间进度等实际情况进行权衡,最终进行确认 。4、制定技术规格说明架构师在项目开发过程中,是技术权威 。他需要协调所有的开发人员 , 与开发人员一直保持沟通,始终保证开发者依照它的架构意图去实现各项功能 。架构师不仅要保持与开发者的沟通,也需要与项目经理、需求分析员 , 甚至与最终用户保持沟通 。所以,对于架构师来讲,不仅有技术方面的要求 , 还有人际交流方面的要求 。

    推荐阅读