《软件工程 实践者的研究方法》第二章-软件工程

第二章——软件工程

思惟导图

文件分享

如要获取markdown文件和思惟导图X-mind文件,请点击:https://share.weiyun.com/STYC0ZiN
前端

导言

首先,你应该认识到:

  • 什么是软件

其次,你应该有认知:

  • 什么是软件工程

由简单事实能够获得一个简单结论:

  • 各类形式、各个应用领域的软件都须要工程化

定义软件工程

定义无所谓,就是软件工程

质量关注点

  • 支持软件工程的根基

过程层

  • 软件工程的基础
  • 就是软件开发上线的过程

软件工程方法

  • HOW
  • 解决方法

软件工程工具

本章重点:软件过程

工做产品构建时所执行的一系列活动、动做和任务的集合

  • 活动(activity)编程

    • 主要实现宽泛的目标
  • 动做(action)后端

    • 过程当中的一系列任务
  • 任务(task)markdown

    • 关注小而明确的目标

过程框架

  • 沟通框架

    • 我宁愿将之称为:需求获取与分析
    • 沟通无处不在,但尤其注意的是与客户等利益相关方的沟通,使之明确
  • 策划工具

    • 若是有地图,任何复杂的旅程均可以变得简单
    • 理所固然,就是策划软件
    • 这是产品经理流程最重要的一部分工做
  • 建模测试

    • 创建模型
    • 画草图并不断细化
    • 固然,原型开发,这是个很重要的活儿。
    • UI
  • 构建设计

    • 前端设计与编程
    • 后端开发
    • 测试,修改
  • 部署3d

    • 部署上线
    • 由用户给出评测和反馈
    • 而且持续维护
    • 迭代

普适性活动

  • 一般,这些普适性活动会贯穿项目始终
  • 软件项目跟踪与控制
  • 风险管理
  • 软件质量保证
  • 技术评审
  • 测量
  • 软件配置管理
  • 可复用管理
  • 工做产品的准备和生产

过程的适应性调整

  • 任何东西都有变化与调整,难以有一成不变的东西
  • 我认为食谱只是一种指导方法——Benoit

软件工程实践

实践的精髓

  • 经典著做《How to Solve it》
  1. 理解问题前端设计

    • 理解问题并不是那么容易
    • 理解问题最重要的是倾听
    • 找出真正的问题
    • 并进行细化和切分,梳理逻辑关系和重要程度
  2. 策划解决方法

    • 策划实际上是关键一步,由于它彻底涉及到全体四部分
  3. 实施计划

    • 任何计划不落地都是没有意义的。
    • 在实施中,进行追溯和校订,测量评估
    • 实施必需要有KPI,也就是指标!!!
  4. 检查结果的正确性

    • 检查是重要的。
    • 采用正确的常识,可让你永远不迷失方向

通用原则

  • David Hooker提出了7个关注软件工程总体实践的原则
  1. 存在价值

    • 一个软件系统因能为用户提供价值而具备存在的意义
    • 全部的决策都应该基于这个思想
    • 这是真正的价值
    • 用户是第一位的
    • 在开始一个软件项目以前,应首先确保软件具备商业目标而且让用户体会到它的价值
  2. 保持简洁

    • Keep Simple
    • 构建易于理解和易于维护的系统
    • 简洁而非简化,而是恰到好处,肯定所作的范围
    • BP!
  3. 保持愿景

    • 清晰的愿景是软件项目成功的基础
    • 没有愿景,将没法保持统一和一致
    • 内部如此,外部也同样如此
    • 愿景有利于解决分歧和不协调,为了工做和开发
  4. 关注使用者

    • 要让其易于理解
    • 在需求说明、设计和实现过程当中,牢记要让别人理解你所作的事情
  5. 面向将来

    • 生命周期持久的系统具备更高的价值
    • 永远不要把本身的设计局限于一隅
    • 提前应对,提前准备,不管如何,你应该想到,关于未来有可能发生的事情。考虑它!!!
  6. 提早计划复用

    • 提早作好复用计划将下降开发费用,并增长可复用构件以及构件化系统的价值
    • 须要有前瞻性的复用设计与计划
    • API与SDK
  7. 认真思考

    • 在行动以前清晰定位、完整思考,一般能产生更好的结果
    • 最后一条多是最容易被忽略的。时刻提醒本身!!!
    • 去接受你的好奇,和提高你的好奇!向前!!!

软件开发神话

  • 纠正错误的神话
  • 即便有软件开发标准和过程规程,想要落实和实施它也不容易,况且软件开发是不少团队共同协做的过程
  • 软件开发难以经过增长人手直接性的提升进度,有序且有计划有实施,才是保障进度的最好方法。也只有在这样的状况下,增长人手才有意义。
  • 与客户的沟通不顺畅,没有互相理解,及时纠正错误的信息,会致使坏结果
  • 变动需求的时间越是早期,变动成本就越小。在设计框架创建,资源分配,甚至项目启动以后以后,变动的成本就越增长。直至致使没法挽回。
  • 文档和设计,是很是重要的一部分
相关文章
相关标签/搜索