一.信息系统建设

@(项目经理考试学习笔记)

一.信息系统建设

1.信息化系统开发的方法

1.1 结构化方法

结构化方法的几个特点:
1.用户至上
2.严格的分区工作,每隔阶段都有任务和成果
3.强调系统开发过程中的整体性和全局性
4.系统开发过程工程化,文档资料标准化
5.自顶乡下,逐步分解(求精)

1.2原型法

原型法的特点:
1.适宜**需求不明确**的开发

1.3 面向对象方法

面向对象方法的特点:
1.更好的复用性
2.关键在于简历一个全面合理统一的**模型**
3.分析,设计和实现的三个阶段的界限不明确

1.4 面向服务的方法

面向服务方法的特点:
1.松耦合的系统

2. 软件开发模型

> 考点分析:
1.开发模型的特点(说一种开发模型的特点,然后要选出是哪种开发模型)
2.开发模型的应用

2.1 瀑布模型(SDLC)

特点:失败率非常高
原因:使用了结构化开发方法
这里写图片描述

2.2 V模型

**特点:重在测试 ,测试贯穿于开发的始终**
例子:砌墙(需要边砌,边测水平,要是砌完再测,如果不水平就要重新砌)

这里写图片描述
这里写图片描述

2.3 原形化模型

需求不明确的时候使用(实际中也经常遇到,客户不知道要做什么东西,可以先画图或者设计出大概的界面提供给他查看,然后得到回馈再修改,再给用户看)
**特点:适合于需求不明确项目**

2.4 迭代化模型

>看螺旋模型

2.5 增量模型

特点:软件系统模块化和组件化
这里写图片描述

2.6 螺旋模型

[又名:螺旋迭代模型]
**特点:多种模型的综合体(原型+瀑布+迭代)**

这里写图片描述

2.7 喷泉模型

特点:面向对象

这里写图片描述

2.8 构件组装模型(CBSD)

特点:节约开发成本,开发快,可靠性好

这里写图片描述

2.9 统一过程(RUP/UP)

又说是开发过程说法

百度百科
特点:用例驱动,迭代增量,以架构为中心
这里写图片描述

2.10 敏捷方法

特点:极限编程,适合于小项目(大型项目不能用,比方敏捷开发很有可能没有任何文档)

这里写图片描述

3 各个软件开发模型的特点和适用范围

这里写图片描述

二. 软件工程

1 软件过程改进

这里写图片描述

2 需求工程

2.1需求工程的定义

这里写图片描述

2.2 需求工程结构图

这里写图片描述

2.3 需求工程的各个状态

这里写图片描述

2.4 需求分析

需求分析阶段主要的功能是明确系统需要做什么,哪些该做,哪些不该做,哪些不需要做
这里写图片描述

3 软件体系架构(软件体系结构)

3.1 软件架构定义

这里写图片描述

3.2 软件架构设计

