软件工程导论

四川大学软件工程导论课程重点总结2024

概要

开发一个软件的整个流程
在这里插入图片描述

基本概念

软件工程
在这里插入图片描述软件
在这里插入图片描述

软件过程:敏捷开发,极限编程

通用过程框架
在这里插入图片描述瀑布模型:沟通,策划,建模,构件,部署
原型模型
在这里插入图片描述敏捷开发:aglie
在这里插入图片描述

软件表达方法:可视化为UML*13种

用例图
在这里插入图片描述活动图
在这里插入图片描述类图
顺序图
在这里插入图片描述通信图
在这里插入图片描述状态图
在这里插入图片描述

界面调研:黄金准则

黄金准则:减少记忆负担,用户掌控,界面一致

软件分析,设计,重构:用例分析,GRASP,设计概念,设计原则OCP等

1.抽象:抽象是人类解决复杂问题的一种手段,更是一种思想。包含了过程抽象和数据抽象。过程抽象指的具有明确和有限的指令序列;数据抽象是描述数据对象的冠名数据集合。
2.求精:求精实际上是一个细化的过程:该过程从高抽象级上定义的功能陈述或信息描述开始。然后在原始陈述上进行细化,随着在每个细化的持续进行,将提供越来越多的细节
3.体系结构:软件的整体结构和这种结构为系统提供概念完整性的方式,构建表示主要的系统元素及其交互。
4.关注点分离:关注点分离是将复杂问题分解为可以以独立解决或优化的若干块,使得该复杂问题能够更容易地被处理的设计概念。
5.模块化:模块化是一种软件设计技术,强调将程序的功能分解为独立的、可互换的模块,每个模块都包含执行所需功能的所有必要元素。在架构领域中,模块化就是表示从逻辑上给相互关联的代码分组的过程。模块化的度量可以使用三个度量指标:内聚,耦合和共生。
6.信息隐藏:在计算机科学中,信息隐藏是将计算机程序中最有可能发生变化的设计决策与程序的其他部分隔离开来的原则。信息隐藏的目标是通过提供稳定的接口来保护程序的其他部分免受实现(其细节可能会发生变化)的影响。
7.功能独立:功能独立在软件工程中意味着当一个模块专注于单一任务时,它应该能够以很少与其他模块的交互来完成它。如果一个模块在功能上独立于其他模块,那么它意味着它具有高内聚和低耦合。
8.方面:通过允许分离横切关注点来增加模块性。这允许那些不是业务逻辑的核心(如日志记录)的行为被添加到程序中,而不会使核心函数的代码变得混乱。

在这里插入图片描述

体系结构

在这里插入图片描述

测试:圈复杂度,测试用例

圈复杂度:V(G)
覆盖所有的可能情况最少使用的测试用例数

测试用例设计方法
在这里插入图片描述
边界值测试
在这里插入图片描述在这里插入图片描述在这里插入图片描述方法1测试用例为9个:(min,min+,max,max+)*2,nom,引入健壮性为13个:(min-,max+)*2
方法2测试用例为25个:5^n

等价类测试
在这里插入图片描述在这里插入图片描述在这里插入图片描述路径分析测试
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值