什么是软考高项?
软考高项指的是软考高级信息系统项目管理师,信息系统项目管理师属于软考高级资格考试,通过考试获得证书的人员,用人单位可根据工作需要从获得证书的人员中择优聘任相应专业技术职务。软考包含多个级别资格考试,信息系统项目管理师属于软考高级资格考试。
编写系列笔记目的?
最近报了个软考高项培训,为11月份第一次冲击高级信息系统管理师(高级项目经理)职业证书做准备。这个证书,作为职业证书的一种,可以个税抵扣,也可以作为阅历的加成,好处还是多多的,相比于近几年PMP证书考试的难度,这项考试难度更大覆盖更广,通过率也相对较低,好在它是国家承认的职业证书(PS:PMP并不是国家认可的职业证书,因此不能享受个税减免,以考代评等服务)。报培训班的目的呢,也是在有限的时间内,画出考点重点,在那么厚一本教材中,找到重点,方便在几个月的时间内系统性的备考,似乎一次过的人也是很少的,但争取早日过,奥力给!!!
附上官方教程PDF资源一份,信息系统项目管理师教程-第三版,提取码:tzqj。需要的朋友可以免费自取。
本笔记结合教程书籍目录与培训考点总结,按照教程章节的结构来编写。
教程目录:
- 1.1 信息系统与信息化
- 1.2 信息系统开发方法
- 1.3 常规信息系统集成技术
- 1.4 软件工程
- 1.5 新一代信息技术
- 1.6 信息系统安全技术
- 1.7 信息化发展与应用
- 1.8 信息系统服务管理
- 1.9 信息系统规划
本节考试题型占比:考题点比重7-8个选择题
概要:
- 信息系统
- 信息与信息系统的概念
- 信息系统的类型
- 信息系统生命周期
- 信息系统规划方法
- 信息系统开发方法
信息:
定义1(控制论创始人维纳):信息就是信息,既不是物质也不是能量,是
客观事物的基本存在形式之一
。不是物质也不是能量。
定义2(香农-信息论奠基人):信息是有别于物质与能量的第三种东西,是对事物运动状态或存在方式的不确定性的描述
。(用概率的方式进行描述的)
信息系统:
定义:信息系统是由计算机硬件、网络和通讯设备、计算机软件、信息资源、信息用户和规章制度组成的以处理信息流为目的的人机一体化系统
数据环境分类:数据文件、应用数据库、主题数据库、信息检索系统
应用层次分类:战略级(企业最高管理层)、战术级(企业中层经理及其管理部门)、操作级(服务型企业的业务部门)、事务级(企业的管理业务人员)
对应教程: 1.1.4 章节内容
信息系统的生命周期可简化为:
- 系统规划(可行性分析&项目开发计划)、
- 系统分析(需求分析)、
- 系统设计(概要设计、详细设计)、
- 系统实施(编码、测试)、
- 运行维护等阶段
为了便于论述针对信息系统的项目管理,信息系统的生命周期可以简化为以下四个阶段:
对应教程书:1.9 章节内容
信息系统规划方法:重点在于BSP-企业系统规划法。它是IBM提出的一种方法,主要用于大型信息系统的开发。BSP采取自上而下的系统规划,而实现是自下而上分步进行。
BSP是通过全面调查,分析企业信息需求,制定信息系统总体方案的一种方法
企业系统规划法(BSP):结合现有情况,明确未来开发方法
考点:考流程图
对应教程书1.2 章节内容
常用的开发方法包括:结构化方法、面向对象方法、原型化方法、面向服务的方法等
- 结构:是指系统内各大个缅怀要求之间的相互联系、相互作用的框架。
- 结构化方法,也称为“生命周期法”,是一种传统的信息系统开发方法。(结构化方法是目前最成熟,应用最广泛的工程化方法)
- 方法组成:由结构化分析(SA),结构化设计(SD),结构化程序设计(SP)三部分组合而成。
- **适用场景:**成熟的,稳定的,需求明确的项目。在开发过程中不能随意更改。适合于数据处理领域的问题。不适应于规模较大,比较复杂 的系统开发。
PPT 中特点:
- 用户至上
- 严格区分工作阶段,每阶段有任务与成果
- 强调系统开发过程的整体性和全局性
- 系统开发过程工程化,文档资料标准化
- 自顶向下,逐步分解(求精)、模块化设计
**原型化方法:也叫快速原型法,原型法。**是一种根据用户初步需求,利用系统开发工具,快速的建立 一个系统模型展示 给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发方法。
原型:是系统的一个早期可运行版本,它反映最终系统的部分重要特性。
分类:
**应用场景:**适用于需求不明确
,不断迭代的开发方法。对于分析层面难度大,技术层面 难度不大的系统,适合于原型法
特点:
不足:
一些大型信息系统的开发,通常是将结构化方法和OO方法结合起来。首先,使用结构化方法进行自顶向下的整体划分,再自底向上的用OO法进行开发。
对应教程书 1.4章节内容
软件工程:是指应用计算机科学、数学 及管理科学等原理,以工程化的原则 和方法来解决软件问题的工程,其目的是提高软件 生产率、提高软件质量、降低软件 成本。
IEEE对软件工程的定义:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究,即为软件工程。
组成部分:方法、工具、过程。
主要内容点:
- 软件开发模型(项目生命周期模型。教程2.7章节内容)
- 需求工程(需求分析。教程1.4.1 章节内容)
- 软件设计
- 软件测试
- 软件运行与维护
- 软件复用
- 软件开发环境
高层次
的目标要求,通常来自项目投资人、客户、客户单位管理人员、市场营销部,产品策划部等, 业务需求可确定 项目视图和范围。它描述了组织 为什么要开发一个系统,即组织希望达到的目标,使用前景和范围文档来记录业务需求,这份文档有时也被称为项目轮廓图或市场需求文档。需求分析涉及分析需求的过程,其目的如下:
1、检测和解决需求之间的冲突
2、发现软件的边界,以及软件与期环境如何交互
3、详细描述系统的需求,以导出软件需求
软件需求规格说明书(Software Requirement Specification, SRS)是需求开发活动的产物,编制该文档的目的是使项目干第人与开发团队对系统的初始规定有一个共同的理解 ,使这成为整个开发工作的基础。SRS是软件开发过程中最重要的文档之一,对于任何规模和性质的软件项目都不应缺少。
国家标准GB/T 8567 -2006中,规定SRS应用包括以下内容:范围,引用文件,需求,合格性规定,需求可追踪性,尚未解决的问题,注解,附录。
见教程2.7章节内容,软件开发模型,又叫”项目生命周期模型“
软件开发模型:即方法的具体实例,一共9个模式
- 瀑布模型
*
- V模型
*
- 原型化模型
- 迭代模型
- 螺旋模式
*
- 构建组装模型
- 统一过程(RUP)
- 喷泉模型
- 敏捷方法
标星为重点掌握模型,其余了解即可
瀑布模型:是结构化开发方法的具体应用
与瀑布模型相似,但每个阶段有对应的测试
注意:测试是贯穿整个开发流程的工作
本节重点
:掌握每个阶段所对应的测试类型
敏捷开发,是一种应对快速变化 的需求的一种软件开发能力。 以人为核心、迭代、秩序渐进。更强调程序 员团队与业务专家之间的紧密协作 、面对面沟通、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化 的代码编写和团队组织方法,也更注重软件开发中人的作用。
Scrum是一种迭代式增量软件开发过程,常用于敏捷软件开发。
软件设计包含3个过程:
- 1、架构 设计:架构模式,宏观设计
- 逻辑视图(满足功能需求)
- 过程视图(并发问题)
- 组件视图(实现问题)
- 部署视图(分布问题)- 2、概要设计
- 3、详细设计(设计模式、微观),以下
三个原则 要掌握(*)
- 自顶向下 ,逐步求精
- 信息隐蔽(为了模块独立)
- 模块独立(高内聚、低耦合)
典型架构模式有以下7种:
1、测试原则:
2、测试类型:
按“是否需要执行”可以将测试分为2大类:
不了解内部结构
)了解内部结构的前提下进行的
)系统集成项目管理工程师教程3.3内容:
从是否关心软件内部结构和具体实现的角度划分白盒测试,黑盒测试,灰盒测试。
从是否执行程序 的角度划分静态测试和动态测试
从软件开发的过程按阶段划分有:单元测试,集成测试,确认测试,系统测试,验收测试
3、测试阶段
根据软件项目生命周期V模型中可以将测试分为如下阶段:
其他测试:
- 回归测试:发现并解决问题后进行
- 负载测试:按设计原则 进行测试,没要测性能
- 压力测试:测系统能承担的最大能力
4、测试管理
测试管理过程
包括:制定测试计划及用例,执行测试,发现并报告缺陷,修正缺陷,重新测试
测试管理分类:
- 测试团队管理:根据不同业务分
- 测试计划管理
- 错误(缺陷)跟踪管理
- 测试件管理
软件维护是生命周期的一个完整部分。可以将软件维护定义为需要提供软件支持的全部活动,这些活动包含在(1)交付前完成的活动,以及(2)交付后完成的活动。交付前完成的活动包括
交付后运行的计划·
和维护计划
等,交付后的活动包括软件修改、培训、帮助资料
等。
系统运维分为4类:
软件复用
是指利用已有软件 的各种有关知识构造新的软件,以缩减软件开发和维护的费用。软件复用是提高软件生产力和质量的一种重要技术。
分类:
- 代码的复用
- 设计的复用
- 分析的复用
- 测试信息的复用
开发环境:
软件过程管理:(集成了过程管理和项目管理,包括以下6个方面)
此节包含以下三个部分:
1、面向对象基本概念
2、UML
3、面向对象分析与设计
面向对象技术有以下几个概念:
(*)
:指两个或多个属于不同类的对象,对于同一个消息(方法调用)作出不同响应的方式。它是一种方法,这种方法使得在多个类中可以定义同一操作或属性,并在每个类中可以由不同的实现。使得一个属性或变量在不同的时期可以表示 不同类的对象。面向对象设计的7大原则(了解):
UML:UML 是一种定义良好、易于表达、功能强大旦普遍适用的建模语言。是面向对象分析的重要表示方法。它的作用域不限于支持OOA和OOD,还支持从需求分析开始的软件开发全过各。
1、UML的结构包括:
2、UML中的关系:
UML的特征:
- 可视化的建模语言
- 面向对象分析与设计的一种标准表示
- 允许任何一种过程和方法是用它
- 简单并且可扩展
- 强调重用(架构、框架、模式和组件)
3、UML2.0的图形分类:
面向对象分析阶段的核心工作是建立 系统的用例模型与分析模型。
OOA:Object Orient Analyse,面向对象分析
SA:Structural Analyse,结构化分析
1、用例模型
构建用例模型一般需要经历四个阶段:
- 识别参与者
- 合并需求获得用例
- 细化用例描述
- 调整用例模型:利用用例之间的关系来调整用例模型。(关系主要有:包含、扩展、泛化)
2、分析模型
下图描述类之间的关系表示 :
3、面向对象分析与设计
步骤:
目标:
面向对象设计分类:
1、软件质量保证与质量评价
软件:是计算机程序及其有关的数据和文档,也包括固化了的程序
**软件质量:**指软件产品中能满足给定需求的各种特性和和总和。这些特性称做质量特性,包括:功能特性,可靠性,时间经济必,资源经济性,可维护性和移植性等。
软件质量管理过程:
验证是指确定软件开发周期中一个给定阶段的产品是否达到上一阶段确定的需求的过程
**确认:**指在软件开发过程结束时对软件进行评价以确定它是否和软件 需求相一致的过程【重要】
**测试:**是指通过执行程序 来有意识地发现程序 中的设计错误和编码错误的过程。测试是验证和确认的手段之一
**审计:**指评价软件产品和过程对于设定规则 、标准、流程等的遵从性。【背下来】
2、软件质量保证与质量评价
3、软件 质量保证的主要职责 是?