【学习中】软件工程
🗓 2020年01月01日 📁 文章归类: 学习中
版权声明:本文作者是郭飞。转载随意,标明原文链接即可。
        
        原文链接:https://www.guofei.site/2020/01/01/software_engineering.html
      
软件的定义:程序+文档
软件工程的目标:生成具有正确性、可用性、开销合宜的产品
- 正确性:软件产品达到预期功能
 - 可用性:软件的基本结构、实现、文档为用户可用的程序
 - 开销合宜:软件的开发、运行的开销满足用户要求
 
软件工程活动:需求、设计、实现、确认、支持
- 需求:系统模型、系统功能的精确、系统的描述
    
- 需求验证:验证需求陈述和需求规约之间的一致性、完整性、可跟踪性
 
 - 设计
    
- 总体设计:体系结构、子系统、模块、接口定义
 - 详细设计:每个模块的详细描述、数据结构说明、算法
 
 - 实现
 - 确认:贯穿于整个开发过程
    
- 包括需求复审、设计复审、程序测试
 
 - 支持活动
    
- 完善性维护、纠错性维护、适应性维护
 
 
软件生存周期:形成概念、历经开发、交付、修订、演化、淘汰
软件过程:过程是活动的集合,活动是任务的集合,任务是输入转换为输出的操作
关键过程分3类:
- 基本过程:与软件生产直接相关的活动集。又分为5个:
    
- 获取过程:需方,定义客户要求,接受客户要求的产品
 - 供应过程:供方,
 - 开发过程:软件开发者(又包含13个活动)
 - 运行过程:系统操作者
 - 维护过程:维护者
 
 - 支持过程:有关各方按其目标从事的一系列支持活动集。分为8个
    
- 文档过程:为记录生存周期过程所产生的信息而定义的活动
 - 配置管理过程
 - 质量保证过程
 - 验证过程
 - 确认过程
 - 联合评审过程
 - 审计过程
 - 问题解决过程
 
 - 组织过程:与软件生产组织有关的活动集
 
参考资料
https://www.icourse163.org/course/PKU-1003177002
课程笔记:(清华)《软件工程》 刘强老师
概述
持续进行的需求管理
| 行动 | 产出 | 
|---|---|
| 需求获取 | 会议记录等 | 
| 需求分析 | 分析模型 | 
| 需求规格说明 | 需求规格说明书 | 
| 需求验证 | 已确认的需求规格说明书 | 
团队建设
- 进度管理
    
- 每周一晚8:00召开小组讨论会,地点在xxx。主要内容是进展、心得、遇到的问题和风险
 - 每周三、五团队集中开发
 - 每次集中开发前矩形10分钟站立会议。报告开发进度、困难。
 - 周报(或需求管理系统)提交到系统
 
 - 团队管理
    
- 记分方式记录成员参与度,每次参加加1分。
 - 周会应当简洁,每人事先准备。轮流做会议纪要
 
 - 团队建设
    
- 鼓励写技术博客
 - 达到阶段目标时,请大家pizza party
 
 
敏捷开发
原因是互联网时代的特点决定的:
- 小bug可以容忍,但是时间很重要,早一天发布可能结果完全不同
 - 客户需求是无法在一开始定下的,往往先有了软件,才有了需求
 - 即使是已经做完的app,也要经常更新,否则也会失败
 
需求提取
5W2H
1:card
- As a 【user】,I want 【function】,so that 【value】
 - As a 【role】,I want 【feature】,because 【reason】
 - As a 【role】,I can 【feature】
 - As a 【role】,I want 【feature】,so that 【reason】
 
2:conversation
您的支持将鼓励我继续创作!