管理培训搜索
18318889481

IT
| 网络安全管理师

信息安全工程 网络蠕虫

| 系统集成项目管理工程师

每日一练 报名考试 考试大纲 知识考点 综合知识 直播动态 考试用书 政策法规 系统集成产学研实践 资质认定

| 金融科技师

职业前景 CGFT专题 政策动态

| 网络工程师

考试动态 每日一练 学习笔录 技术考点 知识考点 直播动态 考试用书 技术与应用 网络工程 网络技术入门 考试大纲

| 计算机学苑

数字媒体艺术 计算机科学与技术 软考报名 信息处理技术员 行业资讯 考试大纲 直播动态 网络安全 网络管理 通信技术 OpenHarmony 计算机与网络 企业信息化 软件工程 Linux 嵌入式Linux开发基础(ARMAtom) 离散数学 操作系统 C++程序设计 Java 语言程序设计 智能感知与无人系统 机器学习算法与人工智能 Python 软考资讯

| 计算机应用水平考试

考试动态 报考指南 全国计算机应用水平考试 中国计算机等级考试 江西计算机等级考试 广东计算机等级考试 江苏计算机等级考试 贵州计算机等级考试 湖南计算机等级考试 福建计算机等级考试 河南计算机等级考试 广西计算机等级考试 山西计算机等级考试 吉林计算机等级考试 江苏计算机等级考试 湖北计算机等级考试 北京计算机等级考试 安徽计算机等级考试 宁夏计算机等级考试 浙江计算机等级考试 陕西计算机等级考试 湖北计算机等级考试 河北计算机等级考试 天津计算机等级考试

| 电子商务平台

互联网营销师 电子商务师 农村电商

| 计算机技术与软件专业技术资格(水平)考试
| 信息系统项目管理师

学习笔记 考试动态 直播动态 考试用书 考试大纲 信息系统项目管理

| 信息系统监理师

IT实务 直播预告 信息系统监理师综合 答疑QA 监理资质

| 信息处理技术员

考试动态 直播动态 考试用书 知识分享 技术百科

| 《信息系统项目管理师考试全程指导》读书笔记(2)系统开发基础当前您所在的位置:首页 > IT > 信息系统项目管理师 > 学习笔记

第2章 系统开发基础

知识点:

1)软件工程知识:软件需求分析与定义、软件设计、测试与维护、软件复用、软件质量保证及质量评价、软件配置管理、软件开发环境、软件过程管理。

2)软件构件技术知识:构件及其在信息系统项目中的重要性、常用构件标准(COM/DCOM/COM+、CORBA和EJB)。

3)软件体系结构:软件体系结构定义、典型体系结构、软件体系结构设计方法、软件体系结构分析与评估、软件中间件。

4)面向对象系统分析与设计:面向对象的基本概念、统一建模语言UML、可视化建模、面向对象系统分析、面向对象系统设计。

5)软件工具:建模工具、软件开发工具、软件测试工具、项目管理工具。


2.1 软件开发方法

软件开发方法是以软件开发方法为研究对象的学科。从不同角度可以把软件方法学做如下分类:

从开发风范上看,分为自顶向下、自底向上开发方法;

从性质上看,分为形式化、非形式化方法;

从适用范围上看,分为整体性、局部性方法。

1)净室方法

净室软件工程方法是一种形式化方法,它可以生产高质量的软件。

净室方法是一种严格的软件工程方法,它是一种强调正确性的数学验证和软件可靠性的认证的软件过程模型,其目标和结果有非常低的出错率,这是使用非形式化方法难于或不可能达到的。

主要使用三种盒类型:黑盒、状态盒、清晰盒。

净室软件工程并不强调单元测试或集成测试,而是通过定义一组使用场景、确定对每个场景的使用概率及定义符合概率的随机测试来进行软件测试(这种活动称为正确性验证)。

2)结构化方法

结构化方法属于自顶向下的开发方法,强调开发方法的结构合理性及所开发软件的结构合理性。包括:

结构化分析(Structured Analysis,SA)

结构化设计(Structured Design,SD)

结构化程序设计(Structured Programming,SP)等方法。

3)面向对象方法

主要包括:

Coad/Yourdon方法

OMT(Object Model Technology,对象建模技术)方法 统一成为UML(United Model Language,统一建模语言)

OOSE(Object-Oriented Software Engineering,面向对象的软件工程)方法Booch方法

