loading...
您现在的位置: 北极星首页 > 技术文章 > 常用资料 > 电力信息化 > 软件设计美学之道第7回──随着UP的乐章,让软件美学起舞[1]-软件设计美学之道第7回──随着UP的乐章,让软件美学起舞

软件设计美学之道第7回──随着UP的乐章,让软件美学起舞[1]-软件设计美学之道第7回──随着UP的乐章,让软件美学起舞

来源:希赛网 作者:佚名 发布日期:2008-8-4 18:56:33
关键词:  SOA 设计 软件

  三大精神,四大核心,让你UP起来

  秀出设计,才能让人感受思维的美,而实作出来,才能满足现实的世界,软件设计有其美学之道,它和建筑一样,可以利用「工程方法」,让美学之道和实际需求接轨。在前一篇所介绍的三大UP(UnifiedProcess)精神之下,还有许多在实践项目时会遇到的开发阶段和工作科目,其相互的运作流程与软件设计之间的关系,是最难想象与实作的部份。

  关于这些开发阶段与工作科目,我想曾经读过这个方法论的人都会很熟悉一个诡异的波浪图(如右图所示),这张图是UP的精华,不过我个人觉得对于刚踏入UP的人来说,如果没有好好地理解它,这张图会像个镇煞避邪的石敢当,反而就会把大家吓跑了。

  简单地来解释这张图,它的X轴所代表的是四大开发阶段以及许多的反复期(Iteration),也代表着时间轴;Y轴则代表工作科目,而在此图表上的大大小小波浪,则是代表项目随着时间进行时,各个工作科目在各开发阶段上的比重,其实这也隐喻着这四个阶段有着不同的核心任务,只要能掌握这些灵魂,执行UP就能简单不少。

  是大饼,还是焦油坑--Inception阶段

  项目的一开始,绝对不是一头埋进成堆的客户需求之中,然后埋头苦干地开工实作,因为你不一定会知道,前面的路是个焦油坑还是一块大饼。虽然有时迫于情势,就算是个焦油坑项目,我们还是得做,不过起码我们可以先实行一些预防措施,例如使用符合成本的技术、资源,或者尽早另觅他处等等。

  在这个阶段的时间会比较短,因为重点在于确立产品范围,了解项目关系人是否对项目愿景有基本的认同。因此,在这个阶段里,我们可能会只先列出大部份使用案例的名称,描述其中小部份,但却非常重要、有疑虑或者风险较高的使用案例,甚至建立一些简单的使用者界面prototype来验证需求,然后针对一些不确定或者难度高的技术做POC(ProveofConcept)测试。

  真正的需求开发以及软件架构的建立,会是在下一个阶段,而在Inception阶段可能的唯一一个反复期(Iteration)里,是要能了解项目未来的路是通住天堂,或者是条令人心惊胆寒的天堂路。

  给我架构,踏出美的第一步──Elaboration阶段

  当完成了Inception阶段的工作并通过里程碑(milestone)的查核后,也不代表我们就可以放心地往前冲了。在这个阶段里,我们必需要厘清大部份的需求,但最重要的,是要能产出一个能够解决高风险元素的「架构原型(architecturalprototype)」。这也是整个UP流程和传统的开发流程最不一样的地方了。

  实作此阶段的关键概念就是要进行短时间且长度固定的多个反复(Iteration)、优先厘清重要或高风险的需求,然后及早开始写程序并测试,最后再将测试结果以及需求变化回馈到下一个反复(Iteration)之中。除此之外,我们要记得另一个重要观念-「建立软件架构的关键在于能够提供软件系统未来实用而稳固的发展基础」。

  架构原型只是整个系统的骨干及部份肌腱,因此,及早开始写程序的意思是在于及早开始实作「架构原型」,并不是开始实作出系统的大部份哦。因为唯有不断地透过开发、测试人员,甚至是使用者的回馈,架构原型才能真正的确定系统风险的解决,并成为下一个阶段的稳定发展蓝图。

  实作这个阶段使用到许多软件美学的重要技术及设计工具,例如,使用UseCase来描述需求细节、利用DomainModeling来找寻软件对象灵感、利用Pattern来设计软件架构中的逻辑观点等等。因此这个阶段可说是整个流程的重心,也是软件架构师最重要挑战以及最大的舞台了。

  开工、发包──Construction阶段

  这个阶段会是整个流程里面最热闹的一段时期,因为在成本可行并且有计划的情形下,会有越来越多的人可以在这个时期里加入团队,甚至可以多个团队一起工作,包括外包。为什么呢?因为上一个阶段的结束,代表我们已经了解了大部份的需求,解决了高风险的问题并且完成软件架构原型、软件架构书(SAD)以及架构原型的系统设计相关文件等等重要产出。因此,我们也比较能预估项目接下来所需要的工作量及时间,而现阶段的开发团队可以依样画葫芦地照着架构原型的程序代码及其程序风格来开发建构系统其余的部份。

  软件架构师在这个时期所扮演的角色就是开发团队的领导以及教练了。软件架构师此时必须掌握开发团队所发展的程序是否遵循着软件架构书所设计的大方向,并且时时利用架构原型都各部份为范本,教导开发团队来建构系统尚未完成的部份,如此这般的,一个反复一个反复地往下走。这个阶段的工作有时会有点像在填补Elaboration阶段所建构出来的骨架的肉,也就是架构原型以外的所有东西。因此,这个阶段的成功,和上个阶段的结束,有着非常重要的关系,而这个阶段的后期,团队也该完成一些如使用者手册等文件以及alpha测试,以便能替下一个阶段的beta测试做好准备。

