首页 > 其他分享 >软考攻略/超详细/系统集成项目管理工程师/基础知识分享13

软考攻略/超详细/系统集成项目管理工程师/基础知识分享13

时间:2024-10-12 13:48:05浏览次数:3  
标签:13 攻略 内聚 软考 视图 模块 UML 设计 工具

5.3 软件设计(掌握)

        需求阶段解决“做什么”的问题,而软件设计阶段解决“怎么做”的问题。软件设计分为结构化设计与面向对象设计

5.3.1 结构化设计(掌握)

        结构化设计(SD)是一种面向数据流的方法,其目的在于确定软件结构。它以SRS和SA阶段所产生的DFD和数据字典等文档为基础,是一个自顶向下、逐层分解、逐步求精和模块化的过程。

        从管理角度讲,其分为概要设计和详细设计两个阶段

        概要设计(总体结构设计):主要任务是确定软件系统的结构,将系统的功能需求进行模块划分,形成软件的模块结构图,即系统结构图

        详细设计主要任务是为每个模块设计实现细节。例如:输入/输出 设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等。

1、模块结构

        在SD中,这种功能分解就是将系统划分为模块,模块是组成系统的基本单位

(1)信息隐藏与抽象

        信息隐藏原则要求采用封装技术,将程序模块的实现细节隐藏起来。系统中的模块应该设计成:“黑盒”,模块外部只能使用模块接口说明中给出的信息。

(2)模块化

        模块是实现功能的基本单位,它一般具有功能、逻辑和状态3个基本属性。其中,功能是指该模块“做什么”,逻辑是描述模块内部“怎么做”,状态是该模块使用时的环境和条件

        软件设计阶段,先确定模型的外部特性,在确定它的内部特性。

(3)耦合

        耦合表示模块之间联系的程度。

(4)内聚

        内聚表示模块内部各代码成分之间联系的紧密程度。一个好的内聚模块应当恰好做目标单一的一件事情。

        在模块的分解中应尽量减少模块的耦合,力求增加模块的内聚,遵循“高内聚、低耦合”的设计原则。

2、系统结构图

        系统结构图(SC)又称为模块结构图,它是软件概要设计阶段的工具,反映系统的功能实现和模块之间的联系与通信,包括各模块之间的层次结构,即、反映了系统的总体结构。

        详细设计的主要任务是:设计每个模块的实现算法、所需的局部数据结构。

        详细设计的目标有两个:实现模块功能的算法要逻辑上正确;算法描述要简明易懂。

        详细设计必须遵循概要设计来进行。如果需要更改概要设计,必须经过项目经理的同意。详细设计应该完成详细设计文档,主要是模块的详细设计方案说明。

        详细设计的表示工具有图形工具、表格工具和语言工具

(1)图形工具

        具体的图形有:业务流程图、程序流程图、问题分析图(PAD)、NS流程图

(2)表格工具

        可以用一张表来描述过程的细节,在这三张表格中列出了各种可能得操作和相应的条件。

(3)语言工具

        例如伪码或PDL(过程设计语言)等。

        PDL优点:可以作为注释直接插在源程序中,可以使用普通的文本编辑工具或文字处理工具产生和管理;

        PDL不足:不如图形工具形象直观

5.3.2 面向对象设计(掌握)

        面向对象设计(OOD)基本思想包括抽象、封装、可扩展性(继承、多态)

        OOD的主要任务是对类和对象进行设计。

常用的面向对象设计原则:

在OOD中,类可以分为3中类型:实体类、控制类和边界类

5.3.3 统一建模语言(掌握)

        统一建模语言(UML)结构包括:构造块、规则和公共机制。

1、UML中的事物

        UML中的事物也称为建模元素,包括结构事物、行为事物、分组事物和注释事物

2、UML中的关系

        UML用关系把事物结合在一起,主要有4种关系:依赖、关联、泛化和实现

3、UML2.0-14种图

4、UML视图

        逻辑视图、进程视图、实现视图、部署视图、用例视图

5.3.4 设计模式(掌握)

        根据处理范围不同,设计模式可分为类模式和对象模式

        根据目的和用途不同,设计模式可分为创建型模式(创建对象)、结构型模式(处理类或对象的组合)和行为型模式(描述类或对象的交互以及职责的分配)

