查字典图书网
当前位置: 查字典 > 图书网 > 算法 > 发布!软件的设计与部署 > 试读

发布!软件的设计与部署[试读]

1.1 瞄准正确的目标

学校或社会开设的软件设计课程极其不完整,它只谈了系统该做什么,而没有涉及系统不该做什么。系统不应该崩溃、宕机、丢失数据、侵犯隐私、损失金钱、损害公司,或者导致客户流失。 在本书中,我们会探讨为这个混乱、扭曲的真实世界架构、设计和构建软件,特别是构建分布式系统的方法。为应对那些行事疯狂、难以预测的用... 查看全部[ 1.1 瞄准正确的目标 ]

1.2 使用决断力

早期决策对系统的最终形态影响最大。最初的决策最难以更改。这些关于系统边界和子系统划分的早期决策,渗入到了团队结构、经费分配、程序管理结构甚至工时表中。团队分配是架构的第一稿(参见7.2节知识框)。极具讽刺意味的是,这些早期决策也是在信息获取最少的情况下做出的。这就是说,你的团队在这个时候对软件的最终... 查看全部[ 1.2 使用决断力 ]

1.3 生活的质量

发布1.0版是软件生命的开始,而不是项目的结束。1.0版发布后,你的生活质量取决于你在这个重要里程碑之前所做的选择。 不管你是按小时收费的技术支持工程师,还是雇用这些人的雇主,都需要知道你要维护的是一个经得起严格测试、坚不可摧,并能推进你的事业向前发展的汽车,而不是一个只在卖场摆放的花瓶。... 查看全部[ 1.3 生活的质量 ]

1.4 挑战的范围

“软件危机”已经超过30年了。就金主而言,软件耗资依然太大(参见Why Does Software Cost So Much?[DeM95])。就目标捐助者而言,即便进度表是以月而非年来衡量的,软件的开发周期依然很长。很明显,过去30年设想的生产效率提高只是一场幻影。 这些术语来自于敏捷社区。金... 查看全部[ 1.4 挑战的范围 ]

1.5 随手一松就是一百万

项目的成功、股票期权或利润分红、公司的生存,甚至你的工作,所有这些都岌岌可危。为QA测试而构建的系统,通常在操作成本、宕机时间、软件维护等方面,都需要很大的持续支出,它们根本没法盈利,更别说有什么净现金收益了(这是指系统减去了构建成本之后的利润)。这些系统的可用性低,直接导致了收入减少,有时甚至因损... 查看全部[ 1.5 随手一松就是一百万 ]

1.6 务实的架构

两种不同的活动都归结到了架构这一术语。一种类型的架构追求高度抽象,以做到更灵活的跨平台移植,并更少地关联硬件、网络、电子和光子等复杂细节。这种方法的极端形式会造就一座“象牙塔”——一间Kubrickesque式的整洁房间,盒子和箭矢装饰着每面墙,超然不俗的大师居住在这里。命令从象牙塔发出,降临在劳苦... 查看全部[ 1.6 务实的架构 ]