前言:
以前没有当项目经理,不知道软件工程的重要性。
以前没有当产品经理,不知道软件工程的重要性。
产品经理:做正确的事情。一个是目的。
项目经理:把事情做正确。一个是过程。
参考资料:
1. 敏捷开发
2. 微服务架构:敏捷软件架构的实际体现
3. 软件工程
4. 持续集成
软件工程
一般软件过程中分为4个活动
- 软件描述:确定软件的功能和约束
- 软件的设计和开发:生产符合描述的软件
- 软件的有效性验证:验证是否满足客户要求
- 软件进化:不断的满足客户的要求
软件工程可以分为三种软件过程模型,简化符合规范的模型。
- 瀑布式:RUP rational公司是一个迭代的过程
- 增量式:敏捷开发(极限编程和scurm)
- 复用式
- 瀑布式:RUP rational公司是一个迭代的过程
- 问题是怎样讲现实世界的映射到程序世界。
不管软件过程模型是哪一种,都离不开4个活动。
- 需求分析
- 软件设计和开发(建模和体系结构设计)
体系结构设计:如何组织和设计系统的整体机构,满足系统需求的功能和非功能。体系结构设计输出体系结构模型
体系结构模型:非功能-影响系统的性能、健壮性、安全、可用性、可维护性。
体系结构模型由体系机构视图表示
每个视图针对的不同的角色,每个角色关注不同的侧面。
- 概念视图:用例图 称为场景视图,是用户需求和系统功能抽象—
- 逻辑视图:模式图(此图uml没有,但是可以找到相对应) 对象和对象类进行抽象 客户
- 开发视图: 类、组件图 将不同的模块进行合理的分解 ——项目管理者和程序员。
- 进程视图: 时序图、活动图和状态图,表示的是系统中不同的组件按照功能的实现进行的交互。
- 物理视图:部署图。
而各视图之间有什么关系,怎样与uml的图对应。
- 怎样画4+1视图
软件测试:
测试只能证明存在错误,而不能证明它们不存在
原则:测试优于开发
过程:测试的各个阶段
1. 向开发者和用户展示功能满足需求-有效性测试
2. 找出缺陷和不足-缺陷测试
软件测试的过程模型
测试的3个阶段
1. 开发测试–缺陷测试
系统设计师和程序员 发现故障和缺陷
- 单元测试:针对单独的程序单元或对象类
- 组件测试:着重于组件接口
- 系统测试:整体测试 着重组件交互
2. 发布测试
着重需求测试
3. 用户测试