[1][2]


『发表/查看该文章的网友评论』


『北极星新闻网邀请您关注2009年全国各电厂最新招聘动向,请点击此链接———北极星电力英才网』

《软件设计美学之道第7回──随着UP的乐章,让软件美学起舞[1]-软件设计美学之道第7回──随着UP的乐章,让软件美学起舞》的相关文章

  • ·[典型应用][热能动力]锅炉施工组织设计 (2008-11-05,阅90次,作者:佚名)
  • ·[专业论文][电力电子]驱动1700V IGBT的几种高性能IC选 (2008-11-05,阅13次,作者:网络)
  • ·[解决方案][电力建设]智能建筑电气施工图设计深度研讨 (2008-10-23,阅35次)
  • ·[专业论文][热能动力]大型火力发电厂锅炉减温水系统设 (2008-10-08,阅340次,作者:佚名)
  • ·[常用资料][电力信息化]IBMWorkplaceDesigner设计团队访 (2008-08-06,阅21次,作者:佚名)
  • ·[常用资料][电力信息化]为IBMLotusSametimeConnectV7.5设 (2008-08-06,阅12次,作者:MarkTalbot)
  • ·[常用资料][电力信息化]关于Rational与软件质量保证 (2008-08-05,阅14次,作者:不详)
  • ·[常用资料][电力信息化]解析微软Hyper-V虚拟化软件优势 (2008-08-05,阅9次,作者:佚名)
  • ·[常用资料][电力信息化]西门子将SOA添加到电话应用程序 (2008-08-04,阅27次,作者:佚名)
  • ·[常用资料][电力信息化]Monster迎接SOA带来的新挑战 (2008-08-04,阅8次,作者:佚名)
  • ·[常用资料][电力信息化]同方ezONE平台走实用化SOA路线 (2008-08-04,阅6次,作者:佚名)
  • ·[常用资料][电力信息化]SOA应用谨慎乐观 (2008-08-04,阅12次,作者:佚名)
  • ·[常用资料][电力信息化]中国SOA应用调查 (2008-08-04,阅31次,作者:佚名)
  • ·[常用资料][电力信息化]SOA使用中的五大隐患 (2008-08-04,阅29次,作者:佚名)
  • ·[常用资料][电力信息化]Oracle在JavaOne大会上勾勒SOA2. (2008-08-04,阅21次,作者:佚名)
  • ·[常用资料][电力信息化]Eclipse在SOA中崭露王者气息 (2008-08-04,阅14次,作者:佚名)
  • ·[常用资料][电力信息化]解读SOA和传统IT管理之间的必要联 (2008-08-04,阅21次,作者:佚名)
  • ·[常用资料][电力信息化]HP:SOA存储库日渐成熟 (2008-08-04,阅8次,作者:佚名)
  • ·[常用资料][电力信息化]IBM:实施SOA五个切入点助企业扫除 (2008-08-04,阅10次,作者:佚名)
  • ·[常用资料][电力信息化]全面破解中小企业的整合问题-SOA (2008-08-04,阅16次,作者:佚名)
  • 电力信息化帖

    论坛技术贴精华