什么是软件架构

2017-04-18  本文已影响0人  winyang

开发过程中的各种不同活动:


定义问题 

需求分析

规划构建

软件架构(高层设计)

详细设计

编码与调试

单元测试

集成测试

集成

系统测试

保障维护

构建活动中的基本任务:


验证有关基础工作已经完成,因此构建活动可以顺利进行下去;

确定如何测试所写代码;

设计并编写类和子程序;

创建并命名变量和具名常量;

选择控制结构,组织语句块;

对代码进行单元测试和集成测试,并排除其中错误;

开发成员直接互相评审代码以及设计;

润饰代码,仔细进行代码的格式化和注释;

将单独开发的多个软件组件集成为一体;

调整代码让它更快更省资源;

非构建活动:


管理;

需求分析;

软件架构设计;

用户界面设计;

系统测试以及维护;

但是以上每个过程都像构建活动一样最终影响着项目的成败!

注意:


       做大型软件项目的时候和建筑一样,超大型的结构一旦出问题,后果非常严重,因此应该对这样的结构进行超出常规的规划与建设,建筑人员需要非常小心的制定并核查设计规划,在建设时留有余地以保障安全,宁可多花10%成本买更坚固的材料,也比摩天大楼倒下来要划算很多。

       技术不是规矩,它只是分析工具,好的工匠知道完成某项目需要哪样工具,也知道如何正确的使用,程序员也应该这样,编程方面的知识越多,你脑子中的工具箱中就会有更多的分析工具,也会知道该在何时用这些工具,以及怎样正确的使用这些工具。当你百分百依赖于某一个方法论之时,你就只会用一种方法去看世界了,某些情况下发,对于你面临的问题,往往还有其他更好的方法,你可能错失机会。

       不要急于写代码实现,事先做好规划能避免很多压力,更何况软件开发不仅仅是写代码!


如果你想要的是一辆劳斯莱斯,那么就必须从头开始做计划,因为在现有之上改动,只能带给你最好的Aztek,绝不会变为劳斯莱斯!

俩大痛点:


需求分析

项目规划


Why Isn't Sam Coding ?

Why Isn't Mary Programming?

如果你准备好了,尝试问自己一句:


是否已经非常详细地研究了需求和设计,是否想不出的编码和调试期间还会遇到什么大问题了?

上一篇 下一篇

猜你喜欢

热点阅读