2017年9月全国计算机等级考试《四级软件工程》复习全书【核心讲义+历年真题详解】(txt+pdf+epub+mobi电子书下载)


发布时间:2021-02-14 21:19:24

点击下载

作者:圣才电子书

出版社:圣才电子书

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

2017年9月全国计算机等级考试《四级软件工程》复习全书【核心讲义+历年真题详解】

2017年9月全国计算机等级考试《四级软件工程》复习全书【核心讲义+历年真题详解】试读:

第一部分 备考指南

第1章 考试概述

一、考试简介

全国计算机等级考试(National Computer Rank Examination,简称NCRE),是经原国家教育委员会(现教育部)批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系。

计算机技术的应用在我国各个领域发展迅速,为了适应知识经济和信息社会发展的需要,操作和应用计算机已成为人们必须掌握的一种基本技能。许多单位、部门已把掌握一定的计算机知识和应用技能作为人员聘用、职务晋升、职称评定、上岗资格的重要依据之一。鉴于社会的客观需求,经原国家教委批准,原国家教委考试中心于1994年面向社会推出了NCRE,其目的在于以考促学,向社会推广和普及计算机知识,也为用人部门录用和考核工作人员提供一个统一、客观、公正的标准。

二、考试科目级别科目名称科目代码考试时间考核课程代码计算机基础及WPS Office应1411490分钟用一级计算机基础及MS Office应用1590分钟115计算机基础及Photoshop应用1690分钟11624201、224C语言程序设计120分钟VB语言程序设计26120分钟201、226VFP数据库程序设计27120分钟201、22728201、228Java语言程序设计120分钟二级Access数据库程序设计29120分钟201、229C++语言程序设计61120分钟201、261MySQL数据库程序设计63120分钟201、263Web程序设计64120分钟201、264MS Office高级应用65120分钟201、265网络技术35120分钟33536336数据库技术120分钟三级软件测试技术37120分钟337信息安全技术38120分钟33839339嵌入式系统开发技术120分钟网络工程师4190分钟401、403数据库工程师4290分钟404、405四级软件测试工程师4390分钟401、405信息安全工程师4490分钟401、403嵌入式系统开发工程师4590分钟401、402

说明:

同次考试考生可报考多个级别或科目,但不允许重复报考同一个科目,具体要求请想所在省级承办机构进行咨询。

报考多个科目时需咨询考点,避免考场安排时冲突。如:考生同时报考了二级C、三级网络技术、四级网络工程师三个科目,结果通过了三级网络技术、四级网络工程师考试,但没有通过二级C考试,将不颁发任何证书,三级网络技术、四级网络工程师两个科目成绩,自考试结束之日起可保留半年(按月计算)。下一次考试考生报考二级C并通过,将一次获得三个级别的证书;若没有通过二级C,将不能获得任何证书。同时,三级网络技术、四级网络工程师两个科目成绩自动失效。

三、报考条件

1.考生不受年龄、职业、学历等背景的限制,任何人均可根据自己学习和使用计算机的实际情况,选考不同等级的考试。考生一次只能报考一个科目的考试。考生一次考试只能在一个考点报名。考生可以不参加考前培训,直接报名参加考试。

2.每次考试报名的具体时间由各省(自治区、直辖市)级承办机构规定。考生按照有关规定到就近考点报名。上次考试的笔试和上机考试仅其中一项成绩合格的,下次考试报名时应出具上次考试成绩单,成绩合格项可以免考,只参加未通过项的考试。

3.特殊人员报考条件:

现役军人可使用军官证报考NCRE考试,在其军官证号码前后各加入识别码,此办法也适用于没有身份证的未成年人,识别码的编码有统一格式,前6位后4位。国务院和中央军事委员会联合下发的510号令,已经公布《现役军人和人民武装**居民身份证申领发放办法》,该办法自2008年1月1日起实施,现役军人可以通过团以上单位集中向地方公安机关申请居民身份证。

无身份证的学生可携带户口本参加报名,身份证丢失者凭公安机关开具的身份证明,外籍人员凭护照参加报名。

四、报考方式

分为考点现场报名与网上报名。

考生在考点现场报名时,需出示身份证以及缴纳相关的考试费。考生一定要亲自到场,不能由任何单位、个人代劳。考生按要求进行信息采集,并逐一核实报名表上的个人信息:姓名、身份证号、照片、报考科目、报考类别(是否补考)等,发现信息不一致要立刻更改。报名完成后请妥善保管“考生报名登记表”防止阻碍准考证的领取。

考生采取网上报名方式,需先在所在省份的网上报名系统注册并填报相关基本信息、上传正面免冠电子近照,然后网上缴费或至指定地点缴费并确认身份信息,完成报名。

一般情况下,每次考试每个考生只能在一个考点完成报名。

考生报名时缴纳的考试费的具体金额由各省级承办机构根据考试需要和当地物价水平确定,并报当地物价部门核准。考点不得擅自加收费用。

注:报名时依据的身份证明包括:居民身份证、军人的证件、护照、户口本等。

五、报考时间考试安排第一场第二场第三场报名时间12月开始5月开始11月10日以后

注:各地的报名时间由考生报考所在地的当地考试机构决定。

六、考试时间

NCRE以往每年开考两次,从2014年开始每年开考次数由两次增为三次。

2016年NCRE安排三次考试,考试时间分别为3月21日~24日、9月19日~22日、12月12日~13日,其中3月和9月考试开考全部级别全部科目,12月只开考一级和二级,由各省级承办机构根据实际情况确定是否开考12月的考试。

