当前位置:首页 > 教材 > 高职高专 > 软件工程基础与实训教程
出版社:电子工业
出版日期:2010-9
ISBN:9787121117701
作者:杜文洁//白萍
页数:184页
章节摘录
插图:(2)只要企业的业务方向和内容不变,企业的元数据就是稳定的,由元数据构成的数据模型也是稳定的。(3)对元数据的处理方法是可变的。用不变的元数据支持可变的处理方法,即以不变应万变,这就是企业信息系统工程的基本原理。(4)企业信息系统的核心是数据模型。数据模型包括概念数据模型和物理数据模型PDM(Physics Data Model)。数据模型的表示形式是E.R图,E.R图要用CASE工具设计。例如,Power:Designer,Oracle Designer或ERwin,它们不但具有正向设计功能,而且具有逆向分析功能,这样才能实现快速原型法。(5)信息系统的实现(编码)方法主要是面向对象,其次才是面向数据和面向过程。(6)用户自始至终参与信息系统的分析、设计、实现与维护。面向数据方法的特点是:程序的执行过程中,根据数据流动和处理的需要,有时由程序员控制(如数据库服务器上触发器和存储过程的执行),有时由用户控制(如用户浏览层上控件的选择与执行)。面向数据方法的优点是通俗易懂,特别适合信息系统中数据层(数据库服务器)上的设计与实现,缺点是实现窗口界面较困难。面向数据的方法来自于20世纪80年代开始流行的关系数据库管理系统RDBMS,以及关系数据库程序设计语言。例如,Oracle,Sybase关系数据库语言,这种关系数据库语言或命令,提供了强大的面向关系表中数据的编程能力,典型的例子就是编写存储过程和触发器。Oracle数据库管理系统自带的编程工具Developer 2000,首先是一个面向数据的编程工具,其次才是一个面向对象的编程工具。Oracle Designer加上Developer 2000,便构成了一个完整的面向数据的信息系统开发环境。面向数据的方法与关系数据库管理系统紧密地捆绑在一起,只要面向对象数据库不能完全替代关系数据库,这种方法就不会终结。目前数据库管理系统的发展趋势是:在关系型数据库的基础上,将面向对象的某些特性(如继承)添加上去,称为“对象一关系型数据库”,但本质上仍然是一个关系型数据库。正如美国数据库专家所说的,“面向对象这样的数据库只是概念上的兴趣,他们在商用数据库处理中只起很小的作用。”面向数据的方法在电子商务中的应用有:网站后台数据库服务器上的数据处理和数据传输,其软件都是利用面向数据的方法设计与实现的。实际上,不管网络应用系统结构是两层结构还是三层结构,在数据库服务器上对数据的分析、设计和实现,都自觉或不自觉地使用了面向数据的方法。
前言
软件工程是研究如何用工程化的理论、方法和技术,来研究和指导软件开发的一门交叉学科。随着软件应用日益广泛,软件规模日益扩大,软件工程技术已成为专业软件人员必须掌握的技术。因此我们依据高职高专软件工程课程教学大纲所规定的教学要求编写本书,把多年软件工程教学经验和教学实践成果融入本教材中,在内容分布上充分考虑理论与实践相结合的原则。软件工程是一门理论与实践并重的课程。本书在讲述软件工程的基本概念、原理和方法的基础上,详细而全面地介绍了可以实际用于软件开发实践的各种技能。旨在通过本书的学习,学生不仅能对软件工程的原理有所认识,而且还能具备实际开发软件的各种技能。本书最后一章为实训指导,通过实训内容可以使学生掌握各种软件工程工具。本书选材注意把握高职高专学生的专业知识背景与接受能力,以案例教学的方法激发学生的学习兴趣。在教材编写上,力求做到结合实际、注重应用、便于教学,注意内容的新颖、实用和系统性。在结构安排上,深入阐述软件工程的基础理论知识,循序渐进,做到理论和实际相结合。本书共分为11章,内容涉及软件工程的基本原理和概念、软件开发生命周期的各个阶段、项目管理的相关内容。第l章软件工程概述,第2章软件需求分析,第3章概要设计,第4章详细设计,第5章程序编码,第6章软件测试,第7章软件维护,第8章面向对象技术,第9章软件工程管理,第10章综合实例——网上书店系统,第11章实训指导。本书由杜文洁、白萍担任主编,马岩担任副主编。杜文洁负责全书的策划、修改、补充和统稿工作。各章编写分工如下:杜文洁编写第l章、第5章,白萍编写第2章、第3章、第4章、第6章、第8章、第10章、第11章,马岩编写第7章、第9章,王宗玉、徐春雨、刘明国、丛国凤、王志阳、郝蔷、李虹等老师也参加了部分内容的编写。由于水平和时间有限,书中难免存在错误和不足之处,敬请读者批评指正。
书籍目录
第1章 软件工程概述/(1) 1.1 软件危机/(1) 1.1.1 软件的定义及特点/(1) 1.1.2 软件危机的产生原因/(2) 1.1.3 解决软件危机的方法/(2) 1.2 软件工程/(3) 1.2.1 软件工程的定义及目标/(3) 1.2.2 软件工程研究的内容/(3) 1.3 软件的开发方法/(4) 1.3.1 面向过程的方法/(4) 1.3.2 面向数据的方法/(4) 1.3.3 面向对象的方法/(5) 1.3.4 三种开发方法的比较/(6) 1.4 软件生命周期/(7) 1.5 软件开发模型/(8) 1.5.1 瀑布模型/(8) 1.5.2 原型模型/(9) 1.5.3 增量模型/(10) 1.5.4 螺旋模型/(11) 1.5.5 统一软件开发过程/(12) 1.6 小结/(14) 1.7 习题/(14)第2章 软件需求分析/(15) 2.1 需求分析的任务/(15) 2.2 需求分析的步骤/(16) 2.3 结构化分析方法/(17) 2.3.1 结构化分析方法概述/(17) 2.3.2 数据流图/(18) 2.3.3 数据字典/(19) 2.3.4 实体-关系图/(20) 2.4 需求分析图形工具/(22) 2.5 软件需求规格说明书/(24) 2.6 案例分析:图书管理系统需求分析/(29) 2.7 小结/(34) 2.8 习题/(34)第3章 概要设计/(35) 3.1 软件设计概述/(35) 3.1.1 软件设计概念与重要性/(35) 3.1.2 软件设计的任务与策略/(35) 3.2 软件设计基本原则/(36) 3.3 概要设计的任务和步骤/(39) 3.4 软件结构图/(40) 3.5 结构化设计方法/(41) 3.5.1 变换流与事务流/(42) 3.5.2 变换分析/(42) 3.5.3 事务分析/(44) 3.6 数据设计/(44) 3.7 接口设计/(47) 3.8 概要设计说明书/(47) 3.9 案例分析:图书管理系统概要设计/(50) 3.10 小结/(51) 3.11 习题/(51)第4章 详细设计/(52) 4.1 详细设计的目标与任务/(52) 4.2 详细设计的工具/(53) 4.2.1 流程图/(53) 4.2.2 盒图/(54) 4.2.3 判定表/(54) 4.2.4 程序设计语言/(55) 4.3 用户界面设计/(55) 4.3.1 用户界面设计问题/(55) 4.3.2 用户界面设计过程/(56) 4.3.3 用户界面设计指南/(56) 4.4 详细设计说明书/(58) 4.5 案例分析:图书管理系统详细设计/(59) 4.6 小结/(61) 4.7 习题/(61)第5章 程序编码/(62) 5.1 结构化程序设计/(62) 5.2 程序设计风格/(63) 5.3 程序设计语言的选择/(65) 5.3.1 程序设计语言的分类/(65) 5.3.2 选择语言的一般准则/(66) 5.3.3 不同程序设计语言的特点/(66) 5.4 小结/(67) 5.5 习题/(68)第6章 软件测试/(69) 6.1 软件测试概述/(69) 6.1.1 软件测试的定义和目标/(69) 6.1.2 软件测试的原则/(69) 6.2 软件测试方法/(70) 6.3 黑盒测试用例设计/(71) 6.3.1 等价类划分法/(71) 6.3.2 边界值分析法/(72) 6.3.3 决策表法/(72) 6.3.4 因果图法/(74) 6.3.5 黑盒测试案例分析/(75) 6.4 白盒测试用例设计/(78) 6.4.1 覆盖测试/(78) 6.4.2 白盒测试案例分析/(80) 6.5 软件测试步骤/(81) 6.6 案例分析:图书管理系统测试/(82) 6.7 小结/(83) 6.8 习题/(83)第7章 软件维护/(84) 7.1 软件维护过程/(84) 7.1.1 软件维护的种类/(84) 7.1.2 软件维护的策略/(85) 7.1.3 软件维护的过程/(86) 7.1.4 软件维护的困难/(87) 7.1.5 软件维护的副作用/(88) 7.2 软件可维护性/(89) 7.2.1 决定软件可维护性的因素/(89) 7.2.2 提高软件的可维护性/(90) 7.3 小结/(92) 7.4 习题/(92)第8章 面向对象技术/(93) 8.1 面向对象技术概述/(93) 8.1.1 面向对象方法简介/(93) 8.1.2 面向对象的基本概念/(94) 8.2 UML建模/(97) 8.2.1 UML简介/(97) 8.2.2 用例图/(98) 8.2.3 类图、对象图和包图/(100) 8.2.4 构件图和部署图/(104) 8.2.5 状态机图/(106) 8.2.6 顺序图/(107) 8.2.7 通信图/(107) 8.2.8 活动图/(108) 8.3 面向对象分析/(108) 8.4 面向对象设计/(111) 8.5 面向对象的软件测试/(112) 8.6 案例分析:图书管理系统分析与设计/(113) 8.6.1 图书管理系统分析/(113) 8.6.2 图书管理系统设计/(120) 8.7 小结/(121) 8.8 习题/(121)第9章 软件工程管理/(123) 9.1 软件工程管理概述/(123) 9.2 软件质量/(124) 9.2.1 软件质量特性/(124) 9.2.2 软件质量保证措施/(124) 9.3 软件配置管理/(125) 9.3.1 软件配置项/(125) 9.3.2 软件配置管理/(126) 9.4 CMM软件能力成熟度模型/(128) 9.4.1 CMM的基本概念/(128) 9.4.2 软件能力成熟度等级/(129) 9.4.3 关键过程域/(131) 9.5 软件项目管理/(132) 9.5.1 项目管理定义/(132) 9.5.2 项目经理职责及工作程序/(133) 9.5.3 项目经理对程序员的九条要求/(133) 9.5.4 从大学生到职业人再到项目经理/(135) 9.6 软件工程标准与软件文档/(136) 9.6.1 软件工程标准/(136) 9.6.2 软件文档的编写/(137) 9.7 小结/(139) 9.8 习题/(140)第10章 综合实例——网上书店系统/(141) 10.1 问题定义/(141) 10.2 需求分析/(141) 10.2.1 系统用户/(141) 10.2.2 系统功能需求/(142) 10.2.3 性能需求/(145) 10.3 软件设计/(146) 10.3.1 系统体系结构/(146) 10.3.2 功能模块/(146) 10.3.3 数据库设计/(147) 10.4 系统测试/(150) 10.4.1 用户界面测试/(150) 10.4.2 功能测试/(151) 10.4.3 数据库测试/(151)第11章 实训指导/(153) 实训1 初识Visio 2003/(153) 实训2 初识Rational Rose 2003/(159) 实训3 需求分析/(164) 实训4 数据库设计/(166) 实训5 面向对象分析/(171) 实训6 初识Visual Studio 2005/(173) 实训7 初识JUnit/(180)
编辑推荐
《软件工程基础与实训教程》紧扣教学,重点突出,教学内容实用,案例驱动,按项目运作所需的知识体系结构设置内容,突出实训,重在培养学生的专业能力和实践能力,教材配套齐全,提供相关教学资源。实例讲解,实训强化,培养技能,面向就业。
作者简介
《软件工程基础与实训教程》从结构化方法和面向对象方法两方面讲述软件工程的基本概念、原理和方法,系统地介绍了目前较成熟的、广泛使用的软件工程技术。《软件工程基础与实训教程》内容包括:软件工程概述、软件需求分析、概要设计、详细设计、程序编码、软件测试、软件维护、面向对象技术、软件工程管理、综合实例——网上书店系统、实训指导。
《软件工程基础与实训教程》采用案例式教学,既注重基本知识的表述,又注重内容的先进性、系统性和实用性,力求反映软件工程技术发展的最新成果。《软件工程基础与实训教程》理论与实践相结合,内容翔实,实用性强,可操作性强。
《软件工程基础与实训教程》可作为高等院校、高职高专院校及计算机相关专业的教材,也可作为社会软件工程培训的教材,同时还可供从事软件开发及应用的程序员参考。
图书封面