第二章——软件工程
思惟导图
文件分享
如要获取markdown文件和思惟导图X-mind文件,请点击:https://share.weiyun.com/STYC0ZiN
前端
导言
首先,你应该认识到:
其次,你应该有认知:
由简单事实能够获得一个简单结论:
定义软件工程
定义无所谓,就是软件工程
质量关注点
过程层
软件工程方法
软件工程工具
本章重点:软件过程
工做产品构建时所执行的一系列活动、动做和任务的集合
-
活动(activity)编程
-
动做(action)后端
-
任务(task)markdown
过程框架
-
沟通框架
- 我宁愿将之称为:需求获取与分析
- 沟通无处不在,但尤其注意的是与客户等利益相关方的沟通,使之明确
-
策划工具
- 若是有地图,任何复杂的旅程均可以变得简单
- 理所固然,就是策划软件
- 这是产品经理流程最重要的一部分工做
-
建模测试
- 创建模型
- 画草图并不断细化
- 固然,原型开发,这是个很重要的活儿。
- UI
-
构建设计
-
部署3d
- 部署上线
- 由用户给出评测和反馈
- 而且持续维护
- 迭代
普适性活动
- 一般,这些普适性活动会贯穿项目始终
- 软件项目跟踪与控制
- 风险管理
- 软件质量保证
- 技术评审
- 测量
- 软件配置管理
- 可复用管理
- 工做产品的准备和生产
过程的适应性调整
- 任何东西都有变化与调整,难以有一成不变的东西
- 我认为食谱只是一种指导方法——Benoit
软件工程实践
实践的精髓
-
理解问题前端设计
- 理解问题并不是那么容易
- 理解问题最重要的是倾听
- 找出真正的问题
- 并进行细化和切分,梳理逻辑关系和重要程度
-
策划解决方法
-
实施计划
- 任何计划不落地都是没有意义的。
- 在实施中,进行追溯和校订,测量评估
- 实施必需要有KPI,也就是指标!!!
-
检查结果的正确性
- 检查是重要的。
- 采用正确的常识,可让你永远不迷失方向
通用原则
- David Hooker提出了7个关注软件工程总体实践的原则
-
存在价值
- 一个软件系统因能为用户提供价值而具备存在的意义
- 全部的决策都应该基于这个思想
- 这是真正的价值
- 用户是第一位的
- 在开始一个软件项目以前,应首先确保软件具备商业目标而且让用户体会到它的价值
-
保持简洁
- Keep Simple
- 构建易于理解和易于维护的系统
- 简洁而非简化,而是恰到好处,肯定所作的范围
- BP!
-
保持愿景
- 清晰的愿景是软件项目成功的基础
- 没有愿景,将没法保持统一和一致
- 内部如此,外部也同样如此
- 愿景有利于解决分歧和不协调,为了工做和开发
-
关注使用者
- 要让其易于理解
- 在需求说明、设计和实现过程当中,牢记要让别人理解你所作的事情
-
面向将来
- 生命周期持久的系统具备更高的价值
- 永远不要把本身的设计局限于一隅
- 提前应对,提前准备,不管如何,你应该想到,关于未来有可能发生的事情。考虑它!!!
-
提早计划复用
- 提早作好复用计划将下降开发费用,并增长可复用构件以及构件化系统的价值
- 须要有前瞻性的复用设计与计划
- API与SDK
-
认真思考
- 在行动以前清晰定位、完整思考,一般能产生更好的结果
- 最后一条多是最容易被忽略的。时刻提醒本身!!!
- 去接受你的好奇,和提高你的好奇!向前!!!
软件开发神话
- 纠正错误的神话
- 即便有软件开发标准和过程规程,想要落实和实施它也不容易,况且软件开发是不少团队共同协做的过程
- 软件开发难以经过增长人手直接性的提升进度,有序且有计划有实施,才是保障进度的最好方法。也只有在这样的状况下,增长人手才有意义。
- 与客户的沟通不顺畅,没有互相理解,及时纠正错误的信息,会致使坏结果
- 变动需求的时间越是早期,变动成本就越小。在设计框架创建,资源分配,甚至项目启动以后以后,变动的成本就越增长。直至致使没法挽回。
- 文档和设计,是很是重要的一部分