美文网首页
要件、架构、设计、开发及其他随感

要件、架构、设计、开发及其他随感

作者: 芒鞋儿 | 来源:发表于2019-07-29 07:57 被阅读0次

    写下这个标题,脑子里马上浮现出项目中的恩怨情仇,相爱相杀的场面。
    要件是个日本词汇,在国内被翻译成需求,其实这种翻译过于笼统,概念没有细分,需求的日文词汇是需求或者是要望,要望(需求)类似于RFI,之后是RFP(提案),然后是RFQ(报价)。
    在合同签约之后,才进入到要件定义阶段。

    要件定义和基本设计之间常常有一些灰色重合地带,以至于经常责任不清,互相推诿。
    要件定义阶段最常见的产出是要件定义书,其中包含了机能要件定义和非机能要件定义(系统性能要求)
    Usecase是最具有争议的东西,有的说UC应该在要件定义阶段,有的放在基本设计阶段。个人观点是看要件定义阶段的预算和工期长短,UC的粒度比较细,但如果是Agile开发,一个UC可以被划分成一个user story,因此放在要件定义阶段也无不可。UC配合UI页面迁移也常能给出比较清晰的结构。

    很多公司还是在用结构设计法,原因是面向对象设计虽然对于开发(Class的设计)有着很好的契合,但是由于Model的建立是从系统出发,对于用户需求遗漏常有发生。
    因此有些公司是采用结构分析法和面向对象设计并用的方式。
    但两者并用工作量比较大,因此哪些省略哪些必须也需要不断摸索。

    对于复杂的工程系统和较为简单的系统,设计完全是不同的。
    尤其是像Web系统,手机APP的开发,IOS在设计的时候已经略过了沉重的设计,直接用APP的设计替代。
    而Web的架构,不外乎是MVC,和它的几种衍生模式,因此架构也被省略了。

    面向对象设计、UML等自成体系,形成设计美学,而渐渐过重也形成项目中设计与开发之间的争斗,过于强调设计,对于代码的发挥是一种限制,因此代码变成了搬砖的机械劳动。
    不过在大型系统中这个似乎难以避免。

    相比之下,开源的Web系统,手机APP等比较小型的APP则灵活,但其之所以灵活又脱不了其小的特点。

    架构似乎成了程序员的攀登高地,但问题是架构一般只对大型企业级别系统有需要,中小型系统一般是沿用既有的架构模型,因此架构师多由技术leader来担当,做一些新技术导入前的POC等,但实际上架构师的要求是Biz和技术的平衡,甚至技术对于战略(简短地说Cost和ROI)的支持和调整。

    因此或许一些既有的package和开发的并用,也是一些小型公司的选择。

    相关文章

      网友评论

          本文标题:要件、架构、设计、开发及其他随感

          本文链接:https://www.haomeiwen.com/subject/kwqvrctx.html