软件构架师的流程

软件体系架构师工作流程:      今天让我们看了《梦想改造家》回答这样的一个问题:结合《梦想改造家》中建筑者的工作流程谈及对软件体系架构师的工作流程?软件体系架构师在我的认知中,架构师的工作职责就是将我们所得到的工作需要进行总结,形成一个很好的软件架构(仿佛就是房屋中的一个模子)。但是通过和王平仲工作流程的对比,可以很简单的发现一个软件体系的架构师并没有我们想象的那么的简单。架构师的主要任务不是
阅读本文

软件体系架构师工作流程

在我看来软件体系架构师就相当于房子的大致骨架的设计师,房子的稳定性取决于架构是否稳定是否满足需求,所以软件体系架构师首先要做的就是对软件的需求进行认识和分析,因为需求对于整体构架的设计至关重要,所以软件体系架构师要在软件需求分析阶段的适当时宜尽早介入,在一些软件过程能力成熟度较低而软件项目重要性较高的软件项目团队,软件体系架构师可以在概念化阶段介入。在这一阶段软件体系架构师与软件需求人
阅读本文

2016 腾讯软件开发面试题(部分)

一、前言 2017年1月27日19:05:28,今天是年三十,首先祝大家新年快乐,之前对自己要求过,每星期一篇面试题的博客,虽然今天心里有一万个不愿意写,也还是得写。这篇博客是 2016 腾讯软件开发面试题中不定项选择题集合中的 1 -12 题,其中后面的 13-25题在下周的博客中写,说明一下,这篇博客跟以往的每周一题有点不同,因为如果选择一两题,博客的边幅有点少,而且选择题相对来
阅读本文

软件测试基础

软件测试定义:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。软件测试过程:通常按照测试阶段分为单元测试、集成测试、确认测试、系统测试、验收测试、回归测试、Alpha测试、Beta测试。单元测试,又称模块测试,是针对软件设计的最小单位 ─ 程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。1. 单元测试的内容(1)
阅读本文

软件构架实践阅读笔记五(读后感)

软件体系结构是控制软件复杂性和提高软件系统质量的重要手段,然而在现实中,当我们编写程序或系统时,它没有完成,可能需要及时更新不同版本。同样,重构也是必要的,它是一个涉及许多活动的解释、交互和迭代的过程。软件体系结构重构包括信息提取、数据库构建、视图融合和重构这些活动,这些活动都是以迭代的方式完成的。信息提取是从各种源提取信息、信息提取设计分析系统的现有设计和实现产品,构建系统模型,结果放
阅读本文

《软件构架实践》阅读笔记五

系统的构架取决于对构架的需求,因此构架的文档也取决于对文档的需求。构架文档不仅是说明性的,而且是描述性的。通常,编写技术文档,例如软件构架文档最基本的原则之一是从读者的角度来编写,我们不会使用易于编写但很难阅读的文档,在这里,“易于阅读”指的是涉众能够很容易阅读文档。数据库构造期间,将提取的信息转换为标准的格式以存储在数据库中。数据输入到数据库中,生成两个额外的表:元素和关系。构造数据库时,要仔细
阅读本文

软件构架实践读书笔记六

主要有4个主题,生命周期的构架;设计构架;形成团队结构及其与架构的关系;创建构架系统。首先讲了生命周期中的构架,把构架作为软件开发过程基础的任何组织需要理解构架在其生命期中的位置。目前有几个生命周期的模型,但把构架放在一个适当位置的模型是演变交付生命期模型,使用模型的意图是获得用户和客户反馈,并在发布最终版本前通过几个版本进行迭代。然后讲的是设机构架,主要描述了一个用于设计构架以满
阅读本文

软件构架实践_阅读笔记06

本书的第四部分继续讲述架构商业周期,前面讲的是构架的质量属性,编档,设计,重构,评估等内容。我对重构和评估印象尤为深刻。之前讲的架构的重构,这里说到了重用架构资产。开发软件架构需要投入大量的时间和资金,并且通常需要具有聪明才智的人参与开发。因此,在多个系统中重用架构来实现最大的投资回报,其实讲到这里,可以把这个架构理解成模板,比如一套ppt模板用在10个PPT上,这个就算赚的了。这里还可以延伸为一
阅读本文

《软件构架实践》阅读笔记01

软件构架定义了软件设计的组件、局部和总体的构成关系、以及这些组件之间的相互作用。    构架在保证开发组织实现其商业目标方面起了很重要的作用。    构架的开发需要付出一定的成本包括精心设计的成本,但是一个好的构架对于开发组的作用是不可估量的,它能使开发组织达到自己的系统目标并提高其软件开发能力,这种汇报是相当丰厚的,对于开发组织而言,构架是一种极重要的资产,起作用超过了所开发的项目本身。
阅读本文

《软件构架实践》阅读笔记一

什么是软件架构?构架明确了对系统实现的约束条件,如果系统实现遵循构架设计中所作出的关于系统结构的决策,则系统实现将能够体现出结构的特色。架构决定了开发组织的组织结构,构架不仅规定了所开发的软件系统的组织,而且也影响这项目开发组的结构,因为系统的构架中包含了对系统的最高层次的分解。构架阻止或支持系统的质量属性的实现。系统能否具有所期望的质量属性,主要是有其架构决定的。通过研究构架来预测系统质量,能否
阅读本文

《软件构架实践》阅读笔记四

