软件开发流程实训教程
2009-8
杜文洁,景秀丽、杜文洁、 景秀丽 中国水利水电出版社 (2009-08出版)
杜文洁,景秀丽 编
211
无
随着信息技术的广泛应用和互联网的迅猛发展,以信息产业发展水平为主要特征的综合国力竞争日趋激烈,软件产业作为信息产业的核心和国民经济信息化的基础,越来越受到世界各国的高度重视。中国加入世贸组织后,必须以积极的姿态,在更大范围和更深程度上参与国际合作和竞争。在这种形势下,摆在我们面前的突出问题是人才短缺,计算机应用与软件技术专业领域技能型人才的缺乏尤为突出,无论是数量还是质量,都远不能适应国内软件产业的发展和信息化建设的需要。因此,深化教育教学改革,推动高等职业教育与培训的全面发展,大力提高教学质量,是迫在眉睫的重要任务。2000年6月,国务院发布《鼓励软件产业和集成电路产业发展的若干政策》,明确提出鼓励资金、人才等资源投向软件产业,并要求教育部门根据市场需求进一步扩大软件人才培养规模,依托高等学校、科研院所,建立一批软件人才培养基地。2002年9月,国务院办公厅转发了国务院信息化工作办公室制定的《振兴软件产业行动纲要》,该《纲要》明确提出要改善软件人才结构,大规模培养软件初级编程人员,满足软件工业化生产的需要。教育部也于2001年12月在35所大学启动了示范性软件学院的建设工作,并于2003年11月启动了试办示范性软件职业技术学院的建设工作。示范性软件职业技术学院的建设目标是:经过几年努力,建设一批能够培养大量具有竞争能力的实用型软件职业技术人才的基地,面向就业、产学结合,为我国专科层次软件职业技术人才培养起到示范作用,并以此推动高等职业技术教育人才培养体系与管理体制和运行机制的改革。要达到这个目标,建立一套适合软件职业技术学院人才培养模式的教材体系显得尤为重要。高职高专的教材建设已经走过了几个发展阶段,由最开始本科教材的压缩到加大实践性教学环节的比重,再到强调实践性教学环节,但是学生在学习时还是反映存在理论与实践的结合问题。为此,中国水利水电出版社在经过深入调查研究后,组织了一批长期工作在高职高专教学一线的老师,编写了这套“软件职业技术学院‘十一五’规划教材”,本套教材采用项目驱动的方法来编写,即全书所有章节都以实例作引导来说明各知识点,各章实例之间并不是孤立的,每个实例都可以作为最终项目的一个组成部分;每一章章末还配有实习实训(或叫实验),这些实训组合起来是一个完整的项目。采用这种方式编写的图书与市场上同类教材相比更具优越性,学生不仅仅学到了知识点,还通过项目将这些知识点连成一条线,开拓了思路,掌握了知识,达到了面向岗位的职业教育培训目标。
《软件开发流程实训教程》详细介绍了软件开发流程基础知识及其相关实训项目,内容包括软件开发项目的前期准备、目标系统的可行性分析、需求分析、概要设计、详细设计、编码、软件测试、软件实施以及软件维护。 《软件开发流程实训教程》采用现在流行的VB.NET网络编程语言和AsPNET网站技术设计章节实例,从应用的角度出发,采用“任务驱动”方式表述实训内容,注重实训项目的先进性、科学性和实用性,力求反映软件开发的系统流程。将软件开发的基础理论与实训项目紧密结合,使读者可以更好地理解和掌握软件开发过程,并迅速地运用到实际软件开发工作中。 《软件开发流程实训教程》可作为高等院校、高职高专院校及相关软件学院软件技术专业和计算机相关专业的教材,也可作为企业公司软件开发的培训教程,还可作为软件开发人员的参考资料。
序前言第1章 软件开发项目的前期准备1.1 计算机软件概述1.1.1 计算机软件概念1.1.2 软件的分类1.1.3 软件工程的历史及发展1.2 软件的生存周期1.2.1 软件生存周期及各阶段的工作1.2.2 软件生存周期各阶段的文档编制1.3 软件开发常用模型1.3.1 瀑布模型1.3.2 增量模型1.3.3 螺旋模型1.3.4 变换模型1.3.5 喷泉模犁1.3.6 智能模型1.3.7 WINWIN模型1.3.8 原型实现模型1.3.9 RAD模型1.3.10 并发开发模型1.3.11 软件开发常用模型小结1.4 软件开发方法和软件开发工具1.4.1 软件开发环境1.4.2 软件开发方法综述1.4.3 软件开发工具本章小结习题1课后实训题第2章 可行性分析2.1 可行性分析的任务2.2 可行性分析的要素2.2.1 技术可行性分析2.2.2 经济可行性分析2.2.3 社会可行性分析2.2.4 法律方面的可行性2.3 可行性分析的步骤2.4 可行性分析报告2.4.可行性分析报告的格式2.4.2 可行性分析报告范例本章小结习题2课后实训题第3章 需求分析3.1 需求分析的任务3.1.1 需求分析的基本概念3.1.2 需求分析的重要性3.1.3 需求分析的任务3.2 需求分析的过程3.2.1 需求分析的过程c3.2.2 需求分析的注意事项3.2.3 需求风险3.3 数据流程图3.3.1 数据流程图相关图示3.3.2 数据流程图的设计3.3.3 分层数据流图3.4 数据字典3.5 需求规格说明书本章小结习题3课后实训题第4章 概要设计4.1 软件概要设计的任务4.2 软件概要设计的实施4.2.1 面向对象设计4.2.2 数据库设计4.2.3 用户界面设计4.2.4 代码设计4.3 概要设计说明书4.3.1 引言4.3.2 任务概述4.3.3 总体设计4.3.4 数据结构设计4.3.5 运行设计4.3.6 出错处理设计4.3.7 安全保密设计4.3.8 维护设计本章小结习题4课后实训题第5章 详细设计5.1 软件详细设计的任务5.1.1 软件详细设计的基本任务5.1.2 软件详细设计的原则5.2 图书馆书目查询管理系统的设计5.2.1 系统功能模块结构5.2.2 系统详细设计本章小结习题5课后实训题第6章 编码6.1 建立编码风格6.2 编码方法6.2.1 传统(结构化)编程方法6.2.2 面向对象的程序设计方法6.3 调试过程和方法本章小结习题6课后实训题第7章 软件测试7.1 软件测试概述7.2 软件测试与软件开发流程的关系7.3 软件测试方法划分7.4 黑盒测试的相关方法7.5 白盒测试的相关方法7.6 软件测试流程的相关方法7.7 测试用例设计本章小结习题7课后实训题第8章 软件实施8.1 系统实施概述8.2 系统实施过程8.3 系统实施原则本章小结习题8课后实训题第9章 软件维护9.1 软件维护基础理论9.2 软件维护活动的内容本章小结习题9课后实训题附录A Visual Studio 2008的安装附录B IIS的安装与配置参考文献
插图:尽管软件的生存周期各阶段的划分没有一个明确的法则,但就一般性而言,软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编写代码、软件测试、软件实施和软件维护等活动(有的文档资料和开发项目把概要设计和详细设计合在一起,统称为软件设计或设计),其中的每一个活动都是软件开发过程中必须要经历的,所以我们应该将它们按照项目的划分合理地安排到各个阶段中去。既然软件开发周期这么重要,我们想要软件项目最终开发取得成功或是对软件进行管理和资源投入,就应当充分地了解周期里各个活动的定义和任务,这样才能合理、准确、客观地安排每一阶段的工作。下面就对各种活动的定义和任务做一下简单介绍,以对它们有一个初步的了解。1.可行性分析和项目开发计划这两个活动通常被整合在一起进行,在实际工作中通常把它们归类到同一个阶段中。在某种程度上甚至可以把它们看成是一个活动整体,要做的事情就是回答“需要做什么?要如何去做?可不可能完成?”在这个阶段中经验起到了决定性的作用,软件工程难就难在没有固定公式可供使用,很多时候都是靠系统分析员的经验来判断是否可行。在这个阶段中,可行性分析要依靠项目开发计划提供依据,而项目开发计划只有在初步得到可行性研究后才能再深入制定,两个活动可以说是互相制约、互相促进的关系。同时在这个阶段中对要解决的问题定义十分重要,要注意和各方多沟通,得到尽可能准确的问题定义,再和各方再次沟通看看各方的理解是否相同,一般对问题的精确定义和理解在项目开发计划里解决比在需求分析阶段解决更合理,也可以更符合各方利益的要求,同时不会对软件开发方向造成隐患,亦不会给双方就软件开发报酬的商议造成不必要的麻烦。在用户提出一个软件开发要求后,系统分析员要对此用户的机构进行了解,明确它是一个什么样的机构,它的作用是什么,这有利于分析所开发的项目的原由。同时对使用此软件的最终部门要进行一系列的观察研究,组织开会讨论,通过这一系列工作就可以确定软件项目的性质、目标和规模,其实这个工作有点像需求分析的简化版,但对项目的后期工作是一个奠基的作用。到此便应该能够得出可行性研究报告了。如果可行性研究的结果是可行的,接下来的任务就是制定详细的项目开发计划。项目开发计划主要根据所开发的项目的目标、性能、功能、规模来确定所需的资源,主要包括3个方面,即硬件资源、软件资源和人力资源,除此之外还要对项目的开发费用、开发进度作出估计,可供决策者和用户参考。至此,本阶段的工作任务已基本完成,这时候系统分析员应将《可行性报告》和《项目开发计划》一并提交管理部门审查。
《软件开发流程实训教程》强调实践,面向就业,产学结合。本套丛书特点:以实际工程项目为引导来说明各知识点,使学生学为所用;突出实习实训,重在培养学生的专业能力和实践能力;内容衔接合理,采用项目驱动的编写方式,完全按项目运作所需的知识体系设置结构;配套齐全,不仅包括教学用书,还包括实习实训材料,教学课件等,使用方便。
无