七、各级别考试介绍一级科一级WPS Office一级MS Office一级Photoshop目考试NCRE一级上机考试环境为Windows 7简体中文版环境考试WPS Office 2012办公软Photoshop CS5 (典MS Office 2010软件型方式安装)件1.单项选择题,201.单项选择题,20题,20分 2.Windows题,20分 2.题操作系统的使用,10分W indows操作系统的1.单项选择题,55型3.WPS文字的操作,使用,10分 3.Word及题,55分(含计算机25分 4.WPS表格的操操作,25分 4.Excel分基础知识部分20作,20分 5.WPS演示操作,20分 5.值分) 2.Photoshop软件的操作,15分 6.PowerPoint操作,15比操作题,45分浏览器(IE)的简单使分 6.浏览器(IE)例用和电子邮件收发,10的简单使用和电子邮分件收发,10分1.考核内容包括计算机基础知识和操作技能两部分。 2.各科目对基础知识的要求相同,以考查应知应会为主,题型为选择题,分考数占全卷的20%(20分)。 3.办公软件类考试,操作技能部分包核括汉字录入、Windows系统使用、文字排版、电子表格、演示文稿、内IE的简单应用及电子邮件收发。 3.Photoshop考试,要求了解数容字图像的基本知识,熟悉Photoshop的界面与基本操作方法,掌握并熟练运用绘图工具进行图像的绘制、编辑、修饰,会使用图层蒙版、样式以及文字工具。形完全采取上机考试形式,各科上机考试时间均为90分钟,满分100式分。获证总分不低于60分。条件参加NCRE“计算机基础及Photoshop应用”科目考生,可以在NCRE报名时自愿申请免试取得“Adobe Photoshop产品工程师认备证”证书,即:通过NCRE“计算机基础及Photoshop应用”科目注考试实现一次考试,可以同时取得全国计算机等级证书与“Adobe Photoshop产品工程师认证”证书,即“一考双证”。二级数据库程序办公软件高级应 语言程序设计类设计类用My科JavAcc办公软件高级应C语言C++VBWebVFPSQ目aess用L考试NCRE 二级上机考试环境为 Windows 7 简体中文版环境Net-My BeVB6NetBVFPSQans .0e ans6.0 L(中简中国简MS Co考Visu国体教育体Accmm试al C教中考试中Visual C++ 6.0essMS Office 2010unit软++ 育文版,文201y 5.件6.0考专IE6.专05.试业0 及业16版版以上版)20071.单项选择题,1.单项选择题,20分(含公共基题40题,40分(含础知识部分10型公共基础知识部1.单项选择题,40题,40分分) 2.文字处理及分10分) 2.程(含公共基础知识部分10分) 题(Word),30分序填空题,3小2.基本操作题,18分 3.简分 3.电子表格题值空,18分 3.程单应用题,24分 4.综合应用/(Excel),30分 比序改错题,2个错操作题,18分4.演示文稿题例误,24分 4.程(PowerPoint),序设计题,18分20分二级定位为程序员,考核内容包括公共基础知识和程序设计。所有考科目对基础知识作统一要求,使用统一的公共基础知识考试大纲和核教程。二级公共基础知识在各科考试选择题中体现。程序设计部分,内主要考查考生对程序设计语言使用和编程调试等基本能力,在选择容题和操作题中加以体现。形完全采取上机考试形式。各科上机考试时间均为120分钟,满分式100分。获证总分不低于60分条件三级科软件测试技信息安全技嵌入式系统网络技术数据库技术目术术开发技术考试环1.NCRE三级上机考试环境为 Windows 7 简体中文版 2.数据库境技术考核C语言程序设计,使用 Visual C++ 6.0与软件题型及分1.单选题,40题,40分 2.综合题,40分 3.应用题,20分值比例1.网络技术。网络规划与设计、局域网组网技术、计算机网络信息服务系统的建立及计算机网络安全与管理。 2.数据库技术。数据库应用系统分析及规划、数据库设计及实现、数据库存储技术、考并发控制技术、数据库管理与维护、数据库技术的发展及新技核术。 3.软件测试技术。软件测试的基本概念、软件测试技术、内软件测试过程和管理方法。 4.信息安全技术。信息安全保障概容论、信息安全基础技术与原理、系统安全、网络安全、应用安全、信息安全管理、信息安全标准与法规。 5.嵌入式系统开发技术。嵌入式系统的概念与基础知识、嵌入式处理器、嵌入式系统硬件组成、嵌入式系统软件、嵌入式系统的开发等相关知识和技能。形完全采取上机考试形式。各科上机考试时间均为120分钟,满分式100分。1.总分不低于60分,并已经(或同时)获得二级相关证书。 2.获三级数据库技术证书要求已经(或同时)获得二级数据库程序设计证类证书;网络技术、软件测试技术、信息安全技术、嵌入式系统开条发技术等四个证书要求已经(或同时)获得二级语言程序设计类证件书。 3.考生早期获得的证书(如Pascal、FoxBase等),不严格区分语言程序设计和数据库程序设计,可以直接报考并获得证书。参加NCRE“计算机基础及Photoshop应用”科目考生,可以在NCRE报名时自愿申请免试取得“Adobe Photoshop产品工程师认备证”证书,即:通过NCRE“计算机基础及Photoshop应用”科目注考试实现一次考试,可以同时取得全国计算机等级证书与“Adobe Photoshop产品工程师认证”证书,即“一考双证”。四级科数据库工程软件测试工信息安全工嵌入式系统网络工程师目师程师程师开发工程师考试NCRE四级上机考试环境为Windows 7简体中文版。环境题型及分1.单选题,60题,60分 2.多选题,20题,40分值比例1.网络工程师。考核计算机网络、操作系统原理两门课程。测试内容包括网络系统规划与设计的基础知识及中小型网络的系统组建、设备配置调试、网络系统现场维护与管理的基本技能。 2.数据库工程师。考核数据库原理、软件工程两门课程。测试内容包括数据库系统的基本理论以及数据库设计、维护、管理与应用开发的考基本能力。 3.软件测试工程师。考核操作系统原理、软件工程两核门课程。测试内容包括软件测试的基本理论、软件测试的规范及标内准,以及制定测试计划、设计测试用例、选择测试工具、执行测试容并分析评估结果等软件测试的基本技能。 4.信息安全工程师。考核计算机网络、操作系统原理两门课程。测试内容包括网络攻击与保护的基本理论与技术,以及操作系统、路由设备的安全防范技能。 5.嵌入式系统开发工程师。考核操作系统原理、计算机组成与接口两门课程。测试内容包括嵌入式系统基本理论、逻辑电路基础以及嵌入式系统中的信息表示与运算、评价方法等基本技能。1.无纸化考试,考试总时间为90分钟,单课程考试没有时间要求。 2.四级考试科目由五门专业基础课程中指定的两门课程组成,形总分100分,两门课程各占50分。 3.专业基础课程为计算机专业式核心课程,包括:操作系统原理、计算机组成与接口、计算机网络、数据库原理、软件工程。获两门课程分别达到30分及以上,并已经(或同时)获得三级相关证证书。 2013年3月及以前获得的三级各科目证书,不区分科目,可条以作为四级任一科目的获证条件。件参加NCRE“计算机基础及Photoshop应用”科目考生,可以在NCRE报名时自愿申请免试取得“Adobe Photoshop产品工程师认备证”证书,即:通过NCRE“计算机基础及Photoshop应用”科目注考试实现一次考试,可以同时取得全国计算机等级证书与“Adobe Photoshop产品工程师认证”证书,即“一考双证”。

