系统分析师案例必备知识点汇总---2023系列文章三

系统设计

1、面向对象设计

分析类图是从用户的角度出发得到的业务“系统”,而设计类图更多的是从系统、软件的角 度来描述和表达系统。二者具体的区别:

分析类图:在需求分析阶段,类图是研究领域中的概念;分析类图主要用于描述应用领

域中的概念,类图中的类从领域中得出,从需求中获取。

设计类图:在设计阶段,类图重点描述类与类之间的接口;设计类图用于描述软件的接

口部分,而不是软件的实现部分,设计类图更易于开发者之间的相互理解和交流;设计 类图通常是在分析类图的基础上进行细化和改进的。

设计类包括实体类、控制类和边界类三种类型。

类之间的关系有:

关联

提供了不同类的对象之问的结构关系,它在一段时间内将多个类的实例连 接在一起。

聚合

整体与部分的关系,各自具有不同的生命周期。

组合

整体与部分的关系,具有相同的生命周期。

依赖

两个类 A 和 B ,如果 B 的变化可能会引起 A 的变化。

泛化

父类与子类之间的关系。是继承的反关系。

实现

一个或多个类可以实现一个接口,每个类分别实现接口中的操作。

流程图与活动图的区别:

流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间

有严格的顺序和时间关系。而活动图描述的是对象活动的顺序关系所遵循的规则,它着 重表现的是系统的行为,而非系统的处理过程。

活动图能够表示并发活动的情形,而流程图不行。

活动图是面向对象的,而流程图是面向过程的。

序列图与协作图的区别

2、Web 设计常见技术

负载均衡技术

LVS、Haproxy

缓存服务器

Varnish、Ngnix、squid、Memcache、Redis、Ehcache

分布式文件系统

Hadoop、FastDFS

Web 应用服务器

Jetty、Jboss、Apache

分布式数据库

Mysql、MongoDB、Oracle

3、软件产品线

软件产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满 足特定领域的特定需求。软件产品线是一个十分适合专业开发组织的软件开发方法,能有效 地提高软件生产率和质量,缩短开发时间,降低总开发成本

本文转载于网络 如有侵权请联系删除

