Top12原则:

  1. 主要资源,重要功能,依据需求重要度进行资源分配, 项目100功能 1 day -> 100Task -> 10 Dev 20% 80%

开发各阶段流程及规范

      需求、架构、设计、开发、测试等阶段流程及规范

                    需求是基石

    总流程 :战略规划 3-4年->产品立项-> 用户调研+竞品分析->业务信息 -> 需求分析 -> 指导 开发 与测试规范 -> 标尺【功能清单 + 4 要素: 界面 + 逻辑 + 交互 + 数据】-> 架构过程 -> 主体结构【系统模块/接口/分层/框架】-> 项目管理分工->详细设计【模块代码 结构定义】-> 代码实现 -> 迭代开发 + 迭代测试 + 持续集成 -> 系统测试 -> alpha test -> 用户验收测试 -> Beta Test -> 商用

产品效率质量 =团队能力 + 写作流程

改进收益: 需求>测试>架构>编码

软件研发完成过程 -> 迭代画开发 ->敏捷开发

敏捷开发过程 : REQ ->Architecure -> Iteration[Desing + Coding + Test] -> System Test

迭代过程    ex :24month project

HLR(高阶需求,只列出功能列表) 5% 2 week  400 Feature-> Architecture 5% module/interface/Layers/Tiers/Deploy/Process(系统有多少层, 每个层有多少个模块, 每个模块的接口,分层,物理分层,) -> 20 Iterations {20Feature -> 8 developer -> US LLR (低阶需求) 3day + Design 2 day + Code 2 Week + 1 week IT(集成测试) }

迭代过程伴随  Continous Integration -> System Test -> User Acceptence Test -> Beta Test -> Maintenance



需求阶段:最重要 + 改进  收益最大 -> 软件研发 唯一依据 标尺 -> 开发 + 测试  (两者无歧义)-> UML建模(容易被开发测试理解)

以用户为中心  软件研发过程

以用户需求为中心 软件研发过程

Conception -> Feature -> Scenarion ->UseCase

HLR(高阶需求) High Level Requirements ->  Scope -> Feature Bucket -> Function List   在软件设计初步完成

Conception :一级业务需求 业务方向 业务目标-> Architecture  (ps: 一个concept 就是一个模块  所有模块加起来就是Architecture )

Feature: 三级业务需求/四级业务需求 具体系统业务功能->Design

Statements Of Work SOW

LLR(低阶需求)Low Level Requirements  在迭代中完成

Scenatio : 业务描述 每个独立业务功能 真实场景 --> 业务痛点

Use Case: 软件 界面 + 交互 + 业务逻辑 + 数据变化  4要素 ->Code

需求输出: 需求规格说明书【需求用例描述】


敏捷迭代开发流程图

  1. 高阶需求-> 系统功能清单 400
  2. 架构设计 : 模块设计
  3. 迭代开发: 月迭代50 4Week 功能低阶需求分析【】
  4. 最终测试: 系统测试 + alpha test /用户验收测试 + beta test/灰度测试
  5. 商用运维

以需求/业务架构设计为中心,软件研发-> 以模块 分解 分工 协作【USER + PM + DEV +TEST + OPRATION】->系统化工程->模块化开发

Conception ->业务模块分析UML分析 ->Architecture -> 4 + 1 视图【逻辑视图/组件视图/并发视图/部署视图】-> 系统测试【功能性测试+非功能性测试】

Feature->业务功能分析UML分析-> Design【类图 面向对象设计原则】->集成测试【功能性测试】

Feature细化: Scenario/UseCase -> 用例分析 UML分析->Code->测试用例

系统测试->迭代集成测试->测试用例

架构设计【模块间设计】-> 详细设计【模块内类间设计】->编码


设计阶段:架构设计 + 详细设计

架构设计->系统模块 + 模块接口 + 系统接口 + 分层 + 进线程 + 组件 + 部署

输出物:架构文档

详细设计-> 每个模块都有个详细设计