4)原型法

原型法适合于用户需求不明确的场合。它是先根据已知的和分析的需求,建立一个原始模型,这是一个可以修改的模型。在软件开发的各个阶段都把有关信息相互反馈,直至模型的修改,使模型渐趋完善。在这个过程中,用户的参与和决策加强了,缩短了开发周期,降低了开发风险,最终的结果是更适合用户的要求。原型法成败的关键及效率的高低,在于模型的建立及建模的速度。

5)逆向工程

软件再工程(Reengineering)是对现有软件系统的重新开发过程,包括:逆向工程(Reverse Engineering,反向工程)、新需求的考虑(软件重构)和正向工程三个步骤。


2.2 软件开发模型

要掌握软件生命周期的概念、各种开发模型的特点和应用场合。

1)瀑布模型

瀑布模型也称为生命周期法,适用于需求明确或很少变更的项目,它把软件开发的过程分为软件计划、需求分析、软件设计、程序编码、软件测试、运行维护6个阶段。

2)其他经典模型

包括:演化模型、螺旋模型、喷泉模型、智能模型、增量模型、迭代模型、构件组装模型。

3)V模型

以测试为中心的开发模型。

4)快速应用开发

快速应用开发(Rapid Application Development,RAD)模型是一个增量型的软件开发过程模型,强调极短的开发周期。RAD模型是瀑布模型的一个高速变种,通过大量使用可复用构件,采用基于构件的建造方法赢得快速开发。

5)敏捷方法

敏捷方法的发展过程中出现了不同的流派,如:极限编程(Extreme Programming,XP)、自适应软件开发、水晶方法、特性驱动开发等。

从开发者的角度,主要关注点:短平快会议(Stand Up)、小版本发布(Frequent Release)、较少的文档(Minimal Documentation)、合作为重(Collaborative Focus)、客户直接参与(Customer Engagement)、自动化测试(Automated Testing)、适应性计划调整(Adaptive Planning)和结对编程(Pair Programming)。

从管理者的角度,主要关注点:测试驱动开发(Test-Driven Development)、持续集成(Continuous Integration)和重构(Refactoring)。

6)统一过程

统一过程(Unified Process,UP)是一个通用过程框架,在为软件系统建模时,UP使用的是UML。UP的三个特点:用例驱动、以基本架构为中心、迭代和增量。

UP中的软件过程在时间上被分解为4个顺序的阶段:初始阶段、细化阶段、构建阶段和交付阶段。


2.3 需求工程

需求工程是包括创建和维护系统需求文档所必须的一切活动的过程,可分为需求开发和需求管理两大工作。

需求开发包括: 需求获取、需求分析、编写规格说明书(需求定义)、需求验证。

需求管理包括:定义需求基线、处理需求变更及需求跟踪等方面的工作。

1)需求开发概述

需求开发的工作可以分成:问题识别、分析与综合、编制需求分析的文档、需求分析与评审。

需求的分类:软件需求包括功能需求、非功能需求、设计约束3个方面。

需求的另一分类:业务需求、用户需求、系统需求。

2)需求获取

需求获取技术:用户访谈、用户调查、现场观摩、阅读历史文档、联合讨论会。

需求获取、需求分析、需求定义、需求验证4个需求过程阶段不是瀑布式的发展,而应该是迭代式的演化过程。

3)需求分析

需求分析方法种类:结构化分析方法、面向对象分析方法、面向问题域的分析方法(Problem Domain Oriented Analysis,PDOA)。PDOA方法现在还在研究阶段,并未广泛应用。

数据流程图(DFD)和数据字典共同构成系统的逻辑模型。

4)需求定义

需求定义的过程就是形成需求规格说明书的过程,有两种需求定义方法:严格需求定义方法和原型方法。

5)需求管理


2.4 软件设计

从工程管理角度,软件设计可分为概要设计和详细设计两个阶段。概要设计也称为高层设计,即将软件需求转化为数据结构和软件的系统结构。详细设计为低层设计,即对结构图进行细化,得到详细的数据结构与算法。

1)软件设计活动

软件设计包括4个独立又相互联系的活动,即数据设计、体系结构设计、接口设计(界面设计)和过程设计。这4个活动完成以后就得到了全面的软件设计模型。

2)结构化设计

结构化设计是一种面向数据流的设计方法,是以结构化分析阶段所产生的成果为基础,进一步自顶向下、逐步求精和模块化的过程。


