导图社区 软件工程
总结了比较久的思维导图,考试有考的地方我自己会做注释,希望对大家有用
提示: 本内容由社区用户上传并分享。平台不对内容的真实性、合法性、知识产权归属及是否侵害第三方权利进行事前审核或保证。本内容可能包含受版权保护的图片、字体或其他第三方素材,使用前请自行确认授权范围。
这是一篇关于高中英语3500词 - 动作与行为思维导图,"掌握这些高频动词,让你的英语表达更生动!本篇汇总高中英语3500词中的动作与行为类重点词汇,按字母倒序排列,涵盖Z-A的实用动词如zoom(快速移动)、write(书写)、volunteer(志愿)等,以及不规则变化动词wake(woke/woken)、understand(understood)等特别收录高频动作词组withdraw(撤回)、transform(转变)、whisper(低语)等,帮助学习者精准描述行为动态所有词汇均来自考纲核心词库,适合搭配例句强化记忆。"可用于每日单词打卡、早读集中背诵、期中期末考前词汇查漏、英语议论文高级素材积累。学生可保存电子导图随时翻看记忆,也能打印纸质版随身背诵;高中英语教师可直接套用模板制作课堂词汇课件、单元单词听写清单、高考科技词汇专题复习讲义;课外英语辅导老师依托导图就能搭建完整主题词汇教学体系,省去手动整理上千个单词的繁琐工作,大幅节约备课与整理复习资料的时间。
这是一篇关于高中英语3500词 - 科学与技术思维导图,"掌握这些科技词汇,让你的英语学习如虎添翼!这份高中英语3500词精选聚焦科学与技术领域,涵盖W到A的字母排序核心词汇:从workforce(劳动力)到wave(波)、washing-machine(洗衣机)等生活科技收录theory(理论)、telescope(望远镜)等学术术语包含robot(机器人)、internet(互联网)等数字时代关键词更囊括scientist(科学家)、experiment(实验)等研究类词汇每个单词都是理解科技英语的基石,助你快速构建专业词汇网络" 。可用于每日单词打卡、早读集中背诵、期中期末考前词汇查漏、英语议论文高级素材积累。学生可保存电子导图随时翻看记忆,也能打印纸质版随身背诵;高中英语教师可直接套用模板制作课堂词汇课件、单元单词听写清单、高考科技词汇专题复习讲义;课外英语辅导老师依托导图就能搭建完整主题词汇教学体系,省去手动整理上千个单词的繁琐工作,大幅节约备课与整理复习资料的时间。
这是一篇关于高中英语3500词 - 日常生活思维导图,"掌握高中英语3500词,轻松应对日常生活场景!从A到Z系统梳理高频词汇:year记录时光,walkman承载回忆餐桌礼仪(table manners)到排球(volleyball)运动,覆盖衣食住行重点包含:wear/wore/worn等不规则动词,tea/teapot等饮食词汇,villager/village等生活场景词,以及unhealthy/thirsty等状态描述。通过timetable规划学习,用teamwork提升效率,3500词帮你突破英语交流障碍!" 导图排版干净清爽,字母分区直观易懂,电子档、纸质打印版本均可正常使用,覆盖高一夯实词汇基础、高二巩固积累、高三冲刺提分全高中学习周期,高效提升单词背诵效率,丰富记叙文、书信类写作词汇储备,降低日常生活题材阅读文章生词理解障碍,搭配社会文化、情感性格、学校教育等同系列导图,即可完整梳理全套高中英语 3500 考纲词汇。
社区模板帮助中心,点此进入>>
这是一篇关于高中英语3500词 - 动作与行为思维导图,"掌握这些高频动词,让你的英语表达更生动!本篇汇总高中英语3500词中的动作与行为类重点词汇,按字母倒序排列,涵盖Z-A的实用动词如zoom(快速移动)、write(书写)、volunteer(志愿)等,以及不规则变化动词wake(woke/woken)、understand(understood)等特别收录高频动作词组withdraw(撤回)、transform(转变)、whisper(低语)等,帮助学习者精准描述行为动态所有词汇均来自考纲核心词库,适合搭配例句强化记忆。"可用于每日单词打卡、早读集中背诵、期中期末考前词汇查漏、英语议论文高级素材积累。学生可保存电子导图随时翻看记忆,也能打印纸质版随身背诵;高中英语教师可直接套用模板制作课堂词汇课件、单元单词听写清单、高考科技词汇专题复习讲义;课外英语辅导老师依托导图就能搭建完整主题词汇教学体系,省去手动整理上千个单词的繁琐工作,大幅节约备课与整理复习资料的时间。
这是一篇关于高中英语3500词 - 科学与技术思维导图,"掌握这些科技词汇,让你的英语学习如虎添翼!这份高中英语3500词精选聚焦科学与技术领域,涵盖W到A的字母排序核心词汇:从workforce(劳动力)到wave(波)、washing-machine(洗衣机)等生活科技收录theory(理论)、telescope(望远镜)等学术术语包含robot(机器人)、internet(互联网)等数字时代关键词更囊括scientist(科学家)、experiment(实验)等研究类词汇每个单词都是理解科技英语的基石,助你快速构建专业词汇网络" 。可用于每日单词打卡、早读集中背诵、期中期末考前词汇查漏、英语议论文高级素材积累。学生可保存电子导图随时翻看记忆,也能打印纸质版随身背诵;高中英语教师可直接套用模板制作课堂词汇课件、单元单词听写清单、高考科技词汇专题复习讲义;课外英语辅导老师依托导图就能搭建完整主题词汇教学体系,省去手动整理上千个单词的繁琐工作,大幅节约备课与整理复习资料的时间。
这是一篇关于高中英语3500词 - 日常生活思维导图,"掌握高中英语3500词,轻松应对日常生活场景!从A到Z系统梳理高频词汇:year记录时光,walkman承载回忆餐桌礼仪(table manners)到排球(volleyball)运动,覆盖衣食住行重点包含:wear/wore/worn等不规则动词,tea/teapot等饮食词汇,villager/village等生活场景词,以及unhealthy/thirsty等状态描述。通过timetable规划学习,用teamwork提升效率,3500词帮你突破英语交流障碍!" 导图排版干净清爽,字母分区直观易懂,电子档、纸质打印版本均可正常使用,覆盖高一夯实词汇基础、高二巩固积累、高三冲刺提分全高中学习周期,高效提升单词背诵效率,丰富记叙文、书信类写作词汇储备,降低日常生活题材阅读文章生词理解障碍,搭配社会文化、情感性格、学校教育等同系列导图,即可完整梳理全套高中英语 3500 考纲词汇。
软件工程
概述
软件
内容
程序
数据
文档
特点
1.是逻辑产品,不是客观的实体 2.软件产品的生产是研制 3.软件不会磨损,消耗 4.软件的生产过程主要是脑力劳动 5.软件产品的生产成本比较高
软件危机
定义
软件危机就是在软件开发和维护过程中面临的一系列严重问题的现象
产生背景
1.开始时软件的规模小, 2.然后经过发展,软件的规模越来越大,出现的问题越来越多
主要表现
1.做的根想人家想的不一样 2.代码写的垃圾,没法管理和维护,超出运行时间,质量差 3.花的钱太多超出预算 项目运行超出预算。 项目运行超过时间。 软件质量低落。 软件通常不匹配需求。 项目无法管理,且代码难以维护。
原因分析
1.用户需求不明确 2.缺乏正确的理论指导 3.软件开发规模越来越大 4.软件开发复杂度越来越高
软件工程
目标
解决软件危机问题 用工程化的方法开发和维护有效的,实用和高质量的软件
软件生存周期
软件定义(计划)时期:做什么
需求获取
要解决什么问题
目标
1.明确问题的性质 2.工程的目标 3.规模的书面报告
可行性分析
可行性论证报告
1.对上一阶段的问题有解决的办法吗? 2.探究是否有解决的办法和解决的能力 3.
初步的项目开发计划
方面
经济可行性
技术可行性
社会可行性
需求分析
从用户的角度对软件功能进行定义和描述 ,弄清楚软件要解决什么问题。并用需求模型表示出来(功能需求,性能需求,环境约束,外部接口)
软件开发时期:如何做
软件设计
用软件分析模型转换为,考虑具体实现的具体实现技术和平台软件的设计模型
总体设计(概要设计)
确定系统的功能和模块,和其他全局性的设计原则
设计的内容
详细设计
对概要的一个细化 确定每一个部件的数据结构,并编写设计文档
每个模块的算法
编码
,把设计文档翻译成源程序
测试
提高软件质量
单元测试
在编码后进行,仔细测试编写的每一个模块
综合测试
各种类型的测试和调试
集成测试
确认测试
系统测试
运行维护时期
软件交付
培训
培训种类
用户培训
操作员培训
特殊培训需求
培训助手
文档
演示和上课
图元和联机帮助
文档
使用与维护
完善性维护
用户需求增加,功能需要完善
适应性维护
软件适应运行环境的改变而进行的一类 维护
纠错性维护
纠正开发期间未能发现的遗留错误
预防性维护
为了以后的运行,能运行,单=但为了防止防止发生问题而进行维护
软件工程学方法
方法:技术手段
传统方法
结构化范形(瀑布模型)当软件过大,需求不明确的时候容易出事故
面向对象方法
1.易维护
即使需求改变也只需要修改部分模块
2.质量高
在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
3.效率高
接近于现实生活,易于理解
4.易扩展
由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
需求分析和测试工具
形式化方法
工具
编码工具和调试工具
测试工具
过程:管理手段
软件工程知识体系
开发与维护过程
支持和组织过程
开发模型
瀑布模型
顺序的构建软件的方法 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来
过程增量模型
逐步细化,逐步提供更多功能 适用于需求明确,但项目资源受限的项目;
螺旋模型
适用于需求不明确的项目。一般是用于项目集管理,开发不会使用这种模型,因为不好控制项目的投资节点和时间节点。
演化过程模型
面向对象方法与UML
用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法
面向对象
类
对象
封装
多态
消息通信
面向对象的开发方法
统一建模语言UML
是用来对软件密集系统进行可视化建模的一种语言
事物
结构事物
行为事物
分组事物
注释事物
关系
依赖
关联
泛化
实现
图
结构图
类图
关联
单向
(单向关联:如顾客拥有地址)顾客——>地址
无向
(双向关联:如顾客购买商品,商品卖给顾客)顾客——商品
聚合
car◇——>engine 成员是对象的一部分
组合
man◆——>head 成员是对象的一部分,但是如果头没了,嘴,和其他的一切都没了(整体对象可以控制成员对象的生命周期)
依赖
驾驶员------>car(表示由依赖(依赖一方的某个方法的实现需要被依赖对象)的一方指向被依赖的一方)
泛化
继承关系,子类拥有父类的一切 student——▷person
构件图
部署图
行为图
活动图
用例图
关联
关联(参与者与用例)——>,
泛化
泛化(参与者与参与者),——▷
扩展
扩展(在这个行为上增加新的行为)------->《extend》
包含
包含(用例之间,一个用例包含了另外一个用例),------->《include》
状态图
顺序图
通信图
1.分析
需求分析
需求定义
产生需求文档SRS
1.引言
2.任务概述
3.功能需求
4.数据描述
5.性能需求
6.运行需求
附录
需求获取
需求获取
功能获取
非功能需求
可行性
技术可行性
经济可行性
社会可行性
结构化分析
分成数据流图【功能建模
E-R图【数据建模
实体
属性
关系
状态迁移图【行为建模
数据字典【核心
其它补充材料
面向对象分析
用例图:用例模型
类图:对象模型
状态图和顺序图:交互模型
2.设计
软件设计原则
模块独立
尽量达到,修改一个模块,就不需要修改其他模块的程度,
低耦合
耦合度:模块之间的关联程度,模块之间联系越紧密,耦合度越高
无直接耦合
数据耦合
有调用关系,传递简单的数据值
标记耦合
两个模块之间传递的是数据结构,如高级语言的数组名,记录名,文件名。实际传递的是这个数据结构的地址
控制耦合
指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能;
公共耦合
指通过一个公共数据环境相互作用的那些模块间的耦合。公共耦合的复杂程序随耦合模块的个数增加而增加。
内容耦合(最高,也最差
这是最高程度的耦合,也是最差的耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。
高内聚
偶然内聚
指一个模块内的各处理元素之间没有任何联系
逻辑内聚
指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
时间内聚
把需要同时执行的动作组合在一起形成的模块为时间内聚模块
通信内聚
指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据
顺序内聚
指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素输出就是下一功能元素的输入。
功能内聚
这是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。与其他模块的耦合是最弱的。
提高抽象层次
复用性设计
灵活性设计
结构化设计
体系结构设计
接口设计
数据设计
面向对象设计
设计原则
开闭原则
里氏置换原则
单一职责原则
依赖倒置原则
接口隔离原则
组合聚合原则
迪米特原则
概要设计
选定体系结构
确定设计方案
设计软件结构
数据结构和数据库设计
制定集成测试计划
编写概要设计文档
详细设计
为每个模块进行详细算法设计
为每个模块的数据结构进行设计
对数据库进行设计
其他设计
代码设计
输入/输出格式设计
界面设计
制定单元测试计划
评审
详细设计的描述方法
流程图
PAD图
过程设计语言
3.实现
设计语言
程序设计风格
编码规范
程序效率与性能分析
4.测试
为了发现程序的错误而执行程序的过程 目标: (1)测试是为了发现程序中的错误而执行程序的过程; (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; (3)成功的测试是发现了至今为止尚未发现的错误的测试。
种类
静态测试
不运行源程序进行测
代码检查
静态结构分析
代码质量度量
动态测试
白盒测试
语句覆盖(弱
判定覆盖
判定-条件覆盖
条件组合覆盖(强
路径覆盖
黑盒测试
边界值分析
等价类划分
步骤
单元测试
驱动模块
桩模块
集成测试
确认测试
a测试,b测试
系统测试
功能测试
回归测试
性能测试
恢复测试
安全性测试
压力(强度)测试
5.维护
纠错性维护
适应性维护
完善性维护
变更控制
文档说明
跟踪系统
授权准核机构
预防性维护
采用先进的软件采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。
步骤
确定维护类型
建立维护优先级
修改需求说明
修改软件设计
修改代码
进行测试步骤
6.管理
项目管理
步骤
项目的启动
项目的计划
项目的实施及控制过程
项目的收尾
项目的后期维护
核心三角因素
范围
时间
成本
风险管理
进度管理
需求管理
配置管理
浮动主题