·2015年NCRE继续实施2013年版考试大纲,教材参见全国计算机等级考试教材目录(2015年版)。

八、考试要求

1、了解软件工程的基本概念,包括软件生存周期各阶段的主要活动。

2、理解需求获取和分析建模的方法,包括结构化分析技术和面向对象分析技术。

3、理解软件设计的原则和方法,包括结构化设计方法和面向对象设计方法。

4、理解程序设计风格和编码规范的思想,结构化程序设计的方法。

5、理解白盒测试和黑盒测试的测试用例设计思想。

6、了解软件项目管理的主要知识领域,以及它们在软件开发中的作用。

7、了解软件过程的概念和分类,以及软件过程成熟度模型CMMI。

8、理解软件质量和软件质量模型的含义,了解度量软件质量的方法,包括产品的质量和过程的质量。

9、了解软件质量保证、软件配置管理、软件验证和确认技术、软件审核方法、软件评审方法等方面的知识。

10、了解软件工程标准的层次和作用,以及软件文档的分类和作用。

九、考试内容(一)软件工程概念

1、软件与软件工程概念。

2、软件工程过程与软件生存周期。

3、软件工程方法学。

4、软件过程模型。

5、软件工具概述。(二)面向对象概念与UML

1、面向对象系统的基本概念。

2、统一建模语言UML概述。

3、UML的模型元素。

4、UML的图。(三)软件需求分析

1、系统工程概念。

2、软件需求分析的任务和原则。

3、软件需求获取技术。

4、结构化分析方法。

5、面向对象分析方法。

6、软件需求规格说明与评审。(四)软件设计

1、软件设计的任务和原则。

2、结构化设计方法。

3、软件的过程设计。

4、面向对象系统设计方法。

5、软件体系结构设计。

6、对象设计。

7、软件设计说明与评审。(五)程序实现

1、程序实现的任务。

2、结构化程序设计方法。

3、面向对象程序设计方法。

4、程序设计风格与编码规范。

5、程序设计语言的选择。

6、程序复杂性度量。

7、程序调试。(六)软件测试

1、软件测试的任务和原则。

2、软件测试的方法。

3、软件测试的策略。

4、人工测试。(七)软件维护

1、软件维护的任务。

2、软件维护的活动。

3、程序修改步骤和修改的副作用。

4、软件的可维护性。

5、软件演进与再工程。(八)软件过程

1、软件过程的概念与分类。

2、软件过程的建模。

3、软件过程的成熟度模型CMM/CMMI。

4、软件过程改进。(九)软件项目管理

1、软件项目与项目管理概述。

2、软件项目计划与集成管理。

3、软件项目度量与工作量估算。

4、软件项目进度与成本管理。

5、软件项目人员与沟通管理。

6、软件项目风险管理。

7、软件配置管理。

8、需求管理。(十)软件质量保证

1、软件质量与质量模型。

2、软件质量度量与度量模型。

3、软件质量计划。

4、软件质量保证。

5、验证和确认。

6、软件评审。

7、审核。(十一)软件工程标准与文档

1、软件工程标准及标准化。

2、软件工程标准的分类与分级。

3、软件文档的作用与分类。

4、对文档编制的质量要求。

5、软件工程文档概要。

十、成绩及证书

1.NCRE实行百分制计分,但以等第通知考生成绩。等第共分优秀、及格、不及格三等。90~100分为优秀、60~89分为及格、0~59分为不及格。一般在考后30个工作日内由教育部考试中心将成绩处理结果下发给各省级承办机构。考后50个工作日,考生可登录教育部考试中心综合查询网(chaxun.neea.edu.cn)进行成绩查询。部分省市如江苏、黑龙江等也可通过省市考试院或者人事考试中心进行查询。

2.NCRE成绩在及格以上者,由教育部考试中心颁发合格证书。考后45个工作日教育部考试中心将证书发给各省级承办机构,然后由各省级承办机构逐级转发给考生。考生证书若丢失,可登录教育部考试中心综合查询网补办合格证明书。补办合格证明书收费21元,其中制证、邮寄费用20元,银行收取手续费1元。

3.NCRE合格证书式样按国际通行证书式样设计,用中、英两种文字书写,证书编号全国统一,证书上印有持有人身份证号码。该证书全国通用,是持有人计算机应用能力的证明,也可供用人部门录用和考核工作人员时参考。

一级证书表明持有人具有计算机的基础知识和初步应用能力,掌握Office办公自动化软件的使用及因特网应用,或掌握基本图形图像工具软件(Photoshop)的基本技能,可以从事政府机关、企事业单位文秘和办公信息化工作。

二级证书表明持有人具有计算机基础知识和基本应用能力,能够使用计算机高级语言编写程序,可以从事计算机程序的编制、初级计算机教学培训以及企业中与信息化有关的业务和营销服务工作。

三级证书表明持有人初步掌握与信息技术有关岗位的基本技能,能够参与软硬件系统的开发、运维、管理和服务工作。

四级证书表明持有人掌握从事信息技术工作的专业技能,并有系统的计算机理论知识和综合应用能力。

第2章 复习技巧

一、备考指导

1.勇往直前

进入下午考试,也许有疲劳或不好的感觉,自信心就会下降;当看到题干很长,操作较复杂的题时,就有想回避或焦虑、急燥的情绪。这是典型的“两军未战,兵先屈”的败兴思绪。要知道两对手相遇勇者胜,勇者相遇智者胜。抛开所有不必要的想法,相信自己的实力,做到心无旁鹜,勇往直前。

2.审清题干

题干包含了整个题目的条件和要求,若题干比较复杂,就要注意将题干“分段”来阅读,前后注意衔接,必要时在草稿纸上记载下关键点。有时候题干很长,看似很复杂,让很多人望而却步。其实,这种题更好解,因题干长了则提示信息也就多了。主要是考你有没有勇气和耐心。

3.解读试题

首先,要翻阅一下全部试卷,注意试题的时间及分数的分配情况,做到心中有数。

