首页 > 其他分享 >软件测评笔记02--软件工程

软件测评笔记02--软件工程

时间:2024-05-10 15:14:04浏览次数:25  
标签:02 -- 耦合 软件工程 模块 127 数据流 软件 数据

 

设计模式

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

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

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

主要作用:

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

开发模型

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

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

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

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

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

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

关系代数

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

 

 

数据的表示

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

原码:-127~+127

反码:-127~+127

补码:-128~+127

详细设计的基本任务

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

软件维护阶段

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

维护行为

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

用例图

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

注意:泛化就是继承

 

极限编程XP

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

 

耦合

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

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

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

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

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

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

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

 

内聚

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

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

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

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

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

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

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

 

软件设计

包括概要设计、详细设计

概要设计

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

 

知识点

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

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

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

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

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

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

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

 

 

 

--参考链接

https://www.cnblogs.com/poloyy/category/1625646.html

 

标签:02,--,耦合,软件工程,模块,127,数据流,软件,数据
From: https://www.cnblogs.com/hc1hr2/p/15311045.html

相关文章

  • 实验4-代码审查
    一、实验题目:代码审查二、实验目的1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查;2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。三、实验内容1、IDEA环境和PyCharm环境二选一;IDEA环境(1)预先准备在IDEA环境下实现对输入的n个整数进行......
  • 自动驾驶:从模拟学习到逆强化学习的思考
    引言自动驾驶技术正在迅速发展,但要实现真正的自主驾驶,模型必须能够复杂且准确地模拟人类司机的行为。通过我的最近实验,我探索了基本的模拟学习,然后进一步探索逆强化学习等方法,目的是让自动驾驶模型不仅能模仿,更能深入理解驾驶的决策过程。模拟学习的初步尝试在进行VLM端到......
  • React的高阶组件详解
    接受一个或多个函数作为参数;返回一个新的函数;2使用场景(页面权限,某些页面是必须用户登录成功才能进行进入;如果用户没有登录成功,那么直接跳转到登录页面;)//定义一个高阶组件,用于鉴权的操作functionloginAuth(WrapperCpn){returnprops=>{//从本地存储中获取tok......
  • 在Mac电脑上新建SSH Key的详细步骤
    SSH(SecureShell)是一种加密的网络传输协议,允许用户安全地登录到远程服务器并执行命令。而SSHkey则是一对用于身份验证的密钥,包括公钥和私钥。在Mac电脑上新建SSHkey是保障远程连接安全的重要步骤。本文将详细介绍如何在Mac上生成SSH密钥对,并将其用于远程连接。一、打开终端首......
  • 实验4:代码审查
    一、实验题目:代码审查二、实验目的1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查;2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。三、实验内容1、IDEA环境和PyCharm环境二选一;IDEA环境(1)预先准备在IDEA环境下实现对输入的n个整数进行......
  • 使用Jekyll在GitHub上搭建个人网站教程
    一、前言Jekyll是一个简单的、博客感知的、静态站点生成器。它使用Markdown(或其他标记语言)来格式化文本,然后通过Liquid模板引擎来布局网站,最后生成一个完整的静态网站。GitHubPages则允许你在GitHub上直接托管你的网站,并且可以与Jekyll完美结合。下面我们就来详细介绍一下如何使......
  • 实验四 代码审查
    一、实验题目:代码审查二、实验目的1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查;2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。三、实验内容1、IDEA环境和PyCharm环境二选一;IDEA环境(1)预先准备在IDEA环境下实现对输入的n个整数进行......
  • CF-938-D-最短路
    938-D题目大意给定一张\(n\)个顶点\(m\)条边的无向图,边带权,且每个点\(i\)有点权\(a[i]\),记\(dist(i,j)\)为点\(i\)到点\(j\)所有的路径中经过的最小的边权和,请求出对于每个点\(i\)的:\[\min_j^n(dist(i,j)+a[j])\]Solution题目涉及最短路,启发我们使用\(dijkstra\)求解,但对每......
  • 实验四:代码审查
    一、实验题目:代码审查二、实验目的1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查;2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。三、实验内容1、IDEA环境和PyCharm环境二选一;IDEA环境(1)预先准备在IDEA环境下实现对输入的n个整数进行......
  • Json压缩转义工具
    1,实现在线压缩Json字符串,压缩Json可以减少在传输过程中消耗的流量,提高传输速度2,Json压缩转义功能也很常用,有些Json被转义过的,可以利用此工具进行去除转义,格式化Json3,Json格式化的时候要确保Json在此之前没有被转义过,转义过的Json不会被格式化,需要先去除转义哦免费使用地址:h......