导图社区 软件工程基础
这是一篇关于软件工程基础的思维导图,主要内容包括:软件三阶段,软件危机,软件工程,软件。
这是一篇关于数据库设计基础的思维导图,主要内容包括:关系代数,关系模型,网状模型(图),层次模型(树),E-R模型,数据模型,数据库系统的内部结构体系,数据库管理系统的发展和特点,数据库的基本概念。
这是一篇关于程序设计基础的思维导图,程序设计基础是软件开发工作的重要部分,涵盖了多个基本概念和原则,对于初学者来说,掌握这些基础知识是成为一名优秀程序员的关键。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
软件工程基础
软件
定义
计算机软件是包括程序、数据以及相关文档的集合
特点
软件具有抽象性,是一种逻辑实体
软件没有明显的制作过程
软件在使用期间不存在磨损、老化问题
对硬件和环境有依赖性
软件复杂性高,成本昂贵
软件开发设计诸多社会因素
按功能分类
应用软件:是用户可以使用的各种程序设计语言,以及各种程序设计语言编制的应用程序的集合,编辑软件、教务管理系统软件属于应用软件
系统软件:是控制和协调计算机及外部设备,支持应用软件开发和运行的软件,操作系统是系统软件
支撑软件(或工具软件):是支撑各种软件开发与维护的软件,又称软件开发环境,浏览器属于支撑软件
生命周期
产品提出
实现
使用
维护
停止使用(退役)
软件危机
随着计算机软件规模的扩大,软件本身的复杂性不断增加,研发周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了入们难以控制软件发展的局面,即所谓的“软件危机”
具体表现
软件需求的增长得不到满足
软件开发的成本和进度无法控制
软件质量难以控制
软件不可维护或维护程度非常低
软件成本不断提高
软件开发生产利用率的提高赶不上硬件的发展和应用需求的增长 即成本、质量、生产率等问题
软件工程
软件工程三要素
方法
工具
过程
软件工程研究
软件开发技术和软件工程管理
结构化分析
结构化分析方法(重视过程)
面向对象的分析方法(重视结果)
数据流图:用来描述数据流向的图形
数据字典:结构化分析方法的核心
判定表:以表格的形式将条件融合数据分析
判定树:按不同类别不断细分,得到数据分析
软件三阶段
软件定义阶段
制定计划
需求分析,软件需求规格说明书是需求分析阶段的最后成果需求规格说明书,只和数据、文档有关系,与程序指令无关系
需求获取
编写需求规格说明书
需求评审
需求分析
软件需求说明书(SRS)的作用
便于用户、开发人员进行理解和交流
反映用户问题的结构,可以作为软件开发工作的基础和依据
作为确认测试和验收的依据
为成本估算和编制计划进度提供基础
软件不断改进的基础
软件开发阶段
软件设计
宏观(概要设计)
任务
设计软件系统结构
数据结构以及数据库设计
编写概要设计文档
概要设计文档评审
概要设计常用的软件结构设计工具
结构图,也称为系统结构图,结构图中带箭头的连线表示模块之间的调用关系
关于系统结构图
深度越深宽度越宽说明系统越复杂
原子模块:树中位于叶子节点的模块
概要设计里数据流的类型有变换型(数据会变化)和事务型(数据会分配传递)
微观(详细设计/局部设计/微观设计/过程设计)
图形工具:程序流程图(PFD)(程序流程图中的箭头代表的是控制流)、N-S图(方框图)、PAD、HIPO
表格工具:判定表
语言工具:PDL(伪码)
软件实现
软件测试
目的
发现错误而执行程序的过程,只发现不改进错误,不能也不可能证明程序没有错误,也不可能发现全部错误
对象
源程序
目标程序
数据
相关文档
白盒测试:主要方法有逻辑覆盖,基本路径测试
黑盒测试:测试的是外部功能与特性,依据需求规格说明书,主要方法是等价类划分法,边界值分析法,错误推测法和因果图
步骤
单元测试:主要是白盒测试
集成测试:看单元是否冲突,看得是环节,主要是发现与接口有关的错误,集成测试的依据是概要设计说明书
确认测试:验证软件的有效性,依据是软件需求规格说明书,主要是黑盒测试
系统测试:环境参与做的测试,测试用例是根据软件需求规格说明书,重点是环境
软件维护阶段
使用、维护、退役,软件生命周期中花费最多的阶段
需求分析阶段(分析数据)