- 软件件必须进行适应性调整,以满足新的计算环境和技术的需求。
- 软件必须升级以实现新的商业需求。
- 软件必须扩展使之具有与更多现代系统和数据库的互操作能力。
- 软件必须进行改建使之能适应多样化的网络环境。
1.3 软件危机
- 落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象称为软件危机。
1.4 软件工程
- 定义:(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护, 即将工程化方法应用于软件以及上述所述方法的研究。
1.5 软件工程三要素
- tools 工具
- methods 方法
- process model 过程
1.6 软件工程的层次图
- 方法、工具、过程、质量关注点
- P.S.三要素&a ‘quality’ focus
1.7 Hooker的一般原则
- 存在价值
- 保持简洁
- 保持愿景
- 关注使用者
- 面向未来
- 计划复用
- 认真思考
chapter_2
2.1 软件生命周期
- 软件定义时期
- 软件开发时期
- 软件维护时期
2.2 瀑布模型
-
特点:
-
- 阶段间的顺序性和依赖
- 推迟实现的观点
- 质量保证的观点:文档、评审
- 阶段间的顺序性和依赖
-
优点:
-
- 通过设置里程碑,明确每阶段的任务与目标。
- 可为每阶段制定开发计划,进行成本预算,组织开发力量
- 通过阶段评审,将开发过程纳入正确轨道
- 强迫开发人员采用规范化的方法
- 通过设置里程碑,明确每阶段的任务与目标。
-
缺点:
-
- 缺乏灵活性,不能适应用户需求的改变
- 开始阶段的小错误被逐级放大,可能导致软件产品报废
- 返回上一级的开发需要十分高昂的代价
- 随着软件规模和复杂性的增加,软件产品成功的机率大幅下降。
- 缺乏灵活性,不能适应用户需求的改变
2.3 螺旋模型
-
优点:
-
- 支持用户需求的动态变化
- 原型易于用户和开发人员共同理解需求
- 降低开发风险
- 支持用户需求的动态变化
-
缺点:
-
- 如果每次迭代的效率不高,致使迭代次数过多,将会增加成本并推迟提交时间
- 使用该模型需要有相当丰富的风险评估经验和专门知识,要求开发队伍水平较高。
- 如果每次迭代的效率不高,致使迭代次数过多,将会增加成本并推迟提交时间
2.4 通用框架活动有哪些?
- 沟通、策划、建模、构建、部署
2.5 通用过程模型有哪些 ?
- 瀑布模型、原型、螺旋模型、协同、增量模型、RAD 模型
chapter_3
3.1 敏捷宣言
- 个体和交互胜过过程和工具
- 可行的软件胜过篇篇文档
- 客户合作胜过合同谈判
- 响应变更胜过遵循计划
- 核心理念是适应和以人为本
3.2 敏捷开发
- 一种以人为核心、迭代 、循序渐进的开发方法。
3.3 XP的Spike解决方法
- 迭代&重构
3.4 敏捷过程模型有哪些?
- XP、Scrum、Crystal、ASD、驱动开发
chapter_4
4.1 需求工程的任务有哪些
- 起始、导出、精化、协商、规格说明、确认、需求管理
4.2 质量功能部署有哪三类需求?
- 常规需求、期望需求、意外需求
4.3 需求模型的元素有哪些
- 基于场景的元素、基于类的元素、行为元素、面向数据流元素
chapter_5
5.1 需求分析的元素有哪些?
- 基于场景的模型、基于类的模型、行为模型、面向数据流的模型
5.2 基于类的模型的元素有哪些?
- 类和对象、属性、 操作、CRC模型、协作图、包
5.3 什么是CRC模型?
- 类-职责-协作者 (Class-Responsibility-Collaboration)可以识别和组织与系统或产品需求相关的类。
chapter_6
6.1 软件设计宣言
- 良好软件设计应该展示:坚固、适用、愉悦
6.2 从技术角度,软件设计有哪几种设计?
- 数据设计、体系结构设计、构件设计、接口设计
6.3 从管理角度,软件设计有哪几种设计?
- 概要设计和详细设计
6.4 重构
- 重构是使用这样一种方式改变软件系统的过程:不改变代码的外部行为而是改进其内部结构 。
chapter_7
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!