其次,要确实弄清楚每道题的题意,搞清楚题目所给予问题,明确题目要求。因为考试要求可能与自己习惯的答题要求有所不同,所以一定要按题意和要求去回答。

最后,要特别注意题目中比较隐蔽的条件。一般而言,条件隐蔽的问题难度较大,考生必须看清有关的线索,找出隐蔽条件,问题才能迎刃而解。

4.相信自己

当题做得非常顺利时,心里不要太得意,因为越是看似容易的题目越是错的多,当然也不要逆向思维,觉得这题这么简单是不是做错了,要相信自己,说到底还是要审清题目的意思;

二、题型分析

1.选择题

选择题为单选题,是客观性试题,试题覆盖面广,一般情况下考生不可能做到对每个题目都有把握答对。这时,就需要考生学会放弃,即不确定的题目不要在上面花费太多的时间,应该在此题上做上标记,立即转移注意力,作答其他题目。最后有空余的时间再回过头来仔细考虑此题。但要注意,对于那些实在不清楚的题目,就不要浪费时间了,放弃继续思考,不要因小失大。

绝大多数选择题的设问是正确观点,称为正面试题;如果设问是错误观点,称为反面试题。考生在作答选择题时可以使用一些答题方法,以提高答题准确率。(1)正选法(顺选法):如果对题肢中的4个选项,一看就能肯定其中的1个是正确的,就可以直接得出答案。注意,必须要有百分之百的把握才行。(2)逆选法(排谬法):逆选法是将错误答案排除的方法。对题肢中的4个选项,一看就知道其中的1个(或2个、3个)是错误的,可以使用逆选法,即排除错误选项。(3)比较法(蒙猜法):这种办法是没有办法的办法,在有一定知识基础上的蒙猜也是一种方法。

2.操作题

上机考试重点考察考生的基本操作能力,要求考生具有综合运用基础知识进行实际操作的能力。上机操作题综合性强、难度较大。上机考试的评分是以机评为主,人工复查为辅的。机评当然不存在公正性的问题,但却存在呆板的问题,有时还可能因为出题者考虑不周出现错评的情况。考生做题时不充分考虑到这些情况,就有可能吃亏。

掌握好上机考试的应试技巧,可以使考生的实际水平在考试时得到充分发挥,从而取得较为理想的成绩。历次考试均有考生因为忽略了这一点,加之较为紧张的考场气氛影响了水平的发挥,致使考试成绩大大低于实际水平。因此每个考生在考试前,都应有充分的准备。总结以下几点供考生在复习和考试时借鉴:(1)对于上机考试的复习,切不可“死记硬背”

根据以往考试经验,有部分考生能够通过笔试,而上机考试却不能通过,主要原因是这部分考生已经习惯于传统考试的“死记硬背”,而对于真正的知识应用,却显得束手无策。为了克服这个弊病,考生一定要在熟记基本知识点的基础上,加强上机训练,从历年试题中寻找解题技巧,理清解题思路,将各类典型试题反复练习。(2)在考前,一定要重视等级考试模拟软件的使用

在考试之前,应使用等级考试模拟软件进行实际的上机操作练习,尤其要做一些具有针对性的上机模拟题,以便熟悉考试题型,体验真实的上机环境,减轻考试时的紧张程度。(3)学会并习惯使用帮助系统

大部分软件都有较全面的帮助系统,熟练掌握帮助系统,可以使考生减少记忆量,解决解题中的疑难问题。(4)熟悉考试场地及环境

尤其是要熟悉考场的硬件情况和所使用的相关软件的情况。考点在正式考试前,会给考生提供一次模拟上机的机会。模拟考试时,考生重点不应放在把题做出来,而是放在熟悉考试环境,相应软件的使用方法,考试系统的使用等方面。(5)做上机题时要不急不燥,认真审题

先分析,后操作。明白了问题是什么以后,先把问题在脑海里过一遍,考虑好如何操作后,再依思路从容做答。而不要手忙脚乱、毛毛躁躁、急于作答。对于十分了解或熟悉的问题,切忌粗心大意、得意忘形、而应认真分析,必须将题目给出的全部内容逐字看清楚后针对具体问题进行操作。

常言道“熟能生巧”、“打铁还得本身硬”,再好的方法与技巧若没有基础,是发挥不了作用的;如若有了一定的功底,再差的招式也会产生很大的威力,就像金庸小说中杨过的那柄钝剑。但是如果只看不练,不会有提高。建议大家多做模拟试题和历年试题,锻炼解题的能力与节奏。

第二部分 核心讲义

第1章 软件工程概论

一、软件和软件工程的概念

1.软件的概念(1)软件的定义

①从系统工程角度“软件(Software)”是计算机系统中与计算机硬件相互依存的另一部分。从系统工程角度来看,它作为系统元素,与计算机硬件、人、数据库等共同构成计算机系统。

②GB/T 11457-2006《信息技术软件工程术语》中的定义

软件是与计算机系统的操作有关的计算机程序、规程及可能的相关文档的完整集合:

a.计算机程序(Program)

计算机指令和数据定义的组合,使计算机硬件能够执行计算或控制功能。

b.规程(Procedure)

为执行给定的任务而应采取的一系列动作的描述。

c.文档(Document)

与程序开发、维护和使用有关的图文材料。(2)软件的分类

①系统软件

系统软件是一套服务于其他程序的程序:

a.一些系统软件(如编译器、编辑器、文件管理实用程序)处理复杂但确定的信息结构;

b.另一些系统软件(如操作系统构件、驱动程序、网络软件和远程通信处理器)处理的主要是不确定的数据。

②应用软件

应用软件是一些可以满足特定业务需要的独立应用软件:

a.数据处理

应用软件用于处理商务或技术数据,以协助业务操作和管理或技术决策。

b.实时控制

应用软件也被用于业务领域的实时控制(如销售点的交易处理、实时制造过程控制等)。

③工程/科学软件

工程和科学软件涵盖了广泛的应用领域。计算机辅助设计、系统仿真和其他的交互性应用程序呈现出实时和系统软件的特性。

④嵌入式软件

嵌入式软件存在于某个产品或者系统中,可实现和控制面向最终使用者和系统本身的特性和功能。嵌入式软件可以执行有限的功能或者提供重要的功能和控制能力。

⑤产品线软件

产品的设计方向是为多个不同的用户提供特定功能,关注有限的特定市场(如库存控制产品)或大众消费品市场(如文字处理等)。