2.5 软件测试

软件测试的目的是在软件投入生产性运行之前,尽可能多地发现软件产品中的错误和缺陷。软件测试只是软件质量保证的手段之一。

1)测试的类型

分为动态测试和静态测试两大类。

动态测试:

通过运行程序发现错误。 黑盒测试法

白盒测试法

灰盒测试法

静态测试:

不运行程序,采用人工检测和计算机辅助静态分析的手段进行测试。 桌前检查(Desk Checking)

代码审查

代码走查

2)测试的阶段

可以分为:单元测试、集成测试、确认测试(包括内部确认测试、Alpha测试、Beta测试、验收测试)和系统测试等。

3)性能测试

性能测试是通过自动化的测试工具模拟多种正常、峰值及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行,统一称为负载压力测试。

通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。

压力测试是通过确定一个系统的瓶颈或不能接受的性能点,来获得系统能提供的最大服务级别的测试。

4)验收测试

验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。

5)第三方测试

第三方测试是指独立于软件开发方和用户方的测试,也称为“独立测试”。


2.6 软件维护

软件维护占整个软件生命周期的60%~80%,维护的类型主要有3种:改正性维护、适应性维护、完善性维护。

还有一类叫预防性维护,可以定义为“把今天的方法学用于昨天的系统以满足明天的需要”。


2.7 软件质量管理

软件质量是指软件特性的综合,即软件满足规定或潜在用户需求的能力。软件质量保证是指为保证软件系统或软件产品充分满足要求的质量而进行的有计划、有组织的活动,这些活动贯穿与软件生产的各个阶段即整个生命周期。

软件质量特性度量有两类:预测型和验收型。

常用的国际通用软件质量模型ISO/IEC9126和Mc Call模型。ISO/IEC9126软件质量模型已被我国的国家标准《GB/T 16260——2002 信息技术 软件产品评价 质量特性及其使用指南》。


2.8 软件过程改进

软件过程能力成熟度模型(Capability Maturity Model,CMM)和能力成熟度模型集成(Capability Maturity Model Integration,CMMI)

1)CMM

分为:初始级、可重复级、已定义级、已管理级、优化级。

2)CMMI

与CMM相比CMMI涉及面不限于软件,专业领域覆盖软件工程、系统工程、集成产品开发和系统采购。

CMMI可以看作把各种CMM集成到一个系列的模型中,CMMI的基础源模型包括软件CMM、系统工程CMM、集成化产品和过程开发CMM等。

每一种CMMI模型都有两种表示法,即阶段式和连续式。


2.9 面向对象方法

主要考查面向对象的基本概念、数据隐藏、UML和构件。

1)基本概念

面向对象方法包括面向对象的分析、面向对象的设计、面向对象的程序设计。

对象:对象是指一组属性及这组属性上的专用操作的封装体。一个对象通常可由三部分组成:对象名、属性和操作(方法)。

类:类是一组具有相同属性和相同操作的对象的集合。每个类一般都有实例,没有实例的类是抽象类。

继承:继承是指某个类的层次关联中不同的类共享属性和操作的一种机制。对于两个类A和B,如果A类是B类的子类,则B类是A类的泛化。继承是面向对象方法区别与其他方法的一个核心思想。

封装:面向对象系统中的封装单位是对象,对象之间只能通过接口进行信息交流。

消息:消息是对象间通信的手段、一个对象通过向另一个对象发送消息来请求其服务。

多态性:多态性是指同一个操作作用于不同的对象时可以有不同的解释,并产生不同的执行结果。

2)统一建模语言

统一建模语言(UML)是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。

UML的结构:UML的结构包括基本构造块、支配这些构造块如何放在一起的规则(体系架构)和一些运用于整个UML的机制。

UML有三种基本的构造块,分别是事物(thing)、关系(relationship)和图(diagram)。

公共机制是指达到特定目标的公共UML方法,主要包括规格说明(详细说明)、修饰、公共分类(通用划分)和扩展机制四种。

规则,UML用于描述事物的语义规则分别为事物、关系和图命名。5个系统视图:逻辑视图、进程视图、实现视图、部署视图、用例视图。


2.10 构件与软件复用

构件(component,组件)是一个功能相对独立的具有可重用价值的软件单元。在面向对象方法中,一个构件由一组对象构成,包含了一些协作的类的集合,它们共同工作来提供一种系统功能。

1)软件复用

