系统架构设计师-软件工程(3)

        一、软件系统建模

                1、结构化建模方法

                结构化建模方法是以过程为中心的技术,可用于分析一个现有系统以及定义新系统的业务需求。结构化建模方法所绘制的模型称为数据流图(DFD)。对于流程较为稳定的系统可考虑结构化建模方法。

                2、信息工程建模方法

                信息工程建模方法是一种以数据为中心,但过程敏感的技术,它强调在分析和研究过程需求之前,首先研究和分析数据需求。信息工程建模方法所创建的模型被称为实体联系图(ERD)。主要用于数据建模。

                3、面向对象建模方法 

                面向对象建模方法将 “数据” 和 “过程” 集成到被称为 “对象” 的结构中,消除了数据和过程的人为分离现象。面向对象建模方法所创建的模型被称为对象模型。随着面向对象技术的不断发展和应用,形成了面向对象的建模标准,即UML(统一建模语言)。UML定义了几种不同类型的模型图,这些模型图以对象的形式共建一个信息系统或应用系统,是目前比较常用的建模方法。

        二、软件系统设计

                1、人机界面设计(黄金三法则)

                        (1)置于用户控制之下(2)减少用户记忆负担(3)保持界面一致性

                2、结构化设计

                        (1)概要设计【外部设计】:功能需求分配给软件模块,确定每个模块的功能和调用关系,形成模块结构图

                        (2)详细设计【内部设计】:为每个具体任务选择适当的技术手段和处理方法

                        结构化设计的原则:

                        (1)模块独立性原则(高内聚、低耦合

                        (2)保持模块的大小适中

                        (3)多扇入,少扇出

                        (4)深度和宽度均不宜过高

                        结构化设计(内聚): 

                        结构化设计(耦合):

                        模块的四个要素:

                        (1)输入和输出:模块的输入来源和输出去向都是同一个调用者,即一个模块从调用者那儿取得输入,进行加工后再把输出返回给调用者。

                        (2)处理功能:指模块把输入转换成输出所做的工作。

                        (3)内部数据:指仅供该模块本身引用的数据。

                        (4)程序代码:指用来实现模块功能的程序。

 

                 3、面向对象设计

                        面向对象基本过程:

                        类的分类:

                        (1)边界类

                                ·  API接口:机器接口

                                ·  用户界面:人机交互

                                例:显示屏、窗体、打印机接口、通信协议、对话框、菜单、购物车、报表、二维码

                        (2)控制类

                                ·  应用逻辑、业务逻辑、数据访问逻辑

                                例:身份验证器

                        (3)实体类

                                ·  数据

                                例:学院类、课程类

 

                         面向对象设计原则:

                                (1)单一职责原则:设计目的单一的类。

                                (2)开发-封闭原则:对扩展开放,对修改封闭。

                                (3)李氏(Liskov)替换原则:子类可以替换父类。

                                (4)依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程。

                                (5)接口隔离原则:使用多个专门的接口比使用单一的总接口要好。

                                (6)组合重用原则:要尽量使用组合,而不是继承关系达到重用目的。

                                (7)迪米特(Demeter)原则(最少知识原则):一个对象对其他对象有尽可能少的了解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/14769.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单详细的MySQL数据库结构及yum和通用二进制安装mysql的方法

目录 mysql体系结构mysql的安装方法一,yum安装1,首先下载一个网络源仓库:2,然后安装 mysql-community-server3,启动mysqld 服务4,然后登录数据库5,初次登录要设置密码,而且不能太简单…

【ROS】TF2坐标转换及实战示例

Halo,这里是Ppeua。平时主要更新C,数据结构算法…感兴趣就关注我吧!你定不会失望。 文章目录 0.ROS中的坐标转换消息包0.1 geometry_msgs/TransformStamped0.2 geometry_msgs/PointStamped1.静态坐标转换1.1导入所需功能包1.2发布方实现1.3 …

【InnoDB 存储引擎】InnoDB 存储引擎的行格式,有 Compact、Redundant、Dynamic 等行格式还有它们配套实验(实验篇)

文章目录 1 InnoDB 行记录格式(实验)1.1 Compact 行格式实验1.1.1 实验步骤1.1.2 分析捞出来的数据1.1.3 疑问 1.2 Redundant 行格式实验1.2.1 实验步骤1.2.2 分析捞出来的数据 1.3 CHAR 列类型的存储1.3.1 实验步骤1.3.2 分析捞出来的数据 2 参考资料 1…

pnpm装包报错Run “pnpm install“ to recreate the modules directory.

一、先看报错 执行 pnpm install 装包报错 报错信息 ERR_PNPM_PUBLIC_HOIST_PATTERN_DIFF  This modules directory was created using a different public-hoist-pattern value. Run "pnpm install" to recreate the modules directory.二、解决方法 在项目根目录中…

【Zabbix 监控设置】

目录 一、添加 zbx-agent01 客户端主机1、服务端和客户端都配置时间同步2、服务端和客户端都设置 hosts 解析3、设置 zabbix 的下载源,安装 zabbix-agent24、修改 agent2 配置文件5、启动 zabbix-agent26、在服务端验证 zabbix-agent2 的连通性1、常用的键值 7、在 …

基于云原生网关的全链路灰度实践

作者: 倪海峰(海迩) 前言 随着企业规模的不断扩大,传统单体应用已很难进一步支持业务的发展,业务的迭代速度已经难以满足业务的增长,此时企业会对应用系统做微服务化的改造,降低业务的耦合度&…

Opencv图片样本预处理

前因 最近想学学,OPENCV识别物体,但是处理图片正样本时过于繁琐, 遂自己开发了工具,来处理样本图片,基于QT,文末附下载链接 程序 功能 一共有两个功能,一个是处理负样本,一个处理…

Spring Boot源码解读与原理分析(一):项目启动流程(上)——@SpringBootApplication

文章目录 〇、准备工作一、SpringBootApplication.java源码解析1.源码2.自定义注解3.组合注解4.注解ComponentScan过滤器 5.注解SpringBootConfigurationConfiguration 6.注解EnableAutoConfiguration 本文章是Spring Boot源码解读与原理分析系列博客的第一篇,将会介…

【js小案例】视频倍数播放、计算机、待办事项管理

视频倍数播放示例图&#xff1a; 视频倍数播放代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>控制视频播放速度</title> </head> <body><video id"myVideo" width&quo…

10.1UEC++/UObject/UClass/UFunction/UPropret

1. 1.new出的对象&#xff0c;不用自己管理内存释放&#xff1b; 2.比如两个类对象指针a,b同时指向一个苹果&#xff0c;若苹果消亡&#xff0c;会将a,b同时指向空。 3.保存时&#xff0c;将工程中的actor&#xff0c;属性等能够保存在本地就是uob在发挥作用。 4.不管在ue&…

机器学习25:《数据准备和特征工程-III》采样和分隔

目录 1.采样和分割数据 1.1 抽样简介 1.2 过滤 PII&#xff08;个人身份信息&#xff09; 2.数据不平衡 2.1 下采样和增加权重 3.数据分割示例 3.1 随机分割可能不是最好的方法 4.分割数据 5.随机化 5.1 实际考虑 5.2 散列的注意事项 6.参考文献 1.采样和分割数据-…

时间序列预测 | Matlab自回归差分移动平均模型ARIMA时间序列预测

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列预测 | Matlab自回归差分移动平均模型ARIMA时间序列预测,单列数据输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空环境变量 warnin…