⑥Web应用软件

最简单的Web应用可以是一组超文本链接文件,仅用文本和有限的图形表达信息。随着电子商务和B2B应用的发展,网络应用演变成为复杂的计算环境与企业数据库和商务应用程序相结合。

⑦人工智能软件

人工智能软件利用非数值算法来解决计算和直接分析无法解决的复杂问题。这个领域的应用程序包括机器人、专家系统、模式识别(图像和语音)、人工神经网络、定理证明和博弈等。(3)软件开发人员需要了解的内容

①遗留软件

遗留软件即以往的软件开发人员开发并成功使用的软件。为了使它们能够在新的环境下适应新的需要,必须对它们加以改造。

②网络平台

当前,大多数软件开发都是基于网络的,软件开发人员采用适当的开发模式,建立灵活的系统架构,已成为网络软件开发的关键。

③开源软件

开源软件即网络上可以下载并使用的免费软件,是允许用户自行修改和利用的各种软件程序。利用开源软件,软件开发人员可以少编或不编程序,将从网络上下载的开源软件直接集成到目标系统中,完成软件开发的任务。

2.软件危机(1)软件危机的爆发

20世纪60年代中期,大容量、高速度计算机的出现,使计算机的应用范围迅速扩大,软件开发急剧增长,软件系统的规模越来越大,复杂程度越来越高,软件可靠性问题也越来越突出。原来的个人设计、个人使用的方式不再能满足要求,迫切需要改变软件生产方式,提高软件生产率,软件危机开始爆发。(2)软件危机的主要表现

①软件开发成本和进度严重失控

软件开发的实际成本在计算机系统总成本中所占的比例居高不下,投资一再追加,实际成本远远超出预算成本。

②软件开发生产率提高速度慢

软件开发生产率提高的速度远远跟不上计算机应用的需要,拖延工期几个月甚至几年的现象也并不罕见,这种现象降低了软件开发组织的信誉。

③软件的可靠性差

尽管耗费了大量的人力和物力,而系统的正确性却越来越难以保证,出错率大大提高,由于软件错误而造成的损失十分惊人。

④软件难以维护

生产出的软件难以维护,很多程序缺乏相应的文档,程序的错误难以定位和改正,有时改正了已有的错误又会引入新的错误。(3)软件危机的解决途径

①工程化

使用工程化的原则指导软件产品的开发和维护,作为一个工程学科,软件工程从硬件工程和其他人类工程中吸收了许多成功的经验,明确提出了软件生存周期的模型,发展了许多软件开发与维护阶段适用的技术和方法,并应用于软件工程实践。

②标准化

通过标准化的手段来规范软件产品的开发过程和管理过程。

a.在软件开发过程中使用软件工具,以辅助进行软件项目管理与产品的生产。

b.将软件生存周期各阶段使用的软件工具有机地集成为一个整体,形成集成化软件支援环境。

3.软件工程的概念(1)软件工程的定义

①软件工程的第一个定义

NATO举行的学术会议上,德国人Fritz Bau.er第一次为软件工程下了定义:“软件工程是为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则。”

②《信息技术软件工程术语》中的定义

GB/T 11457-2006《信息技术软件工程术语》中给出的软件工程定义为“应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度,实现满足用户要求的软件产品的定义、开发、发布和维护的工程或进行研究的学科”。(2)软件工程框架

①软件工程框架模型

软件工程框架模型如图1-1所示。

图1-1  软件工程框架

②软件工程的目标

软件工程的目标:“生产具有正确性、可用性及开销适宜的产品”,这些目标形成了对过程、过程模型及工程方法选取的约束:

a.正确性表明软件产品达到预期功能的程度;

b.可用性表明软件基本结构、实现和文档为用户所接受的程度;

c.合算性表明软件开发、运行的整个开销满足用户要求的程度。

③软件工程活动

a.定义

软件工程活动即生产一个最终满足需求并达到工程目标要求的软件产品所需要的一系列步骤。

b.内容

主要包括需求分析、设计、实现、V&V(验证与确认)以及支持等活动。支持活动又包括修改和完善。伴随以上活动的还有管理过程、支持过程和培训过程等。

c.遵守的基本原则

第一,选取适宜的开发范型

又称开发方法学,软件需求、硬件需求及其他因素间是相互制约、相互影响的,必须认清需求定义的易变性,采用适当的开发范型予以控制。

第二,采用合适的设计方法

在软件设计中,通常需要考虑软件的模块化、抽象和信息隐蔽、局部化、一致性、适应性等特征。选取合适的设计方法有助于这些特征的实现。

第三,提供高质量的工程支持

在软件工程中,软件工具与环境对软件过程的支持非常重要。软件工程项目的质量与开销直接取决于支撑软件工程的工具的质量与效用。

第四,重视开发过程的管理

软件工程的管理工作直接影响到能否有效利用可用资源,生产满足要求的软件产品以及提高软件组织的生产能力等问题。因此,只有当软件过程得到有效管理时,才能实现软件工程的有效运用。

④软件工程——一种层次化的技术

从技术角度来看,R.S.Pressman认为软件工程是一种层次化的技术,如图1-2所示。

图1-2  软件工程层次图

a.质量关注点

合格的产品要在规定的时间和成本内交付。

b.过程

软件过程的作用就是把各个技术层次结合在一起,合理地组织所有相关活动、人员、规程、方法,高效地开发计算机软件。

c.方法

软件工程方法为构建软件产品提供了技术上的解决方法。方法覆盖面很广,包括沟通、需求分析、设计建模、编程、测试和技术支持。

d.工具

软件工具为过程和方法提供了自动化或半自动化的支持。这些工具可以集成起来,使得一个工具产生的信息可被另外一个工具使用,即建立了软件开发的支撑系统,称为计算机辅助软件工程(Computer—Aided Software Engineering,CASE)。

二、软件工程方法

1.面向过程方法(1)概念

该方法从功能角度出发,把软件视为处理流,并定义成由一系列步骤构成的程序过程。每一个步骤都是带有预定输入和特定输出的一个过程,把这些步骤串联在一起可产生合理的、稳定的、贯通于整个程序的控制流,最终产生一个简单的具有静态结构的体系结构,如图1-3所示。

图1-3  面向过程方法所构造系统的基本架构(2)处理流