目的:完成 类 + 公有函数 + 接口 + 继承 + 抽象类

输出物:设计规格说明书


编码阶段:不同模块开发人员 依据 详细设计说明书 + 需求规格说明书 每天代码实现

编码/单元测试 + 持续集成【TFS/GIT/SVN/Jenkins】 + 迭代

  1. 开发人员每天代码提交
  2. 每天晚上代码集成 - CI
  3. 代码编码
  4. 代码静态质量检查
  5. 代码单元测试
  6. 自动化测试 Selenium
  7. 自动集成
  8. 自动部署

测试阶段: 迭代测试 + 整体测试

迭代测试-> 测试用例 + 集成测试 + 回归测试

整体测试-> 系统测试 + 验收测试 + 灰度测试

每日测试-> 自动化测试 + 单元测试



需求分析 - 业务架构设计

系统架构设计

测试实践

案例贯穿:去哪儿网


系统集成架构设计

需求 业务->业务架构分析->架构 技术

架构:整体结构定义 功能性需求 + 非功能性需求  技术定义

功能性需求-> 业务架构分析->功能性需求架构定义-> 逻辑架构设计 -> 静态结构

非功能性需求->非功能性需求架构定义->框架架构设计->Framework->扩展性/配置性->动态解决方案

架构设计粒度:模块间关系 package

详细设计粒度:模块内类间关系

架构设计 = 系统模块 + 模块间关系 + 系统框架

架构设计 = 逻辑架构设计  + 框架设计

架构设计6个阶段: 业务架构设计 -> 逻辑架构设计 -> 框架架构设计 -> 架构评审-> 架构上线 -> 架构重构

架构设计4个输出 : 业务架构 + 数据架构 + 应用架构 + 框架架构API


架构层面 - 粒度

架构设计与详细设计

架构设计与需求分析

架构设计与项目管理


去哪儿网 / 抖音 背景-> 业务架构设计 -> 逻辑架构/应用 设计 -> 基础/框架 架构

需求 = 高阶 + 低阶

高阶需求

Conception: 业务大方向/业务大目标,业务域/业务模块多维分析,系统间关系 UML建模

Feature:

低阶需求

Scenrio

UseCase

UML工具选型

Rational Rose: 成本高,层次UML

Enterpris Achitecture: 层次UML

Visio: 美观,没有层次


去哪儿网:

项目发起人, 2*1.5 用户访谈

建设背景:所有商务人士,所有航班在线预订, 所有酒店的在线检索与预订,线上订单,线上支付,账户,广告管理,促销活动,用户基本信息,

一期系统大目标-业务模块

航班服务

酒店服务

团购服务

保险服务

火车服务

旅游服务

报销中心

订单中心

支付中心

账户中心

广告管理

促销管理

用户中心

金融中心

