软件评测师笔记(二)—— 软件工程

简介: 软件评测师笔记(二)—— 软件工程

前言


软件评测师是中级中国计算机技术职业资格网(软考)证书,此博文是围绕【软件工程】相关常考点

 

设计模式


UML支持13种图,可分为两大类

结构图:类图、组合结构图、构件图、部署图、对象图、包图

行为图:活动图、交互图(顺序图、通信图、交互概览图、时序图)、用例图、状态图


主要作用:

  • 数据流图-功能建模
  • 实体联系图-数据建模
  • 状态迁移图-行为建模


开发模型


V模型:包括低层测试又包括了高层测试,低层测试是为了确保源代码的正确性,高层测试是为了使整个系统满足用户的需求

H模型:强调的是测试准备与测试实施的分离,而不是紧密结合

瀑布模型:以文档为驱动,适合于软件需求明确的软件项目模型

原型模型:需求不明确情况下,快速开发出一个原型

喷泉模型:以对象为驱动,适合面向对象的开发方法

螺旋模型:项目失败风险较低,预知开发的风险


关系代数

常见的关系运算:并、差、交、选择、投影、连接


数据的表示

采用8位整数,数据的表示范围

原码:-127~+127

反码:-127~+127

补码:-128~+127


详细设计的基本任务

  1. 数据库物理设计
  2. 模块算法
  3. 数据结构设计
  4. 其他设计


软件维护阶段

  1. 正确性维护:改正在开发阶段发现的错误
  2. 适应性维护:使软件适应信息技术变化和管理需求变化而进行的修改
  3. 完善性维护:是为了扩充功能和改善性能而进行的修改
  4. 预防性维护:为了适应未来的软硬件环境的变化


维护行为

  1. 改正性维护:诊断和改正这些隐蔽错误而修改软件
  2. 适应性维护:适用变化了环境而修改软件
  3. 完善性维护:扩充或完善原有软件功能或性能而修改软件
  4. 预防性维护:为了提高软件的可维护性和可靠性,增强可读性,而修改软件你


用例图

作用:可用来对功能需求建模

注意:泛化就是继承

image.png


极限编程XP

  1. 四个部分组成
  2. 四个价值观
  3. 五大原则


耦合

非直接耦合:两个模块之间没有直接关系,它们的联系完全是通过主模块的控制和调用来实现的。

数据耦合:两个模块彼此间通过数据参数交换信息。

标记耦合:一组模块通过参数表传递记录信息,这个记录是某一个数据结构的子结构,而不是简单变量。

控制耦合:两个模块彼此间传递的信息中有控制信息。

外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息

公共耦合:两个模块之间通过一个公共的数据区域传递信息。

内容耦合:一个模块需要涉及到另一个模块的内部信息。


内聚(强->弱)

巧合聚合:模块完成的动作之间没有任何关系,或者仅仅是一种非常松散的关系。

逻辑聚合:模块内部的各个组成在逻辑上具有相似的处理动作,但功能用途上彼此无关。

时间聚合:模块内部的各个组成部分所包含的处理动作必须在同一时间内执行。

过程聚合:按特定的次序执行。

通信聚合:模块的各个组成部分所完成的动作都使用了同一个数据或产生同一输出数据。

顺序聚合:模块内部的各个部分,前一部分处理动作的最后输出是后一部分处理动作的输入。

功能聚合:模块内部各个部分全部属于一个整体,并执行同一功能,且各部分对实现该功能都比不可少


软件设计

包括概要设计、详细设计


概要设计

  1. 体系结构设计
  2. 模块划分
  3. 数据结构、数据库设计
  4. 编写设计文档、评审


知识点


松弛时间:关键路径-所在路径的长度


结构化开发方法:自顶向下、功能的分解抽象、面向数据流、适合数据处理领域的问题,不适合解决大规模复杂项目,难以适应需求的变化


结构化分析的输出包括:数据流图、数据字典、加工逻辑

数据字典:为数据流图中的每个数据流、文件、加工,以及组成数据流或文件的数据项做说明

数据字典包含:数据流、数据项、数据存储、数据加工

加工:描述了输入数据流到输出数据流之间的变换

数据流图:用于行为建模,包含了加工,不能表示实体之间的关系和清晰地表达加工的处理过程

相关文章
|
4月前
|
Java 关系型数据库 MySQL
高校大学生社团管理系统的设计与实现(论文+源码)_kaic
高校大学生社团管理系统的设计与实现(论文+源码)_kaic
|
设计模式 机器学习/深度学习 SQL
软考高级系统架构设计师通关经验分享
为什么考系统架构设计师是国家设立的计算机技术与软件专业技术资格考试(简称软考)中的一个高级科目,属于工程师高级职称系列,具有一定含金量。浙江省每年通过软考高级的人数约为1000+人,其中系统架构设计师科目的通过人数约为200+人。从学习角度来说,通过准备系统架构设计师的考试的过程,可以查漏补缺,并且了解一些系统架构设计相关的基础知识,实现一定程度上的自我提升;从目的性的角度来说,通过考试,可以在一
11502 3
软考高级系统架构设计师通关经验分享
|
3月前
|
存储 算法 Linux
|
3月前
|
存储 数据采集 SQL
|
11月前
|
开发者
系统分析师笔记:知识产权
系统分析师笔记:知识产权
|
数据处理 云计算 对象存储
大家好,我是来自普通本科软件工程专业的学生。
大家好,我是来自普通本科软件工程专业的学生。我最近开发了一个小游戏,并希望与其他人分享。为此,我想拥有一台自己的云服务器,以便让玩家们能够随时随地玩我的游戏。通过身边的同学,我了解到了阿里云的飞天计划并登陆了阿里云官网了解了这个活动。
|
设计模式 存储 架构师
2022下半年《软考-系统架构设计师》备考经验分享
我参加了2022年11月份的《软考-系统架构设计师》考试,在一个多月的备考之中我总结了一些学习经验和答题技巧,现毫无保留的分享给大家,希望对报考的同学们有所帮助
795 0
2022下半年《软考-系统架构设计师》备考经验分享
|
供应链 安全 数据挖掘
软考信息系统项目管理师笔记(一)
笔记是由五天修炼手册总结的,如用同一类教材的可以参考使用本笔记,祝各位考生早日拿证,共勉加油。
334 1
|
算法 测试技术
五校联合软件工程专业软件工程概论
五校联合软件工程专业软件工程概论
139 0
五校联合软件工程专业软件工程概论
|
缓存 网络协议 安全
软件评测师笔记(一)—— 网络相关
软件评测师笔记(一)—— 网络相关
142 0
软件评测师笔记(一)—— 网络相关