面向过程方法侧重于建立解决问题的处理流。数据结构根据程序算法步骤的要求开发,贯穿于整个过程中,提供过程所要求操作的信息。系统当前状态用一组值保存在全局变量中,可从一个过程传送到另一个过程。(3)软件结构

用面向过程方法建立起来的软件结构是由一系列程序模块组成的,解决问题的每一步都必须用一条条程序语句写在程序里。

2.面向对象方法(1)概念

面向对象方法在考虑问题解决方法时优先考虑问题域中的实体。该方法把标识和模型化问题领域中的主要实体作为系统开发的起点,主要考虑实体对象的行为而不是必须执行的一系列动作。(2)基本单位——对象

面向对象软件中的基本单位是对象,它是数据抽象与过程抽象的综合体。数据抽象是对象中的属性,过程抽象是对象中操作属性值的一系列方法。软件系统在运行中的状态用各个对象的属性值来表述。完成系统功能所涉及的控制流是由包含在各个对象中的方法,以及各个方法之间传送的消息组成的,可以在将来修改软件系统时使得整个系统的架构保持稳定。(3)面向对象体系结构

如图1-4所示,给出一个draw程序的面向对象体系结构。图中的箭头描述了从一个对象传送到另一个对象的消息。这个体系结构中包括:

①外部的物理实体,如鼠标、键盘和显示器等;

②数据实体,如事件、图形、队列等;以及控制实体,如事件处理器等。

③继承关系,描述了一般和特殊的关系,如图形可具体化为矩形、椭圆形和三角形等。

图1-4  一个draw程序的面向对象体系结构(4)优点

用面向对象方法开发软件的过程是多次反复迭代的演化过程。面向对象方法在概念和表示方法上的一致性,保证了各项开发活动之间的平滑过渡。对于大型、复杂及交互性比较强的系统,使用面向对象方法更有优势。

3.形式化方法(1)概念

形式化方法是一种基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。过程的描述如图1-5所示。过程的迭代在图中没有画出。

图1-5  形式化方法(2)特点

①软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明。

②设计、实现和单元测试等开发过程由一个变换开发过程代替。通过一系列变换将形式的规格说明细化成为程序。

三、软件过程与软件生存周期

1.软件生存周期

软件生存周期是软件产品的一系列相关活动的整个生命期,即从形成概念开始,经过开发、交付使用,在使用中不断修改和演进,直到最终被废弃,被新的软件产品代替的整个时期。根据软件工程实践,人们把软件生存周期划分为软件定义、软件开发和交付后运行维护3个时期,每个时期又进一步划分为若干阶段:(1)软件定义时期的基本任务

软件定义时期的主要任务是解决“做什么”的问题:

①确定工程的总目标和项目范围

a.目标

弄清到底要软件干什么,初步确立软件应提供给客户什么样的功能或服务,应达到什么样的性能,有哪些质量要求。

b.范围

为完成确立的目标,需要进行哪些活动。

②开展可行性研究

a.进行成本—效益分析,探讨在成本和时间的限制条件下项目是否值得做。

b.进行技术解决方案分析和开发组织(或团队)技术实力评估,探讨能否解决客户要求解决的问题。

c.进行法律、用户操作方面的可行性研究。

d.最后撰写可行性研究报告,提交给用户和上级管理部门供其决策用。

③需求获取

继续开展调查研究,明确待开发软件的用户需求、功能需求和非功能需求,并通过需求描述或快速原型与客户沟通。

④制订项目计划

对项目活动和产品需求做进一步分解,细化工作分解结构(WBS),同时,对可利用的计算机硬件、软件、人力、成本、开发的进度做出估算,初步制订出完成开发任务的实施计划。(2)软件开发时期的基本任务

软件开发时期的主要任务是解决“如何做”的问题。给出待开发软件的设计方案并构造出待开发软件。这一时期又可分为概念设计、概要设计、详细设计、编码和测试等阶段:

①概念设计

a.建立分析模型,从功能、数据、行为等方面细致地描述系统的静态特性和动态特性,引入软件的各种需求细节。

b.基于分析结果,编写软件需求规格说明,确认测试计划和初步的用户手册。

②概要设计

从系统的输入/输出入手,搭建系统的体系结构和全局数据结构,同时对软件的人机交互界面和运行控制机制建模。

③详细设计

对软件体系结构中的每一成分(构件)进行算法和局部数据结构设计,同时设计人机交互界面的细节、构件内部的处理细节和构件在实际运行环境下的部署。

④编码

使用某种编程语言把设计结果转换为程序代码,同时进行单元测试,发现差错需进行调试(排错),还可能要执行回归测试。

⑤测试

通过集成测试组装系统;通过系统测试检查系统的实现是否与软件需求规格说明保持一致,通过接受测试检验软件产品的实用性。(3)交付后维护时期的基本任务

交付后维护时期的主要任务是使软件持久地满足用户的需要。通常有4类维护活动:

①改正性维护:诊断和改正在使用过程中发现的软件错误所做的维护。

②适应性维护:修改软件以适应环境的变化所做的维护。

③完善性维护:根据用户的要求改进或扩充软件使其更完善所做的维护。

④预防性维护:修改软件为将来的维护活动预先做准备。

2.软件过程(1)软件开发时需执行的活动

①软件规格说明:定义软件产品的功能和操作约束。

②软件设计与实现:生产满足规格说明的软件产品。

③软件确认:确认软件产品的有效性,确保该软件产品所做的是用户所需要的。

④软件演进:改进软件产品,满足用户新的需要。(2)软件过程的定义

通常定义软件过程为软件生存周期中一系列相关软件工程活动的集合,它是由一组工作任务、软件阶段里程碑、工作制品和交付物以及质量保证检查点组成的。(3)过程框架

一个软件开发组织应有一个过程框架,如图1-6所示。这个过程框架定义了少量可用于所有软件项目的活动,针对各个项目的具体特点和项目组的需求,可以选取和构建适合于该项目的过程活动。其中,保护伞活动,如软件质量保证、软件配置管理等,独立于任何一个框架活动并将贯穿于整个过程中。

图1-6  软件过程的框架

四、软件过程模型

软件过程模型又称软件生存周期模型,每个过程模型从某个特定视点描述了一个生存周期过程,从而提供了有关该过程的特定信息。

1.编码-修补模型(1)概念

实现产品时没有需求规格说明,也没有设计,开发者只是简单地将代码拼凑在一起。为了满足客户要求,需多次改写该软件。该过程模型的描述如图1-7所示。