完整开发流程管理提升与系统需求分析过程 随堂笔记(day 1) 【2019/10/14】的更多相关文章

  1. 一款APP的完整开发流程 (转载)

    来源:https://www.sohu.com/a/239089829_100063940 近年来,在市场和政策的双轮驱动下,我国服务外包产业快速发展,服务智能化趋势显现.随着企业核心业务外包活动的日 ...

  2. MVC5+EF6 入门完整教程3 :EF完整开发流程

    https://www.cnblogs.com/miro/p/4053473.html 学完本篇文章,你将会掌握基于EF数据模型的完整开发流程. 本次将会完成EF数据模型的搭建和使用. 基于这个模型, ...

  3. Team Foundation Server 开发流程管理管理研讨会

    这周,和微软公司的朋友一起,受北京某金融企业邀请,为企业软件部门一个70多人的软件团队提供了一场基于Team Foundation Server的软件软件流程的技术研讨会.在研讨会中,培训基于微软Te ...

  4. ionic 实现微信朋友圈分享的完整开发流程

    最近开始要着手负责开发ionic的项目了,一直很好奇想实现一个微信朋友圈分享的功能,所以我就网上找了找文章来练手实现,果不其然,找到了几篇,但是发现它们的流程都不太详细,清楚,直接,还有不少坑. 今天 ...

  5. SSM框架完整开发流程

    ----------------第一阶段-------------- 1.数据库建模 2.生成sql语句 3.在mysq客户端使用命令方式执行sql脚本,生成数据库 4.允许远程访问mysql GRA ...

  6. [开发笔记usbTOcan]需求获取与系统需求分析

    简介 一直一以来都是站在实现某个模块功能的角度去做软件开发,没有尝试过站在系统的层面去做开发.最近正好不忙,觉得是时候以系统工程师的视角,去开发一个完整的系统.接下来的几篇文章,我会记录一个USB转C ...

  7. 流程管理软件(BPM)功能简介

    易协流程管理系统实现将人为控制的业务活动,通过信息化手段实现系统控制,降低人为控制管理的风险以及促进企业的各项决策方针的顺利实施. 系统目标: 实现管理的规范化.制度化.程序化: 帮助企业将内控制度流 ...

  8. 从国内流程管理软件市场份额看中国BPM行业发展

    随着互联网+.中国制造2025.工业4.0等国家战略的支持与引导,企业在数字经济时代的信息化表现惊人,越来越多企业认识到,对于企业的发展来说,信息自动化远远还不够,企业的战略.业务和IT之间需保持高度 ...

  9. 使用.NET MVC框架项目开发流程(项目开发流程)

    MVC项目开发流程 整理需求,进行需求分析.项目设计. 整理数据项,建数据库做前期准备,并整理字典. 建立所需数据库表和视图和模型. 页面实现其初步功能(跳过逻辑后台代码),只是实现页面之间的跳转以及 ...

随机推荐

  1. 数据降维-NMF非负矩阵分解

    1.什么是非负矩阵分解? NMF的基本思想可以简单描述为:对于任意给定的一个非负矩阵V,NMF算法能够寻找到一个非负矩阵W和一个非负矩阵H,使得满足 ,从而将一个非负的矩阵分解为左右两个非负矩阵的乘积 ...

  2. xpath-房价爬取

    xpath xpath两种使用方式 和bs类似,一种是调用本地资源,一种是网络资源 etree.parse(filePath) etree.HTML('page_text') xpath表达式 层级: ...

  3. SpringBoot打成war包,部署Tomcat服务器

      1: 创建spring boot项目 使用 Spring initializr  可以直接选择创建包的方式 也可以选择在Pom中更改 <groupId>com.dgw</grou ...

  4. 记录我的 python 学习历程-Day03 数据类型 str切片 for循环

    一.啥是数据类型 ​ 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,"汉"是文字,否则它是分 ...

  5. 用.NET解索尼相机ARW格式照片

    用.NET解索尼相机ARW格式照片 目前常用的照片格式是.jpg,它只能提供8bit的色彩深度,而目前主流的相机都能提供高达12bit-14bit的色彩深度,动态范围和后期处理能力也大大增加,这也是为 ...

  6. springcloud集成kafka

    项目名称:布控预警 水平拆分出来的项目,作为一个单独的可以对外提供服务的项目 项目设计:springcloud,可以集成各个不同平台的一个作为对外提供的微服务项目 项目功能:实现各个平台和本平台之间的 ...

  7. shell 循环读取文件及字符串转为数组

    文件/etc/hdocker_config内容如下: 30.72.63.94 30.72.63.95 30.72.63.96 30.72.63.97 /tmp/lasclocker.tar maste ...

  8. 【java基础】Thread类之join方法

  9. luogu P2740 [USACO4.2]草地排水Drainage Ditches |网络流

    题目背景 在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没 ...

  10. emmet的html和css使用技巧大全

    emmet html使用技巧大全 ! 初始化 >:后代+:兄弟^:向上*:乘法$:数字():分组#:id命名.:类命名 一.id,类命名p#infop.infoa[href=#] 二.后代:di ...