这里写图片描述
这里写图片描述
(写的比较通俗的解释:网上的说明

用例视图(Use Cases View),最初称为场景视图,关注最终用户需求,为整个技术架构的上线文环境.通常用UML用例图和活动图描述。

逻辑视图(Logical view),主要是整个系统的抽象结构表述,关注系统提供最终用户的功能,不涉及具体的编译即输出和部署,通常在UML中用类图,交互图,时序图来表述,类似与我们采用OOA的对象模型。

开发视图(Development View),描述软件在开发环境下的静态组织,从程序实现人员的角度透视系统,也叫做实现视图(implementation view)。开发视图关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK和现成框架、类库,以及开发的系统将运行于其上的系统软件或中间件, 在UML中用组件图,包图来表述。开发视图和逻辑视图之间可能存在一定的映射关系:比如逻辑层一般会映射到多个程序包等。

处理视图(Process view)处理视图关注系统动态运行时,主要是进程以及相关的并发、同步、通信等问题。处理视图和开发视图的关系:开发视图一般偏重程序包在编译时期的静态依赖关系,而这些程序运行起来之后会表现为对象、线程、进程,处理视图比较关注的正是这些运行时单元的交互问题,在UML中通常用活动图表述。

物理视图(Physical view )物理视图通常也叫做部署视图(deploymentview),是从系统工程师解读系统,关注软件的物流拓扑结,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。物理视图和处理视图的关系:处理视图特别关注目标程序的动态执行情况,而物理视图重视目标程序的静态位置问题;物理视图是综合考虑软件系统和整个IT系统相互影响的架构视图。

4 软件测试

4.1 测试原则

这里写图片描述

4.2测试类型

这里写图片描述
这里写图片描述

5 软件运行和维护

这里写图片描述

6 软件复用

这里写图片描述

7 软件开发环境

这里写图片描述

三. 面向对象技术

1 面向对象基本概念

这里写图片描述

2 面向对象分析和设计

这里写图片描述

3 UML

这里写图片描述

3.1 类图和对象图

这里写图片描述

3.2 组合和聚合的区分例子

这里写图片描述

3.3 UML 各种图形怎么画和理解

UML各种图解
这里写图片描述
这里写图片描述
这里写图片描述

3.3.1 用例图

用例图主要回答了两个问题:1、是谁用软件。2、软件的功能。从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。

这里写图片描述

3.3.2 类图

 用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。 在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。
 各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
3.3.2.1 泛化
【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
**UML 使用实线加空心箭头来实现**

这里写图片描述

3.3.2.2 实现
【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
**UML使用虚线加空心箭头实现**

这里写图片描述

3.3.2.3 关联
【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量
**UML使用实线加普通箭头来实现**

这里写图片描述

3.3.2.4 聚合
【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。
      聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

      【代码体现】:成员变量

这里写图片描述

3.3.2.4 组合
【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。
     组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。
【代码体现】:成员变量
【箭头及指向】:带实心菱形的实线,菱形指向整体

这里写图片描述

3.3.2.5 依赖
【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.
【代码表现】:局部变量、方法的参数或者对静态方法的调用
【箭头及指向】:带箭头的虚线,指向被使用者

这里写图片描述

举例
这里写图片描述

3.3.3 对象图

描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例。

这里写图片描述

3.3.4 状态图

是一种由状态、变迁、事件和活动组成的状态机,用来描述类的对象所有可能的状态以及时间发生时状态的转移条件。

这里写图片描述

3.3.5 活动图 (流程图)

是状态图的一种特殊情况,这些状态大都处于活动状态。本质是一种流程图,它描述了活动到活动的控制流。    
交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流。
活动图是一种表述过程基理、业务过程以及工作流的技术。
它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。

例子

普通流程图
这里写图片描述
带泳道的流程图
这里写图片描述
带对象的流程图
这里写图片描述

3.3.6 顺序图(序列图,时序图)

交互图的一种,描述了对象之间消息发送的先后顺序,强调时间顺序。
序列图的主要用途是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。同时序列图更有效地描述如何分配各个类的职责以及各类具有相应职责的原因。

这里写图片描述

3.3.7 协作图

交互图的一种,描述了收发消息的对象的组织关系,强调对象之间的合作关系。时序图按照时间顺序布图,而写作图按照空间结构布图

这里写图片描述

3.3.8 构件图

构件图是用来表示系统中构件与构件之间,类或接口与构件之间的关系图。其中,构建图之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。

这里写图片描述

3.3.9 部署图

描述了系统运行时进行处理的结点以及在结点上活动的构件的配置。强调了物理设备以及之间的连接关系。
部署模型的目的:
描述一个具体应用的主要部署结构,通过对各种硬件,在硬件中的软件以及各种连接协议的显示,可以很好的描述系统是如何部署的;平衡系统运行时的计算资源分布;可以通过连接描述组织的硬件网络结构或者是嵌入式系统等具有多种硬件和软件相关的系统运行模型。

这里写图片描述

3.4 总结

3.4.1 各种图的差异

1.序列图(时序图)VS协作图

   序列图和协作图都是交互图。二者在语义上等价,可以相互转化。但是侧重点不同:序列图侧重时间顺序,协作图侧重对象间的关系。

共同点:时序图与协作图均显示了对象间的交互。

不同点:时序图强调交互的时间次序。

协作图强调交互的空间结构。

  2.状态图VS活动图

  状态图和活动图都是行为图。状态图侧重从行为的结果来描述,活动图侧重从行为的动作来描述。状态图描述了一个具体对象的可能状态以及他们之间的转换。在实际的项目中,活动图并不是必须的,需要满足以下条件:1、出现并行过程&行为;2、描述算法;3、跨越多个用例的活动图。

  3.活动图VS交互图

  二者都涉及到对象和他们之间传递的关系。区别在于交互图观察的是传送消息的对象,而活动图观察的是对象之间传递的消息。看似语义相同,但是他们是从不同的角度来观察整个系统的。

猜你喜欢

转载自blog.csdn.net/m0_37370820/article/details/80136806