系统的软件构架在系统开发和开发该构架的组织中起到一个中心作用,构架编档时创建构架最有价值的一步。创建构架是为了使用它,也就需要用户能够理解它,前提就是用足够的细节描述它。文档的不同涉众具有不同的需要,这意味着编制一组文档,该文档中有一个能够帮助不同的涉众在文档导航的路线图。属性驱动的设计(ADD),是一个用于设计构架以满足质量需求和功能需求的方法,这种方法把一组质量属性场景作为输入,并使用对质量属
阅读本文

《软件构架实践》阅读笔记二

我们首先应该知道本节所讲的内容中,我们将分析以下3类属性:1.系统的质量属性:如可用性、可修改性、性能、安全性等等。 2受构架影响的商业属性,如上市时间 3与构架本身相关的一些质量属性,如概念完整性。首先我们来描述一下质量属性场景。质量属性场景是一种面向特定的质量属性的要求,它主要由6部分组成。刺激源,这是某个生成该刺激的实体(人、计算机)。 刺激,这个刺激是当系统到达系统时需要考虑的条件
阅读本文

《软件构架实践》阅读笔记04

开始ADD。我们已经介绍了构架驱动因素。ADD依赖于对驱动因素的识别,确定了所有的驱动因素后,ADD就可以开始了。当然,在设计中关键的构架驱动因素可能会发生变化,或者是因为更好的理解了需求,或者是因为需求发生了变化。ADD步骤。(1)       选择要分解的模块。要分解的模块通常是整个系统。该模块要求的所有输入都应该是可获得的(限制条件、功能需求和质量需求)。(2)       根据这些
阅读本文

《软件构架实践》06

运行软件构架编档的基本原则是:构架编档就是将相关视图编成文档,然后向其中添加适合多个视图的文件。视图只是代表一组系统元素以及它们之间的关系,选择项目视图的过程为:产生一个候选的视图列表、组合视图、划分优先级。构架编档的最后一个问题是跨视图的文档,如何才能使视图文档完整,即捕获应用于多个视图或作为一个整体的文档软件包的信息,通俗来讲就是如何什么为什么。如何组织文档,构架是什么,为什么构架是这样
阅读本文

软件构架实践——阅读笔记06

寒假生活读《软件构架实践》16-19章后感    由于计算无处不在,因此使用外部开发的组件来实现某些系统目标的可能性大大提高,采用商业组件的原因包括:    1、快速地构建系统    2、专业知识的要求越来越高     3、节约开发成本    商业组件的应用改变了对系统构架的设计,除了最简单的组件外,所有组件都有一个很难违反的假定的构架模式。构架需要满足组件的假定模式,因此,在理解选择组件的假定模
阅读本文

软件质量管理实践总结

目录第一章:缺陷综述第二章:需求开发与管理第三章:配置与变更管理第四章:同行评审第五章:软件测试第六章:QA发现不符合问题的处理第七章:软件度量第八章:缺陷管理 第一章:缺陷综述1. 软件缺陷的定义:软件产品在某种程度上不能满足用户的需求2. 软件缺陷的生命周期:从一个软件缺陷被发现、报告到这个缺陷被修复、验证,最后关闭的过程 3. 缺陷产生的原因: 原因很多,例如重技术不重管理、项目监控和计划做
阅读本文

《构建之法—现代软件工程》读书笔记之——敏捷开发

敏捷开发是一系列价值观和方法论的集合。在敏捷的大旗下,我们可以看到好几种软件开发的方法论,我们在这里主要分析Scrum这个方法论。从Scrum方法论中分析,敏捷开发一共分四步:第一步:找出完成产品需要做的事情——Product BacklogBacklog翻译成“积极的工作”,“待解决的问题”,“产品订单”。产品负责人主导大家对于这个Backlog进行增删改的工作。每一项工作的时间估计为天。第二步
阅读本文

《软件构架实践》阅读笔记06

很多事情都依赖于构架,构架评估能够提供一个相对低成本的风险移植能力。评估产生一份描述所关心问题以及支持数据的报告。评估要想成功,就应该具有以下属性:表达清楚的构架目标和需求,可控制的范围,经济高效,关键人员的可用性,称职的评估小组,可管理的期望。      评估有技巧而言,ATAM和CBAM方法就是提问技巧的示例。这两种方法都使用场景来询问评审中的构架如何对各种情况做出响应的问题。AT
阅读本文

《软件构架实践》读后感06

《软件构架实践》读后感06      我们的系统开发出来之后是要将它进行上线,为我们的公司挣钱的,所以我们开发的系统一定要能够盈利,我们要考虑系统的成本、收益、风险和进度。成本收益分析方法(CBAM)可以在ATAM的基础上用来对构架设计决策的成本和收益进行建模,是优化此类决策的一种手段,提供了对技术和经济问题以及构架决策的评估。      软件设计师和决策者希望在实现设计方案的基础之上可以用最小的
阅读本文

软件构架实践——阅读笔记04

寒假生活读《软件构架实践》10-12章后感    随着不同类型产品的层出不穷、同类产品不同版本的发布,需要维护的遗留代码问题越来越凸显,遗留代码、第三方代码、源代码的再开发越来越受重视,面对这样的状况,系统重构也就在所难免。现在的市场形势,对个人而言,系统重构能力影响着开发人员的工作业绩和未来发展,也可能是自然选择的关键所在。所以,掌握重构能力的开发人员可能在竞争中脱颖而出,重构已经成为目前软件研
阅读本文