图1-7  编码-修补模型(2)缺点

①这种方法可以成功地开发100行或200行的小程序,但对于规模较大的软件来说,编码-修补模型则完全不能令人满意。

②编码-修补方法的实际花费远远大于有正确的规格说明、经过仔细设计的产品所需的花费。

③对没有规格说明和设计文档的产品进行维护相当困难。

2.瀑布模型(1)概念

规定了需要进行的各项软件工程活动,以及这些活动自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。如图1-8所示。图中用虚箭头表明产品在开发时期维护的反馈环和交付后维护的反馈环。

图1-8  完整的瀑布模型(2)具体要求

瀑布模型要求只有当该阶段的可交付物(包括文档)经过技术评审得到认可,并成为里程碑后,才能认为该阶段结束,并可进入下一阶段。(3)优点

瀑布模型的阶段划分清晰,对每个阶段需要交付哪些文档做了清楚的规定,并且对每个阶段的活动坚持进行阶段评审,确保每个阶段可能发生的差错不会遗留到后续阶段。(4)缺点

①各阶段的划分固定,缺乏灵活性,阶段间产生大量文档,极大地增加了工作量。

②由于开发模型基本上是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。

③早期的错误可能要等到开发后期的测试阶段才能发现,进而会产生严重的后果。

3.快速原型开发模型(1)概念

快速原型又称演化模型,是先做试验开发探索可行性,弄清软件需求,然后在此基础上获得较为满意的软件产品。通常把第一次得到的试验性产品称为“原型”。(2)步骤

快速原型开发模型的步骤如图1-9所示:

①建造一个快速原型,并让客户和未来的用户试用此原型。

②一旦客户认为原型确实满足了他们的要求,开发人员就可以编写规格说明文档,并确信计划中的产品能够满足客户的实际要求。

③当原型得到确认后,就可以参照它继续进行软件产品的开发。

图1-9  快速原型开发模型(3)优点

使用快速原型开发模型的好处是可以减少返工,原因是:

①开发组成员使用快速原型与客户沟通,可快速确认需求规格说明;

②通过快速原型的实际运行,软件设计人员可以从中了解哪些事情应该做,哪些事情不能做;

③由于初步的工作模型已经建造出来,可作为后续设计和实现的参考。

4.增量模型(1)概念

增量式开发方法又称迭代-递增开发模型,如图1-10所示。使用增量式开发方法开发软件时,把软件产品作为一系列的增量来设计、实现和确认。然后把增量集成到系统中,最后可得到一个完整的软件系统。

图1-10  增量模型(2)优点

每个增量可以是一个子系统,也可以是一个或多个相关的模块,能够完成特定的功能。使用增量开发模型,客户不必等到整个系统全部完成就能得到他们所需要的功能。优先级最高的服务首先交付,然后再将其他增量逐次集成进来。最重要的系统服务将接受最多的测试,意味着系统最重要的部分一般不会遭遇失败。

5.快速应用开发模型(1)概念

快速应用开发模型(Rapid Application Development Model,RAD)也是一种增量式软件过程模型,它强调采用极短的开发周期(如2~3个月),在基于可复用构件的编程环境中构造应用程序。RAD模型的框架活动如图1-11所示。(2)模型各阶段的主要活动

①沟通

与客户和领域专家协同,理解相关业务和待开发软件应具有的各种特性。

图1-11  快速应用开发模型(RAD)

②策划

进行任务分解,安排开发过程,确保各个开发组依次完成增量的开发。

③建模

a.业务建模

对业务功能中的信息流进行建模,用以明确:驱动业务过程的信息、生成的信息、谁生成了这些信息、信息的流向、谁处理了这些信息。

b.数据建模

对作为业务建模一部分的信息流进行进一步求精而得到一组数据对象。

c.流程建模

从数据建模中的数据对象出发,根据每一个要实现的业务功能的需要,给出对每一个数据对象操作的过程化描述。

④构建

以RAD模型为基础,构造待开发的软件系统,能够快速地完成整个应用系统的开发:

a.从已有的可复用软件构件中选择适用的构件,必要时也可建立新的软件构件。

b.使用代码自动生成技术构造待开发的软件系统。

c.对于已有的可复用构件只需要进行确认测试,但是新开发的构件必须进行测试,对所有的用户界面程序也必须进行测试。

6.螺旋模型(1)概念

该模型将瀑布模型与快速原型模型结合起来,并且加入了风险分析。在螺旋模型中,软件过程被表示成一条螺线,螺线每转一圈表明软件过程的一个阶段完成。最内层的一圈是项目启动时进行需求获取和可行性研究活动,第二圈是进行软件需求建模和编写需求规格说明,再外一圈是进行系统设计等,如图1-12所示。(2)螺旋模型的活动

螺线上的每一圈可划分为4个象限,分别表达了4个方面的活动:

①目标设定

定义该阶段的阶段目标,弄清对过程和产品的限制条件,制订详细的管理计划,识别项目风险,可能还要计划与这些风险有关的对策。

②风险评估与弱化

针对每一个风险进行详细分析,设想弱化风险的步骤。

③开发与确认

评价风险之后再选择系统开发模型。

图1-12  螺旋开发模型

④计划

评价开发工作,确定是否继续进行螺线的下一圈。如果确定要继续,则计划项目下一个阶段的工作。

软件开发中总会有风险。为了保全产品的价值,软件人员应尽力把这些风险减到最小。

7.同步—稳定模型(1)概念

模型要求在需求分析阶段访问软件包的多个潜在客户,提取对客户具有最高优先级的特性列表,拟制规格说明文档。之后将工作分为3或4个构建(Build),第一个构建包含最重要的特性,第二个构建包含次重要的特性,如此处理下去。每个构建都由多个小组并行开发完成。每天工作结束前,所有小组进行工作同步(Synchronize),也就是把完成的部分构建放在一起,测试和调试得到的产品。在每个构建结束时进行稳定化(Stabilization)工作。修补目前检测到的遗留差错,将该构建冻结(Freeze),也就是不再修改规格说明。(2)规则

①每天软件人员必须把他们的代码输入到产品数据库中,以便同步当天的工作。

②如果一个开发人员的代码阻碍了该产品当天的同步编译,则必须立刻解决问题,这样才能由小组的其他人测试和调试当天的工作。(3)优点

