本书总结了编者多年来从事软件工程教学与研究的经验,并吸取了国内外众多同类教科书的精华。\r\n 本书共7章。第1章概述软件工程与软件过程;第2章讲述结构化分析的任务、过程、方法和工具;第3章讲述结构化设计的任务、准则;方法和工具;第4章着重介绍几种常用的测试技术;第5章讲述面向对象的概念、模型、分析、设计与实现;第6章讲述软件维护:第7章讲述软件项目的计划、组织和质量保证,并简要地介绍了能力成熟度模型。\r\n 本书的特点是:讲解深入浅出,通俗易懂,便于自学;把丰富的实例与原理性论述紧密配合,着重讲透基本的概念、原理、技术和方法:特别注重实用性,用几个综合性实例概括了本书的主要内容。认真阅读这些实例,不仅对读者深入理解软件工程很有帮助,而且有助于读者学会把软件工程的理论与技术运用到实际工作中去,这些实例还可作为上机实习的材料。\r\n 本书可作为大学专科或高等职业技术学院软件工程课程教材,也可作为大学本科相应课程的教学参考书。
第1章 概述\r\n\r\n1.1 开发软件不等于编写程序\r\n1.1.1 开发软件应该完成的工作远远多于编写程序应该完成的工作\r\n1.1.2 错误做法导致软件危机\r\n1.1.3 消除软件危机的途径\r\n1.2 软件工程\r\n1.2.1 软件工程的定义\r\n1.2.2 软件工程的基本原理\r\n1.2.3 软件工程方法学\r\n1.3 软件生命周期\r\n1.4 软件过程\r\n1.4.1 瀑布模型\r\n1.4.2 快速原型模型\r\n1.4.3 增量模型\r\n1.4.4 螺旋模型\r\n1.5 小结\r\n习题\r\n\r\n第2章 结构化分析\r\n\r\n2.1 可行性研究的任务\r\n2.2 可行性研究过程\r\n2.3 需求分析的任务\r\n2.4 需求分析的过程\r\n2.5 与用户沟通的方法\r\n2.5.1 访谈\r\n2.5.2 简易的应用规格说明技术\r\n2.6 分析建模与规格说明\r\n2.6.1 分析建模\r\n2.6.2 软件需求规格说明书\r\n2.7 验证软件需求\r\n2.7.1 至少从四个方面验证软件需求\r\n2.7.2 验证软件需求的方法\r\n2.7.3 用于需求分析的软件工具\r\n2.8 系统流程图\r\n2.8.1 系统流程图的符号\r\n2.8.2 举例\r\n2.8.3 分层画系统流程图\r\n2.8.4 系统流程图的用途\r\n2.9 实体一联系图\r\n2.10 数据流图\r\n2.10.1 数据流图的符号\r\n2.10.2 举例\r\n2.10.3 命名\r\n2.10.4 数据流图的用途\r\n2.11 数据字典\r\n2.11.1 数据字典的内容\r\n2.11.2 定义数据的方法\r\n2.11.3 数据字典的用途\r\n2.11.4 实现数据字典的途径\r\n2.12 其他图形工具\r\n2.12.1 层次方框图\r\n2.12.2 Wamier图\r\n2.12.3 IPO图\r\n2.13 成本/效益分析\r\n2.13.1 成本估计\r\n2.13.2 成本/效益分析方法\r\n2.14 结构化分析实例\r\n2.14.1 工资支付问题定义\r\n2.14.2 可行性研究\r\n2.14.3 需求分析\r\n2.15 小结\r\n习题二\r\n\r\n第3章 结构化设计\r\n\r\n3.1 软件设计的任务\r\n3.1.1 概要设计的任务\r\n3.1.2 详细设计的任务\r\n3.2 从分析过渡到设计\r\n3.3 软件设计准则\r\n3.3.1 模块化与模块独立\r\n3.3.2 抽象\r\n3.3.3 逐步求精\r\n3.3.4 信息隐藏\r\n3.4 度量模块独立性的标准\r\n3.4.1 耦合\r\n3.4.2 内聚\r\n3.5 启发规则\r\n3.5.1 改进软件结构提高模块独立性\r\n3.5.2 模块规模应该适中\r\n3.5.3 深度宽度、扇出和扇入都应适当\r\n3.5.4 模块的作用域应该在控制域之内\r\n3.5.5 力争降低模块接口的复杂程度\r\n3.5.6 设计单入口单出口的模块\r\n3.5.7 模块功能应该可以预测\r\n3.6 描绘软件结构的图形工具\r\n3.6.1 层次图和HIPO图\r\n3.6.2 结构图\r\n3.7 面向数据流的设计方法\r\n3.7.1 概念\r\n3.7.2 变换分析\r\n3.7.3 事务分析\r\n3.7.4 设计优化\r\n3.8 人机界面设计\r\n3.8.1 应该考虑的设计问题\r\n3.8.2 人机界面设计过程\r\n3.8.3 界面设计指南\r\n3.9 过程设计\r\n3.10 过程设计的工具\r\n3.10.1 程序流程图\r\n3.10.2 盒图\r\n3.10.3 PAD图\r\n3.10.4 判定表\r\n3.10.5 判定树\r\n3.10.6 过程设计语言(PDL)\r\n3.11 面向数据结构的设计方法\r\n3.11.1 Jackson图\r\n3.11.2 改进的 Jackson图\r\n3.11.3 Jackson方法\r\n3.12 结构化设计实例\r\n3.12.1 汉字行编辑程序的规格说明\r\n3.12.2 概要设计\r\n3.12.3 概要设计结果\r\n3.12.4 详细设计\r\n3.12.5 详细设计结果\r\n3.13 小结\r\n习题三\r\n\r\n第4章 结构化实现\r\n\r\n4.1 编码\r\n4.1.1 选择适当的程序设计语言\r\n4.1.2 正确的编码风格\r\n4.2 软件测试概述\r\n4.2.1 软件必须测试\r\n4.2.2 软件测试的目标\r\n4.2.3 两类测试方法\r\n4.2.4 软件测试准则\r\n4.3 白盒测试技术\r\n4.3.1 逻辑覆盖\r\n4.3.2 控制结构测试\r\n4.4 黑盒测试技术\r\n4.4.1 等价划分\r\n4.4.2 边界值分析\r\n4.4.3 错误推测\r\n4.5 测试策略\r\n4.5.1 测试步骤\r\n4.5.2 单元测试\r\n4.5.3 集成测试\r\n4.5.4 确认测试\r\n4.6 调试\r\n4.6.1 调试过程\r\n4.6.2 调试途径\r\n4.7 软件可靠性\r\n4.7.1 基本概念\r\n4.7.2 估算平均无故障时间的方法\r\n4.8 小结\r\n习题四\r\n\r\n第5章 面向对象方洁学导论\r\n\r\n5.1 一个面向对象的程序实例\r\n5.1.1 用对象分解取代功能分解\r\n5.1.2 设计类等级\r\n5.1.3 定义属性和服务\r\n5.1.4 用C++语言实现\r\n5.2 面向对象的概念\r\n5.2.1 对象\r\n5.2.2 其他面向对象的概念\r\n5.3 面向对象方法学概述\r\n5.3.1 面向对象方法学的要点\r\n5.3.2 面向对象建模\r\n5.3.3 面向对象的软件过程\r\n5.4 对象模型\r\n5.4.1 表示类的图形符号\r\n5.4.2 表示关系的图形符号\r\n5.5 动态模型\r\n5.5.1 概念\r\n5.5.2 图示符号\r\n5.6 面向对象分析\r\n5.6.1 确定问题域内的对象\r\n5.6.2 确定关联\r\n5.6.3 确定属性\r\n5.6.4 建立继承关系\r\n5.6.5 建立动态模型\r\n5.6.6 建立功能模型\r\n5.6.7 定义服务\r\n5.7 面向对象设计\r\n5.7.1 面向对象设计准则\r\n5.7.2 启发规则\r\n5.8 面向对象分析与设计实例\r\n5.8.1 面向对象分析\r\n5.8.2 面向对象设计\r\n5.9 面向对象实现\r\n5.9.1 面向对象的程序设计语言\r\n5.9.2 面向对象程序设计风格\r\n5.9.3 面向对象测试\r\n5.10 面向对象方法学的主要优点\r\n5.11 小结\r\n习题五\r\n\r\n第6章 软件维护\r\n\r\n6.1 软件维护的定义与策略\r\n6.1.1 定义\r\n6.1.2 策略\r\n6.2 软件维护的特点\r\n6.2.1 结构化维护与非结构化维护差别悬殊\r\n6.2.2 维护的代价高昂\r\n6.2.3 维护的问题很多\r\n6.3 软件维护过程\r\n6.3.1 维护组织\r\n6.3.2 维护报告\r\n6.3.3 维护的事件流\r\n6.3.4 保存维护记录\r\n6.3.5 评价维护活动\r\n6.4 软件的可维护性\r\n6.4.1 决定软件可维护性的因素\r\n6.4.2 文档\r\n6.4.3 可维护性复审\r\n6.5 预防性维护\r\n6.5.1 必要性\r\n6.5.2 可行性\r\n6.6 软件再工程过程\r\n6.7 小结\r\n习题六\r\n\r\n第7章 软件项目管理\r\n\r\n7.1 度量软件规模\r\n7.1.1 代码行技术\r\n7.1.2 功能点技术\r\n7.2 估算软件开发工作量\r\n7.2.1 静态单变量模型\r\n7.2.2 动态多变量模型\r\n7.2.3 COCOMO2模型\r\n7.3 进度计划\r\n7.3.1 估算开发时间\r\n7.3.2 甘特(Gantt)图\r\n7.3.3 工程网络\r\n7.3.4 估算进度\r\n7.3.5 关键路径\r\n7.3.6 机动时间\r\n7.4 人员组织\r\n7.4.1 民主制程序员组\r\n7.4.2 主程序员组\r\n7.4.3 现代程序员组\r\n7.5 质量保证\r\n7.5.1 软件质量的定义\r\n7.5.2 软件质量保证措施\r\n7.6 软件配置管理\r\n7.7 能力成熟度模型\r\n7.8 小结\r\n习题七\r\n\r\n参考文献
江泽民总书记在十五大报告中提出了培养数以亿计高素质的劳动者和数以千万计专门人才的要求,指明了高等教育的发展方向。只有培养出大量高素质的劳动者,才能把我国的人数优势转化为人力优势,提高全民族的竞争力。因此,我国近年来十分重视高等职业教育,把高等职业教育作为高等教育的重要组成部分,并以法律形式加以约束与保证。高等职业教育由此进入了蓬勃发展时期,驶入了高速发展的快车道。
高等职业教育有其自身的特点。正如教育部“面向21世纪教育振兴行动计划”所指出的那样,“高等职业教育必须面向地区经济建设和社会发展,适应就业市场的实际需要,培养生产、管理、服务第一线需要的实用人才,真正办出特色。”因此,不能以本科压缩和变形的形式组织高等职业教育,必须按照高等职业教育的自身规律组织教学体系。为此,我们根据高等职业教育的特点及社会对教材的普遍需求,组织高等职业学校有丰富教学经验的老师,编写了这套《高职高专现代信息技术系列教材00本套书已纳入教育部高职高专规划教材。
本套教材充分考虑了高等职业教育的培养目标、教学现状和发展方向,在编写中突出了实用性。本套教材重点讲述目前在信息技术行业实践中不可缺少的、广泛使用的、从业人员必须掌握的实用技术。即便是必要的理论基础,也从实用的角度、结合具体实践加以讲述。大量具体操作步骤、许多实践应用技巧、接近实际的实训材料保证了本套教材的实用性。
在本套教材编写大纲的制定过程中,广泛收集了高等职业学院的教学计划,调研了多个省市高等职业教育的实际,反复讨论和修改,使得编写大纲能最大限度地符合我国高等职业教育的要求,切合高等职业教育实际。
在选择作者时,我们特意挑选了在高等职业教育一线的优秀骨干教师。他们熟悉高等职业教育的教学实际,并有多年的教学经验;其中许多是“双师型”教师,既是教授、副教授,同时又是高级工程师、认证高级设计师;他们既有坚实的理论知识,很强的实践能力,又有较多的写作经验及较好的文字水平。
目前我国许多行业开始实行劳动准入制度和职业资格制度,为此,本套教材也兼顾了一些证书考试(如计算机等级考试),并提供了一些具有较强针对性的训练题目。
对于本套教材我们将提供教学支持(如提供电子教案等),同时注意收集本套教材的使用情况,不断修改和完善。
本套教材是高等职业学院、高等技术学院、高等专科学院教材。适用于信息技术的相关专业,如计算机应用、计算机网络、信息管理、电子商务、计算机科学技术、会计电算化等。也可供优秀职高学校选作教材。对于那些要提高自己应用技能或参加一些证书考试的读者,本套教材也不失为一套较好的参考书。
最后,恳请广大读者将本套教材的使用情况及各种意见、建设及时反馈给我们,以便我们在今后的工作中,不断改进和完善。
无封面