标签:13,攻略,内聚,软考,视图,模块,UML,设计,工具
From: https://blog.csdn.net/weixin_46095822/article/details/142821993

相关文章

  • 学年2022-2024-1学号20241311《计算机基础与程序设计》第3周学习总结
    学期(2024-2025-1)学号(20241311)《计算机基础与程序设计》第3周学习总结作业信息这个作业属于哪个课程<班级的链接>(2024-2025-1-计算机基础与程序设计](https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP))这个作业要求在哪里<作业要求的链接>((https://edu.cnblo......
  • 大模型完美攻略手册(从入门到专家)精选资源集,新手入门教程!
    如果读者朋友不想深入学习大模型,则了解提示词的使用原则也可以了(可参考我的文章:[10分钟学会大模型提示词]。要是既不想深入学习,又要做大模型相关的项目,则对于工程同学来说,学习RAG也能把大模型玩转起来(可参考:[大语言模型RAG落地方案]。下面的步骤写给想系统性学习大模型的朋......
  • ClickHouse 数据保护指南:从备份到迁移的全流程攻略
    一、背景运行3年的clickhouse需要迁移机房,迁移单库单表的140亿条的数据。采用clickhouse-backup的方式进行备份迁移,打包备份,再加上数据拷贝,数据恢复一共花费30分钟。数据在一定量级,避免使用SQL导入导出的方式,效率太低二、clickhouse-backup工具介绍clickhouse-back......
  • 软考11——信息安全
    1.信息安全和信息系统安全文老师软考教育1SO网络参考模型应用层表示层会话层传输层网络层链路层物理层安全对等实体认证服务访问控制服务>数据保密服务>数据完整性服务>数据源点认证服务》禁止否认服务犯罪证据提供服务安全服务安全机制◆信息安全系统的体系架构×轴是“安全机制......
  • 《软件工程导论》—— 1 - 13章习题详解!
    摘要:张海藩的《软件工程导论》(第6版)的课后习题,涵盖软件工程多个关键领域,包括软件危机、可行性研究、需求分析、设计方法(总体设计、详细设计、面向对象设计)、实现、维护以及项目管理等,通过理论阐述、方法介绍以及大量实际案例分析,全面深入地讲解了软件工程的核心知识和实......
  • C语言笔记 13
    初见函数求素数的和#include<stdio.h>intmain(){intm,n;intsum=0;intcnt=0;inti;scanf("%d%d",&m,&n);//m=10,n=31;if(m==1)m=2;for(i=m;i<=n;i++){intisPrime=1;intk;for(k=2;......
  • 初始爬虫13(js逆向)
    为了解决网页端的动态加载,加密设置等,所以需要js逆向操作。JavaScript逆向可以分为三大部分:寻找入口,调试分析和模拟执行。 1.chrome在爬虫中的作用        1.1preservelog的使用默认情况下,页面发生跳转之后,之前的请求url地址等信息都会消失,勾选perservelog后之......
  • 2025年软考考试+报名时间安排!这份日历请收好!
    软考(计算机技术与软件专业技术资格(水平)考试)是纳入全国专业技术人员职业资格证书制度统一规划,实行大纲、试题、标准、证书均统一的考试办法。2024年软考报名已经结束,想要报考的同学请提前备考2025年的考试,那2025年软考考几次?考试是什么时候呢?2025年软考考试时间:软考考试时......
  • VMware虚拟机17.6安装Ubuntu20.04教程(宝宝级攻略)
    前言我了解到虚拟机的17.6版本不能安装太高版本的Ubuntu,可能会出现不兼容的情况,所以我选择了20.04版本的Ubuntu(也是我目前正在用的一个版本)。1.下载相关资源1.本文章默认好你已经下载好了虚拟机VMware,若未下载好请去参考这篇文章:VMware虚拟机17.6版本下载与安装(宝宝级攻略)......
  • upload-labs 文件上传靶场 详细攻略(pass1-10)
    前言:本篇文章主要讲解upload-labs第1-10关,原因是前十关的代码过滤思路大体上是相似的,无非是每关缺少了某几个函数导致过滤不严谨造成漏洞,因此可以归为一起学习,从而熟悉文件上传中常用的过滤函数,了解代码的原理和设计的目的文件上传漏洞对于文件上传漏洞的简要概括就......