可重用性是指系统和(或)其组成部分在其他系统中重复使用的程度。

系统的软件重用由可重用的资产(构件)的开发、管理、支持和重用4个过程。

2)构件技术

构件是软件系统可替换的、物理的组成部分,它封装了实现体(实现某个职能),并提供了一组接口的实现方法。

为了将不同软件生产商在不同软硬件平台上开发的构件组装成一个应用系统,必须解决异构平台的各构件间的互操作问题,目前已出现了一些支持互操作的构件标准,3个主要流派为:

OMG的CORBA(Common Object Request Broker Architecture,公共对象请求代理);

Microsoft 的COM(Component Object Model,构件对象模型)和DCOM(Distributed Component Object Model,分布式构件对象模型);

Sun的EJB(Enterprise JavaBean,企业JavaBean)。


2.11 软件体系结构

软件体系结构(Software architecture,软件架构)为软件系统提供了一个结构、行为和属性的高级抽象,有构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。

软件体系结构试图在软件需求与软件设计之间架起一座桥梁,着重解决软件系统的结构和需求向实现平坦地过渡的问题。

1)软件体系结构建模

软件体系结构建模的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。根据建模的侧重点不同,可以将软件体系结构的模型分为5种,分别是结构模型、框架模型、动态模型、过程模型、功能模型。其中最常用的是结构模型和动态模型。

2)软件体系结构风格

典型的软件体系结构风格有:分层结构、客户/服务器

3)设计模式

MVC(Model-View-Controller,模型-视图=控制器)框架包括3个抽象类:View抽象类、Controller抽象类、 Model抽象类。


课程
财会类
税务类
金融类
经管类
认证类
学历类
建工类
健康类
专家
政府专家
财税名家
高校教授
文化传媒
金融科技
金融电子化
企业管理
财政金融
生物医药
诺贝尔奖得主
合规法律
科学技术
银行智库
财会
中国注册会计师
AIA
会计实务
财务经理人
初级会计师
税务实务
中级会计师
中国会计智库
CFO成长营
会计学苑
建工
二级造价工程师
建筑工程资讯
二级建造师
一级造价工程师
监理工程师
消防设施操作员
产教融合
建工学苑
一级建造师
安全工程师
消防工程师
造价工程事务所
BIM工程师
经管
转创人力
中级经济师
二级人力资源管理师
三级人力资源师
人力资源管理师
碳排放管理师
期刊中心
教材参考
军队文职人员
产教融合
劳动关系协调员
初、中级经济考试
企业合规师
初级经济师
企业人力资源管理师
职业指导师
教育
英语学习考试
专升本
成人高等教育
自考中国
自学考试研究所
普通专升本
小自考中心
高等继续教育学院
中外教育
智库与社会服务
高等职业本科
金融
证券从业
基金从业
金融智库
银行从业
转创博学
ICCM
项目
高管培训
国际学历
财经证书
专项课程
企业内训
教育技术产品
高校学科建设服务
教学资源开发
国际合作服务
产业服务
国内院校
海外院校
海外留学
合作院校
观点
政治经济
IT&财务融合
高校教授
文化传媒
金融科技
金融电子化
企业管理
财政金融
生物医药
诺贝尔奖
合规法律
科学技术
银行智库
商业产经
医卫
医卫健康
主管药师
保育员
药卫学苑
心理咨询师
家庭照护员
养老护理员
健康管理师
公共营养师
执业药师
育婴师(员)
主管护师
护士执业
医院招聘
IT
网络安全管理师
系统集成项目管理工程师
金融科技师
网络工程师
计算机学苑
计算机应用水平考试
电子商务平台
计算机技术与软件专业技术资格(水平)考试
信息系统项目管理师
信息系统监理师
信息处理技术员
考研
考研资讯
信息中心
专业硕士
考研公共课
同等学力申硕中心
复试调剂
研究生工作
考研中国
硕士入学考试
考研直播动态
教师
高中教师
考试动态
直播动态
考试报名
教育智库
幼儿教师
小学教师
初中教师
教师中国
教师招聘
中小学教师资格考试
普通话测试
教师企业
校长领导力
社工
社会工作者
技能中国
智库与社会服务
初级社会工作者
中级社会工作者
报考动态
社会工作事务所
职称评审
家庭教育指导师
转创网校APP
18318889481
在线QQ
在线留言
返回首页
返回顶部
留言板
发送