项目开发流程

今日学习内容总结

      上周的学习中,我们已经体会到了模块的便利之处,在购物车中的使用。并且初步尝试了软件开发目录规范的写法。今日就是对这种写法的一个的一个学习以及拓展。

项目开发流程

      项目流程几乎都可以分为以下五个步骤:1.需求分析 2.架构设计 3.分组开发 4.项目测试 5.交付上线 其对应关系:

快速迭代的项目流程

一次交付的项目流程:

需求分析

      在互联网公司里,产品经理现在是需求的代言人,基本言必称需求。今天老板提了个需求、明天客户提了个需求、后天拍脑袋了一个需求。而这里的需求分析,主要是指后端或者toB的需求。分析需求,就是要把握需求的三要素:人、场景、问题。提需求的是人,但提需求的人往往代表的是一个角色。场景,是场和景的组合是在一个空间内,由人和物组成的画面。问题,是让人觉得不爽的点,而且是基于持续的问why和how得到的本质的不爽的点。分析需求,就是分析特定的觉色在特定的时间、空间和人物构成的环境中本质的不爽的点。

      其实简而言之项目需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。

      项目需求分析过程中,用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。所以需求分析需要实现了解项目大致需求,然后提炼项目功能,项目大致技术栈。

架构设计

      关于架构设计,我们可以先研究常见软件架构:


    百度:
    百度账户登录 
    	需要获取用户名和密码 然后校验用户名和密码
      	问:在哪里校验?
          	肯定不在你的电脑上(如果在 难道所有人的数据你的电脑上都有?)
        是基于网络将用户名和密码发送到百度的后台进行校验
        		后台去专门存储数据的地方校数据

      上面这个简单的案例,可以引出三层架构。常见的软件架构大致分三层:1.表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。 2.业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。 3.数据访问层:主要看数据层里面有没有包含逻辑处理,实际上它的各个函数主要完成各个对数据文件的操作。而不必管其他操作。 对应关系:

      三层架构的优点:

  1、开发人员可以只关注整个结构中的其中某一层;
  2、可以很容易的用新的实现来替换原有层次的实现;
  3、可以降低层与层之间的依赖;
  4、有利于标准化;
  5、利于各层逻辑的复用。
      6、扩展性强。不同层负责不同的层面,如PetShop可经过简单的配置实现Sqlserver和oracle之间的转换,当然写好了也可以实现B/S与C/S之间的转换
      7、安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
      8、项目结构更清楚,分工更明确,有利于后期的维护和升级

      三层架构的缺点:

  1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
  2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码
    3、增加了代码量,增加了工作量

分组开发

      分组开发就是基于三层项目架构,再结合软件开发目录规范,将项目不同的功能分为不同的模块。然后成员选择自己负责的功能就可以了。例如今天学习的ATM购物车:

  start.py  # 启动文件
  conf
  	>>settings.py  # 配置文件
  lib
  	>>common.py  # 公共部分
  core
  	>>src.py  # 这里将src作为用户交互端,只做简单展示和逻辑
  interface
  	>>user_interface.py  
      >>bank_interface.py
      >>shop_interface.py  # 根据功能不同将核心框架分为三个py文件
  db
  log
  readme.txt

      针对启动脚本文件start.py可以放在bin目录下 也可以直接放在项目根目录。然后用空函数进行功能框架搭建就可以了。

posted @ 2022-04-04 20:42  くうはくの白  阅读(517)  评论(0)    收藏  举报