出版时间:2009-1 出版社:清华大学出版社 作者:李代平 页数:538
前言
一、本书背景本书是作者根据普通高等教育“十一五”国家级规划教材《软件工程》的内容而编写的配套教材。软件工程是指导计算机软件开发的工程科学技术。软件工程的概念、原理、技术与方法已成为计算机科学与技术的一项重要内容。软件的开发和研制能力已成为一个国家科技、经济和国防实力的重要标志。 由于软件的规模不断扩大,软件的生产成本也随着软件的复杂程度而急剧增加。它的复杂性给它的大规模发展和维护带来了困难。但是人们在开发研制软件的长期实践中也积累总结了许多成功的经验。如果能坚持不懈地总结和使用这些经过实践检验的方法和经验,软件业是可以快速健康发展的。接受软件工程的概念并不难,但是要真正理解、掌握和运用这门先进的技术并完整地进行系统开发,是有一定难度的。鉴于此我们编写了本书,其目的是向读者提供一本关于软件工程应用的教科书,以便更多同行受益。二、本书结构本书由如下部分组成。基础理论包括: 第1章系统分析第2章系统设计案例包括: 第3章线性方程组并行计算第4章网络并行计算在物探中的应用第5章并行计算平台的建立第6章数据库设计与解决方案第7章车载电子指南针第8章开发工具第9章芯片操作系统分析第10章用C++Builder开发医疗保险系统 第11章用PHP开发“专线网点”业务系统第12章C++开发方法与应用第13章用C++与J++开发医疗保险系统第14章网络数据库开发理论 三、本书特点本书第一部分对软件工程的概念作了介绍; 第二部分介绍了12个软件工程的案例。这些案例都是作者与同行做过的软件工程项目,包括计算方法的、开发平台的、信息系统的和嵌入式系统的,每个案例都说明了一个应用方面。四、适用范围《软件工程综合案例》是软件系统理论与开发课程的应用实例,适合开设有软件工程课程的大学高年级和低年级研究生作参考和实践课程的教材。也可作为工程技术人员的参考用书。五、编写方法作者近十年来在讲授软件工程和面向对象方法中,有读者反映软件工程理论比较抽象,希望有这方面的案例参考书或教材。由此作者根据自己的教学与研究成果,以及作者领导或参与的20项软件项目开发的实际应用经验,并结合软件开发新技术编写了这本书。根据过去的教学经验,作者知道学习一门新技术,教材是非常重要的。因此,编写之前,在各方面进行了充分的准备。六、如何使用本书根据读者的实际情况,如果读者已经掌握了软件工程技术,那么就可以不用学习第1、2章。读者可以按照自己的工作目标和喜好有选择地学习相关章节。本书主要由李代平编著,此外,李睿参与编写了第6章,刘志武、王挺、陈容征、张信一、罗伟刚、文剑、李永朝、郝搏、谭炯中、何俊亮、胡志斌、王秋杰、李华、段生林、温琮韬、林玮、陈平华、陈靖宇、冯文希、李毅坚、梁良、卢迅恒、梁锡亮、吴晓明、黎旺生、李志伟也做了部分工作。由于软件工程知识面广,在介绍中不能面面俱到。加上时间仓促,作者水平有限,书中的不足之处在所难免,恳请读者批评指正。
内容概要
本书简要介绍了软件工程的原理、方法和技术,包括软件工程的传统方法和面向对象方法,主要讨论软件工程的综合案例。书中提供了大量的来自实际项目开发过程中的经验性案例,这些案例给出了软件工程开发各个环节的具体活动过程和产品规范。通过这些案例可以提高读者分析实际问题、开发软件的能力。 本书可作为本科院校计算机及相关专业的软件工程课程设计教材,也可供从事计算机软件开发及应用的广大科技人员参考。
书籍目录
第1章 系统分析 1.1 结构化分析 1.1.1 自顶向下逐层分解 1.1.2 结构化分析步骤 1.2 系统流程图 1.3 数据流图 1.3.1 基本图形符号 1.3.2 画数据流图 1.3.3 结构化分析方法的应用 1.4 数据字典 1.4.1 内容及格式 1.4.2 数据字典的实现 1.5 面向对象分析的基本过程 1.5.1 过程简述 1.5.2 基本模型 1.5.3 主要活动 1.6 发现对象方法 1.6.1 系统责任 1.6.2 问题域研究方法 1.6.3 确定系统边界 1.6.4 发现对象 1.6.5 审查和筛选 1.6.6 建立类图的对象层 1.7 定义属性 1.7.1 对象的属性和服务 1.7.2 表示法 1.7.3 定义属性 1.8 定义服务 1.8.1 状态转换图 1.8.2 行为分类 1.8.3 发现服务方法 1.9 定义结构 1.9.1 一般?特殊结构 1.9.2 发现一般?特殊结构 1.9.3 结构的简化 1.9.4 多继承与多态性 1.9.5 整体?部分结构 1.9.6 整体?部分结构表示法 1.9.7 发现整体?部分结构方法 1.10 实例连接 1.10.1 实例连接概念 1.10.2 实例连接表示法 1.10.3 建立实例连接方法 1.11 消息连接 1.11.1 消息的概念 1.11.2 表示方法 1.11.3 建立消息连接方法 1.12 建立功能模型 1.12.1 画出基本系统模型图 1.12.2 画出功能级数据流图 1.12.3 描述处理框功能第2章 系统设计 2.1 设计基本原理 2.1.1 抽象 2.1.2 细化 2.1.3 模块化 2.1.4 软件体系结构 2.1.5 程序结构 2.1.6 数据结构 2.1.7 软件过程 2.2 体系结构设计 2.2.1 软件结构图 2.2.2 扇出和扇入与深度和宽度 2.2.3 模块的耦合 2.2.4 模块的内聚 2.2.5 结构设计一般准则 2.3 结构化设计 2.3.1 数据流的类型 2.3.2 过程步骤 2.3.3 变换分析设计 2.3.4 事务分析设计 2.3.5 混合流设计 2.3.6 结构化设计方法应用示例 2.3.7 设计后的处理 2.4 详细设计 2.4.1 结构化语言 2.4.2 判定表 2.4.3 判定树 2.5 结构化程序设计 2.5.1 结点 2.5.2 三种基本控制结构 2.5.3 过程设计语言 2.6 面向对象设计 2.6.1 转向面向对象的设计 2.6.2 面向对象抽象方法 2.6.3 信息隐藏 2.6.4 模块化 2.6.5 类的设计准则 2.6.6 面向对象设计的基本原理 2.6.7 软件复用 2.6.8 面向对象设计的步骤 2.7 数据库系统模型和结构 2.7.1 层次模型 2.7.2 网状模型 2.7.3 关系模型 2.8 数据库管理系统 2.9 关系数据库的范式理论 2.9.1 数据依赖 2.9.2 关系模式的操作异常 2.9.3 范式 2.10 EAR方法 2.10.1 EAR图 2.10.2 EAR方法向关系数据库转换第3章 线性方程组并行计算第4章 网络并行计算在物探中的应用第5章 并行计算平台的建立第6章 数据库设计与解决方案第7章 车载电子指南针第8章 开发工具第9章 芯片操作系统分析第10章 用C++ Builder开发医疗保险系统第11章 用PHP开发“专线网点”业务系统第12章 C++开发方法与应用第13章 用C++与J++开发医疗保险系统第14章 网络数据库开发理论参考文献
章节摘录
插图:第1章 系统分析如果确认开发一个新的软件系统是必要而且可能的,那么就要进人系统分析阶段了。软件开发的分析过程就是提取系统需求的过程,分析工作主要包括理解、表达和验证。这个时期的任务是认识和对问题的评价、建立模型和对规格的分析。清楚软件工作域是进行各种估算的基础。为了了解软件在系统中的各种关系和评审软件工作域,系统分析员要研究系统规格说明(system specification)和软件项目计划(software project plan)。其次,为了确保对问题的识别,必须为分析建立通信关系。系统分析员必须与用户和软件开发机构的管理与技术人员进行接触。项目管理员可以作为协调员来保证通信渠道的畅通。系统分析员的目标是弄清用户已经理解的基本问题元素。1.1 结构化分析在结构化方法的发展历程上,它是随着结构化程序设计(Structured Programming,SP)方法的提出、结构化设计(Structured Design,SD)方法的出现直到结构化分析(Structured Analysis,SA)方法的提出才逐渐形成的。软件工程产生以后,首先提出结构化方法的软件开发方法。结构化方法是从分析、设计到实现都使用结构化思想的软件开发方法,实际上它由结构化分析、结构化设计和结构化程序设计三部分组成。它也是一种实用的软件开发方法,是根据某种原理,使用一定的工具,按照特定步骤工作的软件开发方法。结构化方法遵循的原理是白顶向下、逐步求精,使用的工具有数据流图(Data Flow Diagram,DFD)、数据字典、判定表、判定树和结构化语言等。
编辑推荐
《软件工程综合案例》可作为本科院校计算机及相关专业的软件工程课程设计教材,也可供从事计算机软件开发及应用的广大科技人员参考。
图书封面
评论、评分、阅读与下载