实现并验证软件架构,原型技术分类和用途:水平原型(行为原型)vs垂直原型(结构原型),抛弃原型(探索原型)vs演进原型(同增量开发思想)。验证架构的方法有原型法和框架法,原型法,对一组架构设计决策在非功能需求方面的满足程度进行验证。该原型往往是演进型,而非抛弃型。框架法,对于产品型开发,采用“框架法”有更多优点。该方法将架构设计方案用框架的形式实现,并在此基础上进行评估验证。
粗粒度“功能模块”划分,掌握模块划分技巧,我们分4步进行,日常涉及工作常用的功能树、分层框架、用例模块、模块化等技巧:
功能树是一种框架性工具,有助于需求分析人员一层一层地选择确定系统必须具有的各项功能与特性。作为需求分析的结果,功能树是一种功能表达结构,将“功能大类”、“功能组”和“功能项”的隶属于支持关系以“树”的形式呈现出来。获取功能树有拿到文档、进行沟通和分析产品三种途径。
分层框架常见的模式是展现层、业务层和数据层。展现层发出服务请求,获取业务层返回信息显示在页面上,业务层接受展现层的命令,解析传递过来的参数,判断各种合法性,返回展现层所要的信息,数据访问层不能被展现层直接调用,必须由厚道了业务层来调用,
这本书详细的介绍了软件架构的概念,让我感受到了需求很重要,但是我们需要确定其中的关键需求,不能盲目的将所有的需求都考虑进去,在这本书中我感受到了作者的经验十分丰富,这是在经过大量的实践中总结出来的经验,我们需要深入的学习,我们只了解了软件架构的一些皮毛,虽然本学期学了软件架构这门课程,但是感觉了解的只是一些皮毛,并不懂得他实际的原理,软件架构师可以说是团队的领导,对于一个项目的成败起到了十分关键的作用,软件架构师必须要掌握多种知识,要详细的了解软件开发的流程 ,以及软件开发的技术,这样才能很好的和技术人员进行沟通,遇到问题也能考虑问题的时候尽量要全面,既要关注细节同时也要看到整体,我们也要注重沟通能力的提升,架构师不仅要指导本部门员工的工作,同时也要协调其他部门的资源,还要向用户征集需求,因此良好的沟通能力至关重要。