相关文章

  • Flutter2 来了!!!

    宣布Flutter22021年3月3日,星期三我们针对web,移动和台式机构建的下一代Flutter今天,我们宣布Flutter2:Flutter的重大升级,使开发人员能够为任何平台创建美观,快速且可移植的应用程序。借助Flutter2,您可以使用相同的代码库将本机应用程序发布到五个操作系统:iOS,Android,Windows,macOS和Linux;WindowsVista,WindowsXP和WindowsXP。以及针对Chrome,Firefox,Safari或Edge等浏览器的网络体验。Flutter甚至可以嵌入到汽车,电视和智能家电中,为环境计算世界提供最普遍和最便携式的体验。我们的目标是从根本上改变开发人员对构建应用程序的看法,而不是从您要定位的平台开始,而要从您要创建的体验开始。Flutter使您可以在品牌和设计走在前列的情况下,手工创造美好的体验。Flutter速度很快,可以将源代码编译为机器代码,但是由于我们对有状态的热重装的支持,您仍然可以获得解释环境的生产力,允许您在应用程序运行时进行更改并立即查看结果。Flutter是开放的,成千上万的贡献者添加了核心框架,

  • Oracle 数据库利用sql语句判断某个表是否是临时表实例演示,达梦数据库查询出所有临时表

    --创建临时表 createglobaltemporarytabletem_1(pk_temchar); --创建常规表 createtablenot_tem_1(pk_not_temchar);复制--判断临时表 select*fromALL_OBJECTSwhereobject_namelike'%TEM_1'andtemporary='Y'; --查询出所有临时表 select*fromALL_OBJECTSwheretemporary='Y'复制运行效果图: 可以看到只有我创建的临时表查出来了。

  • 5招帮你搞定考前背题,“最强大脑”是如何养成的?

    导读:你记忆力好么?学习和记忆的某些基本原则是大多数记忆工作的基础。几乎所有用于学习和记忆的基本原则都建立在意义、组织、联想、意象和专注的基础上。近日,《最强大脑》已经到第六季的播出,让不少人大呼过瘾。心算女神、记忆男神、水哥、赌王之子……这些“最强大脑”都是如何养成的?作者:肯尼思·希格比来源:身边的经济学(ID:jjchangshi)01意义影响记忆学习和记忆是大多数工作的基础。几乎所有用于学习和记忆的基本原则都建立在意义、组织、联想、意象和专注的基础上。决定“一件事情学起来的难易程度”的主要因素之一是内容,越是有意义的内容,学起来越容易。与理解意义学习相对应的是“机械”学习。机械记忆是指在不理解学习内容意义的情况下,一遍又一遍地重复它来记忆。单词比无意义的音节更容易记住; 具体的词汇比抽象的词汇更容易记住; 句子比无序的单词更容易记住; 被组织好的段落和故事比没有精心组织过的内容更容易记住。在各种层面,意义影响记忆。有这样一项研究:人们记住了200个无意义的音节、一篇200字的散文和一首200个词的诗歌。无意义的音节大约花了1.5个小时记忆,散文用了不到半小时,诗歌花了大约10分

  • ARouter源码解析(一)前言ARouter 源码番外

    arouter-apiversion:1.4.1前言之前对ActivityRouter的源码做了一次分析,相信大家对路由框架已经有一个大概的理解了。而今天给大家分析一下ARouter。大家在项目组件化的过程中,可能绝大多数的开发者都会使用ARouter来作为项目的路由框架。毕竟ARouter是阿里出品,优点自然不必多说了。所以在平常使用的过程中,不仅仅要做到会用,还要深入了解一下ARouter的内部原理。本次ARouter的解析分为三部分:对IRouteRoot页面跳转进行源码解析;对IInterceptorGroup拦截器进行源码解析;对IProviderGroup服务组件进行源码解析;本篇是ARouter系列的第一篇,下面就对IRouteRoot页面跳转进行详细解析。ARouter源码使用ARouter的时候,都需要初始化if(isDebug()){ ARouter.openLog(); ARouter.openDebug(); } ARouter.init(mApplication);复制源码分析的入口,就在ARouter.init里publicstaticvoidinit(Ap

  • 实例+代码,你还怕不会构建深度学习的代码搜索库吗?

    本文为AI研习社编译的技术博客,原标题HowToCreateNaturalLanguageSemanticSearchForArbitraryObjectsWithDeepLearning,作者为HamelHusain。 翻译|陈涛赵朋飞汪星宇校对|刘娇整理|MY本文展示了一个端到端的实例,说明如何构建一个可以语义化搜索对象的系统。项目作者是HamelHusain(https://www.linkedin.com/in/hamelhusain/)和Ho-HsiangWu。Hubot的图片项目的动机不可否认的是,现代的搜索引擎非常强大:你可以随时从互联网上搜集到知识信息。美中不足的是,它还不是万能的。在许多情况下,搜索只是被当做严格的关键字搜索,亦或者当对象不是文本时,搜索便无用武之地。此外,严格的关键字搜索不允许用户进行语义化搜索,这意味着无法查询到相关信息。今天,我们分享一个可复现的最小可行性产品,以此来说明如何对任意对象进行[语义搜索](https://en.wikipedia.org/wiki/Semantic_search)!具体来说,我们将向您演示如何创建一个可对python

  • 6 次 Kaggle 计算机视觉类比赛赛后感

    雷锋网AI研习社按,本文作者dawnbreaker,首发于知乎,雷锋网AI研习社获其授权转载。 作者知乎主页: https://www.zhihu.com/people/dawnbreaker/activities我从2017年年初开始接触Kaggle。曾翻阅知乎上很多关于Kaggle的回答和文章,然而逐渐发现大部分文章中提到的经验和技巧是针对传统machinelearning类比赛的,对计算机视觉类的比赛并不适用。此刻已是2018年6月,我也参加过了多次比赛,或多或少有了一些自己的观点和感想。因此我写这一篇文章希望对现存文章进行一定程度的补充,以供刚刚接触Kaggle计算机视觉(CV)类比赛的同学参考。尽管此文会充斥个人观点和猜测,我会尽量提供论据并淡化感情色彩。这是我在知乎的第一篇文章,希望大家能够多多鼓励和批评。一、我的成绩第一次TheNatureConservancyFisheriesMonitoringhttps://www.kaggle.com/c/the-nature-conservancy-fisheries-monitoring/leaderboard排名:16tho

  • 超级账本(Hyperledger Fabric)源码分析之一:总览

    超级账本(HyperledgerFabric)源码分析之一:总览一、编译1、环境准备需要提前在linux或者mac机器上安装如下软件1)Go,注意设置好gopath(笔者安装的是go1.8.3,对应的源码是v1.0.0这个tag,版本不对可能会出现编译不过或者运行出现问题)2)Docker3)一些依赖包(笔者当时没有装特殊的依赖包,所以这里不写了)2、源码下载首先先创建源码目录(注意这里必须是gopath下的这个目录,否则编译不过)$mkdir-p$GOPATH/src/github.com/hyperledger $cd$GOPATH/src/github.com/hyperledger然后在该目录下复制仓库 $gitclonehttp://gerrit.hyperledger.org/r/fabric笔者用的是v1.0.0的tag所以还需要$gitcheckoutv1.0.03、编译在源码目录中make不过这样要求比较高,耗时比较长,会从网上下载一些docker镜像等等,读者如果嫌费时间或者由于网络原因搞不定,可以一个一个make比如makenative是编译一些bin比如orde

  • 《The Mumannity Bureau》将提供三种观影形式,我自然选VR短片

    据悉,由美国著名影星尼古拉斯·凯奇(NicolasCage)主演的科幻片《TheMumannityBureau(人类办事处)》,将于3月2日发布VR短片版本——《TheMumannityBureauVRevolution》。 此外,该影片还将于4月6日登陆传统影院、BarcoEscape格式影院(三屏全景)以及PremiumVideoOnDemand(收费点播平台)。《TheMumannityBureau》由RobW.King执导,DaveSchultz编剧,影片展现了全球变暖给美国中西部带来的灾难性影响,以及灾难发生后,当权者暴露出的扭曲人性。片名“人类办事处”为影片中某政府部门的称号,该部门的主要职能是将低产能公民驱逐到名为“新伊甸园”的殖民地。表面上,“人类办事处”只是在执行将部分民众安置到一个有着美好名称的殖民地的任务,其实他们是在协助当权者完成清除部分“无用”之人,缓解资源压力的阴谋。而NicolasCage在影片中扮演一名正义、雄心勃勃的调查员,他试图拯救一位无辜女士(SarahLind饰演)和她孩子(JakobDavies饰演)的生命,并努力向民众揭露“人类办事处”邪恶秘

  • 远程移动测试平台对比分析

    随着移动设备和系统的碎片化程度越来越高以及复杂的移动网络情况,兼容性测试以及远程真机测试的重要性越来越突出。根据远程测试机/人员与开发者间的合作方式,可以分为以下几种服务:云测试服务、内测服务以及众测服务,相应的平台支持如下图。云测试平台云测试平台提供了远程租用真机的服务,通常是利用自动化框架来实现真机上的脚本自动化运行,或远程租用真机人工测试,或真人真机测试。由于Android端设备的种类众多,云测试服务在Android端应用广泛。国内外都提供了多种云测试平台。1.Pefectohttp://PerfectoMobile.comPefecto将真实移动设备放到cloud端,并提供通过web/Eclipse插件的形式进行访问与测试。同时,Pefecto开放了基于selenium的第三方API:MobileDriver,支持自动化测试人员通过Eclipse访问Perfecto上的真机设备,通过MobileDriver远程识别与调用被测应用,快速实现自动化,并与RQM结合实现对devops的支持。测试脚本可以跨平台(Android/iOS/Blackberry...)执行。2.LessPa

  • 腾讯云云数据库RedisAPI概览

    备份和恢复接口 接口名称 接口功能 DescribeBackupUrl 查询备份Rdb下载地址 DescribeInstanceBackups 查询Redis实例备份列表 ManualBackupInstance 手动备份Redis实例 RestoreInstance 恢复CRS实例 地域相关接口 接口名称 接口功能 DescribeProductInfo 查询产品售卖规格 监控管理接口 接口名称 接口功能 DescribeInstanceMonitorBigKey 查询实例大Key DescribeInstanceMonitorBigKeySizeDist 查询实例大Key大小分布 DescribeInstanceMonitorBigKeyTypeDist 查询实例大Key类型分布 DescribeInstanceMonitorHotKey 查询实例热Key DescribeInstanceMonitorSIP 查询实例访问来源信息 DescribeInstanceMonitorTookDist 查询实例访问的耗时

  • 腾讯云音频内容安全应用场景

    互动直播腾讯音频内容安全为腾讯云直播音频客户提供音频流切片识别、存储、自动识别的一站式、低时延的解决方案,识别可疑房间并进行预警。 如果已使用腾讯云的视频、直播解决方案,即可一键开启音频内容安全服务,及时阻断不良内容传播,降低平台运营风险。 内容平台 腾讯音频内容安全服务可以轻松接入各类媒体资源库(音频资源库、视频资源库),并对相应内容进行一站式自动识别。 腾讯音频内容安全服务支持长音轨和长视频音频截取。 99.9%的高可用性和7×24小时在线的技术支持,全天候保障入库资源安全。 社交语音腾讯音频内容安全服务可以广泛应用于社交语音消息、语音广场、FM电台等各类语音内容及社交平台,快速识别令人反感、不安全或有害内容,保障平台商业利益和业务合规,降低用户运营成本。 少儿教育腾讯音频内容安全服务可以广泛部署在亲子生活、益智教育、在线教育、网络公开课等各类在线平台上,及时甄别线上教学、互动、录播课程中可能潜藏的各类有害信息。保障未成年人的身心健康营造良好的学习成长环境,提升用户体验。

  • 安装MySQL5.7.22遇到的坑

    安装MySQL: 第一步:将压缩包解压后,手动新建名为my.ini的文本文档,代码内容如下: #代码开始[mysql]default-character-set=utf8[mysqld]#skip-grant-tables#设置3306端口port=3306#设置mysql的安装目录basedir=D:\\mysql#设置mysql数据库的数据的存放目录datadir=D:\\mysql\data#允许最大连接数max_connections=200#服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8#创建新表时将使用的默认存储引擎default-storage-engine=INNODB #代码结束 这里需要根据自己的实际路径来修改。 保存后,将它放到MySQL的根目录下。 第二步:打开cmd.exe,进入MySQL的根目录后,输入命令mysqldinstall。 (如果提示install/RemoveoftheServiceDenied!跳到最后看遇到问题解决方法。)   第三步:输入mysqld--initial

  • 微信消息自动推送(评论区有我改好的模板及exe一键推送文件)

    方案1:腾讯云函数(企业ID+应用ID和密钥(发送密钥得下企业微信app)+自己云函数的IP固定IP详情方法在下图) 推荐使用多图,因为内容会显示的丰富(所有图片文字都可以自定义都在评论区下面的模板里面有)   ①企业微信网页(链接:https://work.weixin.qq.com/)-右上角扫码登录-注册企业,找到企业ID ②创建应用,获取应用id和密钥(密钥需要下载手机企业微信才能查看) ③和风天气预报key 注册和风天气开发者(链接:https://id.qweather.com/#/login) ④登陆腾讯云函数创建函数,然后设置内存为64M延时900S及固定IP(在函数管理→函数配置下滑查看需要保存到企业微信里面去) ⑤云函数编辑器-终端-新终端(用谷歌浏览器打开可以粘贴,我搜狗浏览器要手敲,一共二步,第一步复制二行,第二步复制三行) 先输入下面的然后回车(删除src文件夹远程下载文件) rm-rfsrc gitclonehttps://gitee.com/thund1r/daily-info.git 再输入 下面的然后回车(移动打开s

  • 一个小时学会 MySQL 数据库

    随着移动互联网的结束与人工智能的到来大数据变成越来越重要,下一个成功者应该是拥有海量数据的,数据与数据库你应该知道。 一、数据库概要 数据库(Database)是存储与管理数据的软件系统,就像一个存入数据的物流仓库。 在商业领域,信息就意味着商机,取得信息的一个非常重要的途径就是对数据进行分析处理,这就催生了各种专业的数据管理软件,数据库就是其中的一种。当然,数据库管理系统也不是一下子就建立起来,它也是经过了不断的丰富和发展,才有了今天的模样。 1.1、发展历史 1.1.1、人工处理阶段 在20世纪50年代中期以前的计算机诞生初期,其处理能力很有限,只能够完成一些简单的运算,数据处理能力也很有限,这使得当时的计算机只能够用于科学和工程计算。计算机上没有专用的管理数据的软件,数据由计算机或处理它的程序自行携带。当数据的存储格式、读写路径或方法发生变化的时候,其处理程序也必须要做出相应的改变以保持程序的正确性。 1.1.2、文件系统 20世纪50年代后期到60年代中期,随着硬件和软件技术的发展,计算机不仅用于科学计算,还大量用于商业管理中。在这一时期,数据和程序在存储位置上已经完全分开,

  • P1714 切蛋糕 单调队列优化DP

    题目描述 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精。 某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来。但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸。于是琪露诺决定到河岸去追青蛙。 小河可以看作一列格子依次编号为0到N,琪露诺只能从编号小的格子移动到编号大的格子。而且琪露诺按照一种特殊的方式进行移动,当她在格子i时,她只移动到区间[i+l,i+r]中的任意一格。你问为什么她这么移动,这还不简单,因为她是笨蛋啊。 每一个格子都有一个冰冻指数A[i],编号为0的格子冰冻指数为0。当琪露诺停留在那一格时就可以得到那一格的冰冻指数A[i]。琪露诺希望能够在到达对岸时,获取最大的冰冻指数,这样她才能狠狠地教训那只青蛙。 但是由于她实在是太笨了,所以她决定拜托你帮它决定怎样前进。 开始时,琪露诺在编号0的格子上,只要她下一步的位置编号大于N就算到达对岸。 输入输出格式 输入格式:   第1行:3个正整数N,L,R 第2行:N+1个整数,第i个数表示编号为i-1的格子的冰冻指数A[i-1]   输出格式:   一个整数,表示最大冰冻指数。保证不

  • 2019牛客暑期多校训练营(第一场)H XOR【线性基】

    传送门 题意 给\(n\)个数,计算所有异或和为\(0\)的子集大小之和。 思路 首先要把计算所有子集的大小之和这个问题转变一下,求每个数处在的异或和为\(0\)的子集的个数的和。 然后求这\(n\)个数的线性基\(B_1\),设\(B_1\)的秩为\(R\),这里对于线性基熟悉的老哥能发现:对于原\(n\)个数的任意子集,\(B_1\)中的\(R\)个数有且仅有\(1\)个子集与之异或和相等。 所以对于每个不在\(B_1\)里的数\(x\),可以从除\(x\)和\(B_1\)的\(n-R-1\)个数中任意选一个子集\(S\),对应\(B_1\)中有且仅有\(1\)个子集\(s\)与\(\{x\}\cupS\)异或和相等,所以\(s\cup\{x\}\cupS\)是对于\(x\)的一个子集,而\(x\)对应\(2^{n-R-1}\)个\(S\),每个\(S\)只对应\(1\)个\(s\)。所以对于除\(B_1\)外的\(n-R\)个数,累计有\((n-R)*2^{n-R-1}\)。 然后考虑\(B_1\)中的每个数\(x\),对除它以外的\(n-1\)个数求出线性基\(B_3\),如果

  • HTTP图解_学习笔记

    一.与HTTP关系密切的协议:IP、TCP、DNS IP协议网络层 ARP(AddressResolutionProtocol)即地址解析协议,用于实现从IP地址到MAC地址的映射,即询问目标IP对应的MAC地址。 在网络通信中,主机和主机通信的数据包需要依据OSI模型从上到下进行数据封装,当数据封装完整后,再向外发出。所以在局域网的通信中,不仅需要源目IP地址的封装,也需要源目MAC的封装。 一般情况下,上层应用程序更多关心IP地址而不关心MAC地址,所以需要通过ARP协议来获知目的主机的MAC地址,完成数据封装。 TCP协议传输层 三次握手 客户端发送SYN标志数据包(synchronize,[ˈsɪŋkrənaɪz]同步) 服务端回传SYN/ACK标志数据包 客户端发送ACK标志数据包(acknowledge,[əkˈnɒlɪdʒ],确认收到) DNS协议应用层 域名-IP地址解析 ip-反查域名 二.HTTP1.0与HTTP1.1 keep-alive:支持pipeline(不等待响应结果,连续发送请求) HTTP1.1:所有连接默认 HTTP1.0:未标准化

  • Unity安卓共享纹理

    前置知识:安卓集成Unity开发示例 本文的目的是实现以下的流程: Android/iOSnativeapp操作摄像头->获取视频流数据->人脸检测或美颜->传输给Unity渲染->Unity做出更多的效果(滤镜/粒子) 简单通信 在之前的博客里已经说到,Unity和安卓通信最简单的方法是用UnitySendMessage等API实现。 Android调用Unity: //向unity发消息 UnityPlayer.UnitySendMessage("MainCamera",//gameobject的名字 "ChangeColor",//调用方法的名字 ""); //参数智能传字符串,没有参数则传空字符串 复制 Unity调用Android: //通过该API来实例化java代码中对应的类 AndroidJavaObjectjc=newAndroidJavaObject("com.xxx.xxx.UnityPlayer"); jo.Call("Test");//调用voidTest()方法 jo.Call("Text1",msg);//调用str

  • 在偏好文件中存储数据

    SharedPreferences对象使用常规的XML文件来存储数据,这些文件存储在应用程序的数据目录内。该XML文件的结构很简单,因为它只允许存储键/值对,不过AndroidAPI还提供了非常方便的抽象,允许开发者以类型安全的方式读写数据。 创建SharedPreferences对象最简单的方式是使用PreferenceManager.getDefaultSharedPreferences()方法,它会返回应用程序默认的偏好对象。使用该方式来存储主要的偏好设置很方便,因为框架会自动管理好文件名。但是,如果应用程序有多个偏好文件,最好使用Context.getSharedPreference()方法,它允许开发者自由地命名文件。如果只是创建和Activity相关的偏好文件,可以使用Activity.getPreference()方法,它会在调用时得到Activity的名字。 PreferenceManager.getDefaultSharedPreferences()创建的偏好文件名是由包名以及后缀_preferences组成的,如com.liyuanjinglyj.code_pref

  • Vuex状态管理-mapState的基本用法详细介绍

    Vuex状态管理-mapState的基本用法详细介绍:https://blog.csdn.net/chenjie9230/article/details/108883055?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-108883055-blog-105195953.pc_relevant_layerdownloadsortv1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-108883055-blog-105195953.pc_relevant_layerdownloadsortv1&utm_relevant_index=5

  • 3.pytest实现用例的前后置fixture

    测试用例实现前后置,有多种方法。在实际编写测试脚本时,要根据实际情况选择 一.xunit类型 defsetup_function() defteardown_function() defsetup_method(self) defteardown_method(self) @classmethod defsetup_class(cls) @classmethod defteardown_class(cls) 复制 二.unittest类型 #先要在class类中继承unittest.testcase @classmethod defsetUpClass(cls) @classmethod deftearDownClass(cls) defsetup(self) deftearDown(self) 复制 三.pytest中的fixture类型 1.定义夹具 @pytest.fixture deffixture_func(): print('前置条件') yield#这里可以有返回值,用于夹具的继承 print('后置条件') 复制 @pytest.fixture(scope,a

相关推荐

推荐阅读