软件设计师
Amarao
这个作者很懒,什么都没留下…
展开
-
UML关系:依赖,关联,聚合,组合和继承(泛化)
1.图示符号如图所示2.介绍:关系:依赖,关联,聚合,组合和继承(泛化),关系依次增强。依赖:表示一个元素以某种方式依赖于另一种元素。关联:连接(connect)模型元素及链接(link)实例。聚合:表示整体与部分的关系。泛化:表示一般与特殊的关系,即“一般”元素是“特殊”关系的泛化。 注意:组合聚合区别聚合与组合都表示了整体和f部分的关系。组合的程度比聚合高,当整体对象消失时,部分对象也随之消失...原创 2018-05-02 17:13:40 · 859 阅读 · 0 评论 -
UML关系:依赖、关联、聚合、组合、泛化、实现
UML关系:一、图解依赖(dependency) 关联(association) 聚合(aggregation) 组合(compostion) 泛化(generalization) 实现(realization) 二、定义依赖: 1.定义:表示类与类之间的连接,表示一个类依赖于另外一个类的...原创 2018-05-20 16:24:34 · 500 阅读 · 0 评论 -
软件开发模型
常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型。1.瀑布模型(Waterfall Model): 将软件生命周期划分为需求分析、软件设计、程序编写、软件测试和运行维护等基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 不适应用户需求的变化,开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果。对于需求不确定的软件产品不适合采用瀑布模型。...原创 2018-05-07 20:24:26 · 316 阅读 · 0 评论 -
软件维护
软件维护包括: 正确性维护:改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。占整个维护工作量的17%-20%。 适应性维护:使应用软件适应信息技术变化和管理需求变化而进行的修改。占整个维护工作量的18%-25%。 完善性维护:为扩充功能和改善性能而进行的修改,主要是对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。占整个维护工作量的50%-60%。 ...原创 2018-05-07 20:36:53 · 1620 阅读 · 0 评论 -
软件测试
对源程序最基本的质量要求是正确性和可靠性,此外还很注重软件的易使用性、易维护性和易移植性。 软件测试的工作量约占软件开发总工作量的40%以上,其目的是尽可能多的发现软件产品(主要是指程序)中的错误和缺陷。 软件测试是自底向上,逐步集成的过程,低一级测试为上一级测试准备条件;测试的关键是测试用例的设计,其方法可分为两类。一、白盒测试: 白盒测试把程序看成是装在一只透明的盒子...原创 2018-05-07 20:53:59 · 1266 阅读 · 0 评论 -
嵌入式系统初始化过程
系统初始化过程可以分为 3 个主要环节,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化和系统级初始化。1.片级初始化 完成嵌入式微处理器的初始化,包括设置嵌入式微处理器的核心寄存器和控制寄存器、嵌入式微处理器核心工作模式和嵌入式微处理器的局部总线模式等。 片级初始化把嵌入式微处理器从上电时的默认状态逐步设置成系统所要求的工作状态。 这是一个纯硬件的初始化过...原创 2018-05-21 16:32:29 · 4525 阅读 · 0 评论 -
敏捷方法
1.水晶方法,Crystal ,是由 Alistair Cockburn 和 Jim Highsmith 建立的敏捷方法系列。 其目的是发展一种提倡“机动性的”方法,包含具有共性的核心元素,每个都含有独特的角色、过程模式、工作产品和实践。 Crystal 家族实际上是一组经过证明,对不同类型项目非常有效的敏捷过程, 它的发明使得敏捷团队可以根据其项目和环境选择最合适的 C...原创 2018-05-21 17:37:07 · 963 阅读 · 0 评论 -
软件设计原则
软件设计原则: 软件设计的原则对提高软件的设计质量有很大的帮助。◆ 抽象抽象是指忽视一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。过程抽象和数据抽象是常用的两种主要抽象手段。◆ 模块化模块化是指将一个待开发的软件分解成若干个小的简单的部分——模块,每个模块可独立地开发、测试、最后组装成完整的软件。这是一种复杂问题的“分而治之”的原则。模块是指执行某一特定任务的数据结构和...原创 2018-05-21 18:33:18 · 754 阅读 · 0 评论 -
统一建模语UML
1.UML三要素: UML的基本构造块、 支配这些构造块如何存放的规则、 运用与整个语言的一些公共机制2.三种构造块:事物、关系、图。3.四种事务: 结构事物(静态部分类、接口、协作、用例主动类、构件结点)、 行为事物(交互和状态机)、 分组事物(包是概念性的仅在开发时存在)、 注释事物。4.关系: 依赖(事物间语义关系)、 关联(结构关系)、...原创 2018-05-21 18:47:17 · 184 阅读 · 0 评论 -
软件开发方法
软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。包括:结构化的方法 、 Jackson方法、 面向对象开发方法、原型等等。1.结构化方法 指导思想是自顶向下、逐层分解,基本原则是功能的分解与抽象。 由E.Yourdon 和L.L.Constantine提出的,即所谓SASD方法,也是可称为面向功能的软件开发方法或面向数据流的软件开发方法。 它首先用...原创 2018-05-22 21:04:02 · 2917 阅读 · 0 评论 -
数据库范式讲解(1NF、2NF、3NF、4NF、BCNF)
一、概念 R-关系模式 r-关系 U-属性集 FD-函数依赖 X→Y:"X函数决定Y","Y函数依赖于X"。 A⊆B A包含于B,A小,B大,B→A 元组:二维表中的行 属性:二维表中的列 超键:能唯一标识元祖的属性集 候选键:不含多余属性的超建 主键:用户选作元组标识的候选键 外键:对于当前模...转载 2018-05-23 09:45:05 · 6761 阅读 · 3 评论 -
java的23种设计模式
创建型模式点击打开链接1.工厂模式:2.建造模式:3.工厂方法(抽象工厂)模式:4.原始模型模式:5.单例模式:结构型模式点击打开链接6.适配器(变压器)模式:7.桥梁模式:8.合成模式:9.装饰模式:10.门面模式:11.享元模式:12、代理模式:行为模式点击打开链接13、责任链模式:14、命令模式:15、解...原创 2018-05-05 16:42:06 · 257 阅读 · 0 评论 -
统一软件开发过程(RUP)
RUP(Rational Unified Process,统一软件开发过程):是一个面向对象且基于网络的程序开发方法论。 RUP好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。 一、软件工程过程定义谁在做什么、怎么做以及什么时候做,RUP用四个主要的建模元素表达: ·角色(Workers)——“谁” ·活动(Activities)——“怎么做” ·产品(工件)...原创 2018-05-06 18:57:40 · 4735 阅读 · 0 评论 -
软件维护
软件维护的内容一般包括准确性维护、适应性维护、完善性维护和预防性维护。1.正确性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。2.适应性维护是指使应用软件适应信息技术变化和管理需求变化而进行的修改。3.完善性维护主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。4.预防性维护是指为了适应未来的软硬件环境的变化,主动增加预防性的新功能,以使应用系统适应各...原创 2018-05-06 17:06:16 · 748 阅读 · 0 评论 -
常用算法设计方法
经常采用的算法设计技术主要有迭代法、穷举搜索法、递推法、贪婪法、回溯法、分治法、动态规划法等等。另外,为了更简洁的形式设计和藐视算法,在算法设计时又常常采用递归技术,用递归描述算法。一、迭代法 迭代法是用于求方程或方程组近似根的一种常用的算法设计方法。二、穷举搜索法 穷举搜索法是对可能是解的众多候选解按某种顺序进行逐一枚举和检验,并从众找出那些符合要求的候选解作为问题的解。三、递推法 ...原创 2018-05-02 20:22:25 · 12461 阅读 · 1 评论 -
PERT图之事件、活动、松弛时间、关键路径
一、介绍PERT(Program/Project Evaluation and Review Technique)即计划评审技术,PERT是利用网络分析制定计划以及对计划予以评价的技术。构造PERT图,需要明确四个概念:事件、活动、松弛时间和关键路线。1、事件(Events)表示主要活动结束的那一点;2、活动(Activities)表示从一个事件到另一个事件之间的过程;3、松弛时间(slack t...原创 2018-05-05 13:47:48 · 16874 阅读 · 4 评论 -
磁盘调度算法介绍
一、简介 磁盘调度在多道程序设计的计算机系统中,各个进程可能会不断提出不同的对磁盘进行读/写操作的请求。由于有时候这些进程的发送请求的速度比磁盘响应的还要快,因此我们有必要为每个磁盘设备建立一个等待队列,常用的磁盘调度算法有以下四种:先来先服务算法(FCFS),最短寻道时间优先算法(SSTF),扫描算法(SCAN),循环扫描算法(CSCAN)算法 优点 缺点 FCFS算法 公平、简单 平均...原创 2018-05-05 14:56:08 · 2529 阅读 · 0 评论 -
软件能力成熟度模型(CMM)
一、软件能力成熟度模型(Capabilitymaturity model,CMM)CMM是目前国际上使用流行的一种软件生产过程行业标准模型,可定义、评价软件开发过程的成熟度,并提供提高软件质量的指导。CMM模型分为五级:初始级(1级)、可重复级(2级)、定义级(3级)、管理级(4级)、优化级(5级)共5个成熟度等级,低级别是实现高级别的基础二、五级特征 (1)初始级(initial)。工作...原创 2018-05-05 15:26:30 · 8412 阅读 · 2 评论 -
创建型模式
java的23种设计模式1.工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。2.建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模...原创 2018-05-05 16:30:11 · 320 阅读 · 0 评论 -
结构型模式
java的23种设计模式6.适配器(变压器)模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原本不匹配而无法一起工作的两个类能够一起工作。适配类可以根据参数返还一个合适的实例给客户端。 将已有的接口转换为系统希望的接口形式7.桥梁模式:将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系...原创 2018-05-05 16:40:39 · 307 阅读 · 0 评论 -
行为模式
java的23种设计模式13、责任链模式:在责任链模式中,很多对象由每一个对象对其下家的引用而接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。客户并不知道链上的哪一个对象最终处理这个请求,系统可以在不影响客户端的情况下动态的重新组织链和分配责任。处理者有两个选择:承担责任或者把责任推给下家。一个请求可以最终不被任何接收端对象所接受。 14、命令模式:命令模式把一个请求或者...原创 2018-05-05 16:52:57 · 394 阅读 · 0 评论 -
数据库主键,外键,元组,非主属,候选码,全键,超键性等定义
名称 概念 候选键 表中的一行记录就是元组 候选键 能惟一标识元组,并且不含多余属性的属性(组合属性) 全码(键) 关系模型的所有属性组是这个关系模式的候选键 主键 除可以包含一个候选键外,还可以包含其它属性 超键 除可以包含一个候选键外,还可以包含其它属性 主属性 候选键中的属性为主属性 非主属性 不包含在候选键中的属性为非主属性 外键 关系模式R1中的某属性集不是自己的...原创 2018-05-12 10:57:13 · 5528 阅读 · 1 评论 -
二叉树详解(图文)
二叉树1. 树a) 二叉树定义每个节点至多两个子结点。b) 满二叉树,完全二叉树定义深度为k且有2k-1个结点的二叉树叫满二叉树。 完全二叉树:所有结点与对应的满二叉树对应。 二叉堆:是完全二叉树。一棵完全二叉树除了最后一层外,其余层的节点数都是满的,最后一层的节点也必须自左至右排列,例如图(a)是高度为3的满二叉树,图(b)是完全二叉树,图(c)不是完全二...原创 2018-05-05 19:57:31 · 1181 阅读 · 1 评论 -
遍历二叉树
遍历运算是二叉树的基本运算,主要有先序、中序、后序和层序遍历。 1.先序遍历的基本方法:根左右对于非空二叉树,先访问根结点,然后先序遍历根的左子树,最后先序遍历根的右子树。因此,若已知某二叉树的先序遍历序列,则可直接得到其树根结点。 2.中序遍历的基本方法:左根右对于非空二叉树,先中序遍历根的左子树,然后访问根结点,最后中序遍历根的右子树。因此,若已知某二叉树的根结点,则可根据中序遍...原创 2018-05-06 16:31:22 · 228 阅读 · 0 评论 -
程序语言翻译
编译程序的功能是把某高级语言书写的源程序翻译成与之等价的低级语言(汇编语言或机器语言)的目标程序。其过程很复杂,可分成6个阶段;①词法分析阶段: 其任务是对源程序从前到后(从左到右)逐个字符地扫描,从中识别出一个个的“单词”符号。 词法分析所依据的是语言的词法规则,即描述单词结构的规则。 词法规则可用3型文法(正规文法)或正规式来描述,有限自动机能识别正规...原创 2018-05-06 16:42:10 · 4781 阅读 · 0 评论