zoukankan      html  css  js  c++  java
  • 程序猿编程,软件设计都干什么?

    目的,工业化的搞软件开发。问天下业务几许,看老夫抽象如何!

    前提:简单的了解下UML常用的各种图,对静态的动态的有认识。 推荐几本书《UML和模式应用》、《about face 交互设计精髓》。

    为什么要设计?

    举个简单的栗子。
    你做饭。不知道啥时候能做完。做一道菜。不知道里面加什么。
    做个西红柿炒鸡蛋。 开火 发现天然气没了。
    开始炒 发现没有铲子
    油红了 发现鸡蛋还没打好。
    鸡蛋好了  发现西红柿没切,
    等切好了 发现鸡蛋糊了。

    要炒好了  发现盐没有。 赶快买。
    买回来发现酱油没有。赶快买
    发现醋没有。赶快去买。
    太可怕
    做一个菜用了三小时。最后出来的就是炒糊的西红柿鸡蛋。

    先推荐两本书《UML和模式应用》《构建之法》。

    软件过程管理,用 jira看板,conflence,gitlib。一些词不了解,可以搜搜。

    软件设计在下面重点说说。

    运维和部署,devops CI CD 这些就不说了,这些对敏捷开发同样重要。

    …………………………………

    需求有了以后,一定要套出产品为何要做这个软件,知道需求的来龙去脉,这样你才可能设计好。

    ……………………………

    如何快速的设计开发?分成三段:需求,设计,编码。

    一定要记住,设计时间一定要控制在3天左右,最多5天。设计的时候想不通的,就放过,不要长期停留在一个地方。这次设计不好或者有些遗憾,留到下次吧。

    ………………………………………………

    如何设计,设计什么?记住几个文档。

    1、接口文档。 分给每个开发,需要评审,建议产品也看。最好产品定。

    2、领域对象模型。 建议一个人牵头,需要评审。

    3、各种数据模型。 分给每个开发,需要评审。

    4、关键和重要业务的时序图,流程状态图。 分给每个开发,需要评审。

    5、开发框架,部署图。 建议一个人牵头,需要评审。

    ……………………………………………

    1、接口文档, 如果产品能出接口文档就最爽了,一般不可能。都是服务端程序员做这个。

    接口是软件交互的必经路,简单的curd接口,大家理解都一直。复杂接口就不一样了,比如扫码登录接口,有几个接口,每个接口的功能是什么,都会影响最终的交互效果。接口文档 程序员设计出来后,评审一下,最好是产品也能看看。如果能保证接口理解一致,ui图理解一致,软件最终效果就能保证理解一致。这样产品 研发 测试 开局目标一致。

    ……………………………………

    2、领域对象模型,这个就是纯粹的服务端程序员搞了,把软件需求,按照面向对象的方式,划分出多个对象,对象和对象之间的关系有 一对一,一对多,多对多,这个跟数据库模型不同。对象和对象的边界 一定要控制好。一个对象可能对应一张数据库表,也可能对应多个表,也可能没有表是别的数据。有了这个模型,就能看出大体的程序业务有什么,数据之间的关系,数据大体是如何流转的。

    ………………………………………

    3、各种数据模型,程序就是读写数据,各种数据,mysql表,redis key,elasticsearch的索引,文本文件里的配置,等等这些表述清楚。

    ………………………………

    4、关键业务和重要业务的 状态图 时序图,能看出具体业务的数据流转。

    ………………………………

    5、之后 开发框架和部署图搞起, 就能启动代码。

    设计阶段,一定要控制时间,5天,不能再多了。

    …………………………………………

    总结

    把软件过程拆分出各关键部分,明确各部分的边界。他们都有什么作用。

    软件交互就是 ui和接口。

    写程序就是读写数据,方便数据的归类 就有了领域对象模型。

    根据领域对象模型 数据模型 这种静态模型,结合状态图 时序图 这种动态模型,就能很好的设计出软件。

    软件过程管理,使用工具,jira看板,conflence,gitlib,就够了。

    ………………………………

    关键字:接口,领域对象,数据模型,状态图,时序图,5天。

  • 相关阅读:
    【ARM】2440裸机系列-RTC数字时钟
    【ARM】2440裸机系列-图片显示
    【Acm】算法之美—Anagrams by Stack
    【C/C++】程序如何来,编译全过程
    【Cmd】批处理
    【Cmd】那些年,我们迷恋的cmd命令(二)
    【Cmd】那些年,我们迷恋的cmd命令(一)
    【web技术】html特效代码(二)
    【web技术】html特效代码(一)
    【安全】加密解密整理
  • 原文地址:https://www.cnblogs.com/chengjunchao/p/10921737.html
Copyright © 2011-2022 走看看