①重复的同步步骤保证各个构建总能一起工作。

②开发人员能够及时掌握产品的工作状态,必要时在构建生成的过程中修改规格说明。

8.开源过程模型(1)初始阶段

一个软件从业人员把他的一个编程构想付诸实践,并建立了一个初始版本,然后把这个程序免费上传到网络上供别人下载。如果有网友下载了他的这个初始版本并认为该程序能够满足他们的需求,这个程序就会被这些网友使用。(2)成熟阶段

①网友的合作与参与

成熟阶段网友变成了合作开发者,参与合作的人都是利用业余时间在开源项目上自愿工作的,他们不索取报酬:

a.一些网友会报告程序中可能存在的缺陷,而另一些网友则会提出修复这些缺陷的建议。

b.一些网友会提出扩充该程序的想法,而另一些网友则会实现这些想法。

c.随着程序在功能上的扩充,另一些网友还会将该程序的接口进行转换,以便能够运行在其他的操作平台上。

②主要活动

与交付后的维护活动类似,主要分为3类:改正性维护(报告并纠正程序中的缺陷)、完善性维护(增加新的功能)、适应性维护(为该程序建立一个向新环境转换的接口)。

9.极限过程(1)概念

极限编程(eXtreme Programming,XP),要求软件开发组首先确定客户希望产品支持的各种特性(用户故事)。对于每个特性,开发组应向客户通报实现这个特性需要的时间和花费。然后客户使用成本—效益分析方法选择每个后续的构建所应包含的特性,即根据开发组提供的时间、成本估算和该特性给客户带来的潜在收益来进行选择。(2)步骤

①在软件开发过程中,把将要执行的构建分解为更小的部分,称为任务(Task)。

②一个程序员首先应设计该任务的测试用例再做开发,这种工作方式称为测试驱动开发(TDD)。

③然后两个程序员在一台计算机前一起工作,以结对编程的方式完成任务,并确保全部测试用例都能正确工作。(3)特性

①XP小组的所有成员在一个大房间中工作,大房间中有许多彼此相连的小隔间。

②一个客户代表一直与XP小组一起工作。

③没有一个人能够连续两周超时工作。

④没有规格说明,而是XP小组的所有成员一同完成规格说明、分析、设计、编码和测试。

⑤在构建出各种构件之前没有概要设计步骤。在构建产品的过程中设计会被不断地调整,这个过程称为重组(Refactoring)。(4)原则

极限编程的原则是最小化特性的数量;不必生产客户实际上不需要的产品。(5)极限编程和敏捷软件的共性

极限编程是一些新的统称为敏捷过程(Agile Process)的开发方法中的一个。敏捷过程的两个基本原则是:交流与尽可能快地满足客户的需要。敏捷软件开发方法除了极限编程外还有其他方法。它们的共性有以下几点:

①不强调分析和设计。在开发过程中很早就开始编程和测试,因为能工作的软件比具体的文档更重要。

②强调与客户的协作,并响应需求变化。

③频繁交付可运行的软件,最好每2或3周一次。在敏捷过程中为每个迭代设定的典型时间为3周。即敏捷过程要求固定的时间,而不是固定的特性。

④每日上班前有一个站立会议,进行交流。每个小组成员要依次回答5个问题:从昨天的会议到现在我做了什么?今天我要做什么?完成今天的工作将遇到什么问题?我们忘记了什么?我可以与小组成员分享的经验是什么?

10.Rational统一开发过程(1)概念

Rational统一开发过程(RUP)是用例驱动的、以体系结构为核心的、迭代的、增量的过程。它从3个视角来描述:

①动态视角:给出模型随时间所经历的各个阶段。

②静态视角:给出所规定的过程活动。

③实践视角:建议在过程中采用最佳软件工程实践。(2)迭代开发的概念

RUP将一个大型项目分解为可连续应用瀑布模型的几个小部分。在对一部分进行需求分析和风险、设计、实现并确认之后,再对下一部分进行需求分析、设计、实现和确认。以此进行下去,直到整个项目完成。(3)RUP的动态视角

RUP的动态视角聚焦在产品的迭代开发上。

①开发周期

在RUP中迭代过程分为4个阶段。这4个阶段构成一个开发周期,周期结束时产生一代新的软件产品。各阶段中的过程活动与业务紧密关联。RUP中的阶段划分如图1-13所示。

图1-13  RUP中的阶段

a.初始阶段(Inception)

此阶段的目标是建立系统业务的用例。标识所有与系统交互的外部实体(人、事或相关系统),并定义它们与系统的所有交互。

b.细化阶段(Elaboration)

此阶段的目标是增进对问题域的理解,计划需完成的活动和资源,详细说明产品特性并识别关键风险,然后建立系统体系框架。这个阶段结束时可得到系统的需求模型、软件系统的体系结构描述和开发计划。

c.构造阶段(Construction)

此阶段将构造完整的产品,逐步完成系统各个部分的并行开发,再逐步集成。在这个阶段结束时可得到一个能工作的软件系统以及相关文档。

d.移交阶段(Transition)

此阶段关注如何将系统从开发部门移交给用户,并使之在实际环境中工作,包括制造、交付、培训、支持及维护产品。此阶段结束时可得到在实际操作环境下能正常工作的软件系统及相关文档。

②进化周期

软件产品产生于初始开发周期,随着同样的过程重复执行,软件发展到下一代,这一时期即为软件的进化周期。迭代周期如图1-14所示。用户需求的变更、基础技术的变化、竞争都可能激活新的进化周期。周期之间在时间上会有重叠。后一个周期的初始与细化阶段与前一个阶段的移交阶段可能同时进行。在各阶段内也包含有一个或几个迭代过程。

图1-14  RUP的迭代周期(4)RUP的静态视角

RUP的静态视角聚焦在开发过程中活动的组织方面。在RUP描述中,用工作流来描述能够生成有用结果的活动序列,用以描述工作人员之间的交互。

在RUP的每一个迭代周期中涉及6个核心工程工作流,3个核心支持工作流。RUP是结合UML设计的,UML是一个面向对象建模语言,所以工作流描述围绕着UML模型给出。核心工程工作流和支持工作流的描述如表1-1所示。

表1-1  RUP中的工作流工作流描述业务建模使用业务用例对业务过程进行建模找出与系统进行交互的参与者并开发用例,完成对系统需求需求的建模

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载