中美《软件工程》教材编写及教学实施方法比较研究

合集下载

软件工程方法与实践,课件,窦万峰编著 第一部分 软件工程与过程(1概述)

软件工程方法与实践,课件,窦万峰编著  第一部分 软件工程与过程(1概述)
高等院校计算机课程案例教程系列
软件工程方法与实践
(机械工业出版社)
窦万峰 编著
主要参考书:
1.现代软件工程(国家示范性软件学院系列教材)
张家浩/东南大学 机械工业出版社 2009.1
2.软件工程 — 理论与实践
许家珆 曾翎 彭德中 编著 高等教育出版社 2004.7
3.软件工程-实践者的研究方法
(美)Roger S. Pressman著 郑人杰等译 机械工业出 版社 2008.6
总目录
第10章 面向对象设计(4学时) 第11章 软件实现(2学时) 第12章 软件测试(4学时) 第13章 软件维护(2学时) 第14章 软件项目管理(2学时) 自学 第15章 软件项目估算(1学时) 第16章 软件项目计划与管理(1学时)
第1章 软件工程学概述
1.1 软件工程的基本概念 1.2 软件工程化思想 1.3 软件工程两大范型 1.4 软件工程思想与基本原理 1.5 软件工程基本活动 1.6 课内思考题 1.7 课外作业 1.8 下一次课程主要内容
程序生产方式为个体手工方式。
• 第二代:程序系统阶段。60年代初到70年代初,软件工程学
科诞生。软件的开发方式由个体生产发展到了小组生产,软件的开发
与维护费用以惊人的速度增加,维护困难,导致软件危机。软件=程
序+文档(分析、设计、测试、维护,但不包括管理文档)
• 第三代:传统软件工程阶段。20世纪70年代中期至80年代中
一个或多个数据结构,这些结构使得程序 能够完全操纵信息;
一个或多个文档,这些文档描述了程序分 析、设计、实现和维护的细节。
软件的定义:
面向过程的程序=算法+数据结构
面向对象的程序=对象+消息

《软件工程》实验指导书-卓越项目

《软件工程》实验指导书-卓越项目

《软件工程》实验指导书太原理工大学计算机科学与技术学院2013年3月目录第一部分实验教学大纲 (1)第二部分实验说明 (3)实验一软件工程的网上资源与常用的CASE工具 (3)实验二传统软件开发方法的可行性研究 (5)实验三传统软件开发方法的需求分析建模 (6)实验四传统软件开发方法的结构设计 (7)实验五系统测试 (8)实验六面向对象的分析与设计 (9)实验七软件项目管理 (10)附录一实验题目 (11)第一部分实验教学大纲课程名称:软件工程(Software Engineering)课程总学时: 48 学时[理论: 40 学时;实验: 8 学时]课程总学分: 3 学分适用专业和年级:计算机科学与技术、软件工程专业一、实验的目的与任务本实验课程通过完整地实施软件生命周期各阶段的任务,让学生系统地学习到软件开发过程的主要理论、方法、技术、标准和规范,使他们具备基本的软件开发设计能力;通过软件工程中常用CASE工具和软件项目管理的实践,使他们具备运用各种工具完成项目设计和实施的基本技能;通过集体项目开发,培训学生的合作意识和团队精神,培养学生对技术文档的编写能力。

二、实验内容和要求本课程的实验内容包括结构化(生命周期法)的方法学和面向对象的方法学。

通过一个模拟项目,要求学生分别用结构化方法和面向对象的方法完成系统的分析、设计和实现的整个软件开发过程。

此外实验中引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。

实验要求学生采用“项目小组”的形式,结合具体的开发项目进行分析、设计。

每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档;具体要求如下:1.班级按项目不进行分组。

2.每个人均为负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目,所有实验中都要采用同一个实验题目。

项目开发的每项任务要规定该任务的起止日期和时间。

3.每个项目均要进行需求分析,完成需求分析报告,修订并评审需求分析报告,确定系统的需求分析模型。

软件工程实践者的研究方法pdf

软件工程实践者的研究方法pdf

软件工程实践者的研究方法pdf1.引言软件工程作为一门高度工程化的学科,旨在通过系统化的方法和标准化的实践,实现软件的高效、可靠、可维护等目标。

随着现代软件开发的复杂度和规模不断增加,软件工程实践者需要采用一系列科学的研究方法来提高软件开发的质量和效率。

本文将介绍一些常用的软件工程研究方法。

2.案例研究案例研究是一种常用的软件工程研究方法。

它通过对现实中发生的软件开发项目的详细描述和分析,来探究其内在的规律和成功的因素。

案例研究一般包括以下步骤:2.1选择案例在进行案例研究时,应选择与研究主题相关的代表性案例。

对于一些已经发生的项目,应该考虑诸如开发者数量、规模、复杂度、成功度等因素进行筛选,以确保所选案例的代表性和分析的可靠性。

2.2数据收集和分析进行数据收集和分析是案例研究的关键环节。

主要包括以下方面的内容:①问题定义和目标明确;②数据采集方式选择,包括访谈、问卷调查、文本分析等;③数据收集工具的设计,如半结构化访谈、问卷设计、文本分类等;④数据分析方法的选择与实现,如描述性统计、主题分析、因素分析等;⑤结果呈现和解释,如图表、文字解释等。

2.3结论和总结在完成数据分析后,需要通过整体的梳理和总结,得出对软件开发项目的规律和成功因素的结论和总结。

同时,也需要对研究方法及内容进行评估和反思,以便于今后的研究提供参考。

3.实验研究实验研究是通过在严密控制条件下,对软件开发过程或实践进行实验和观察,以发现或验证相应的假设或规律的研究方法。

实验研究一般包括以下步骤:3.1问题定义在实验研究时,需要明确实验的目的和问题。

如:验证一种软件开发方法在特定情境下的有效性等。

3.2实验设计在设计实验时,需要确定具体的实验对象,实验变量和控制变量、实验过程以及相关的度量方法等。

合理的实验设计对后续的数据分析和研究结论的准确性具有重要影响。

3.3实验实施和数据采集在进行实验时,需要严格遵循实验设计,并确保实验过程和数据采集的准确性和可靠性。

《软件工程》实验指导书

《软件工程》实验指导书

《软件工程》实验指导书《软件工程》试验指导序论软件工程是对软件开发、运作、维护、退役的系统研究方法。

在整个计算机科学中占有举足轻重的地位。

软件工程试验将软件工程的概念和理论知识融入到实践当中,从而加深对软件工程知识的认识和理解。

本指导书内容包含了软件生命周期中的各个阶段,内容设计软件工程计算环境、软件工程国家标准、软件开发绘图工具Microsoft Visio、软件分析建模工具Sybase Powerdesinger、软件自动化测试Mercury Interactive WinRunner、软件项目管理Microsoft Project 和软件配置管理软件Microsoft Visual SourceSafe等。

整个指导书共含7试验,其中每一个试验都包含背景知识介绍、所需工具、准备工作和试验步骤等。

第一种软件工程工具以环境一、试验目的1.理解软件工程的基本概念,熟悉软件,软件生命周期,软件生存周期过程和软件生命周期各阶段的定义和内容2.通过Internet搜索与浏览,了解网络环境中主流的软件工程技术网站,掌握通过专业网站不断丰富软件工程最新知识的学习方法,尝试通过专业网站的辅助与支持开展软件工程应用实践。

3.熟悉软件工具、软件开发环境和CASE工具4.了解GB/T15853-1995《软件支持环境》相关内容二、试验内容与步骤1.查阅有关资料,给出“软件”的权威定义2.查阅有关资料,给出“软件生命周期”的权威定义3.查阅有关资料,给出“软件生存周期过程”的权威定义4.上网搜索和浏览,了解软件工程技术的应用情况,记录所浏览网站的技术支持工作。

5.查阅有关资料,给出“软件工具”、“软件开发环境”、“CASE工具”的权威定义6.填写下列学术术语的英文简写,并思考、理解其含义7.软件开发环境8.软禁工程环境9.软件支持环境10.软件项目支持环境11.软件自动开发环境12.集成化程序设计环境13.通过查阅资料给出GB/T15853-1995《软件支持环境》规定的软件支持环境的基本要求14.了解Microsoft Visio的应用状况15.了解Rational Rose的应用状况16.了解Oralce Designer的应用状况17.了解Together Soft的应用状况18.了解CASE Studio的应用状况19.了解Sybase PowerDesigner的应用状况20.了解Microsoft Visual SourceSafe的应用状况三、学时分配2学时四、要求必做五、性质验证六、所需仪器设备微机、网络七、试验总结八、试验评价(教师)第二章软件工程标准化一、试验目的1.熟悉和掌握软件工程标准化的概念、内容和意义2.了解那些支持国家标准和其他标准信息的专业网站3.较为系统全面的了解软件工程相关的国家标准1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、一、二、三、四、五、六、七、八、九二、试验内容与步骤1.上网浏览和检索标准化专业网站,并记录标准化专业网址,网站名称,内容描述2.了解软件工程标准化的概念3.了解软件工程的国家标准1)GB/T8566-20012)GB/T8567-19883)GB/T9385-19884)GB/T9386-19885)GB/T1526-19896)GB/T11547-19897)GB/T12504-19908)GB/T12505-19909)GB/T14079-199310)GB/T16680-199611)GB/T15532-199512)GB/T14394-199313)其他三、学时分配2学时必做五、性质验证六、所需仪器设备微机、网络七、试验总结八、试验评价(教师)第三章软件开发绘图工具Visio一、试验目的1.了解Visio工具软件的功能特色、安装、工作环境和基本操作等各方面的基本知识2.掌握应用Visio工具绘制软件开发图形的基本操作3.了解开发Visio解决方案的基本概念4.学习应用Visio工具绘制UML模型图、网络图、网站图等图形二、试验内容与步骤与步骤1.了解Visio的工作环境1)工作窗口2)视窗调整3)任务窗口4)小视窗2.了解菜单项3.了解定位工具4.了解工具栏5.了解文件操作6.了解绘图页面操作7.绘制一个C程序流程图8.针对一个实际网络开发,部署,维护过程建立:1)用例图2)类图4)状态图5)时序图6)协作图7)活动图8)构件图9)部署图10)用例视图11)逻辑视图12)构件视图13)并发视图14)部署视图九、学时分配4学时十、要求必做十一、性质验证、设计十二、所需仪器设备微机、网络、Microsoft Visio十三、试验总结十四、试验评价(教师)第四章系统分析与建模工具PowerDesigner一、试验目的1.初步了解系统分析与建模工具PowerDesinger的基本概念和操作界面2.了解PowerDesigner的四个模型:业务处理模型、概念数据模型、物理数据模型和面向对象模型及相互关系3.用PowerDesinger工具进行简单系统分析建模操作二、试验内容与步骤与步骤1.启动PowerDesinger2.建立新项目3.建立概念数据模型4.定义实体5.定义属性、属性的约束和算法6.定义关系7.保存并使用Check Model检查E-R图8.使用Generate Physical Data Model选择生成物理数据模型9.建立业务处理模型10.建立面向对象模型三、学时分配4学时四、课程作用――物业管理系统1.需求分析该物业管理系统包含三个核心模块:物业基础资料模块、业主变动处理和物业费用处理模块1)物业基础资料模块是物业系统最基本的部分,此模块包含了如下功能:物业基本信息、维修项目定义、费用定义、小区管理、业主基本信息。

软件工程 课程介绍 CUMT

软件工程 课程介绍 CUMT
பைடு நூலகம்
Therac25 放射医疗仪事故,1986年由于软件错误 导致放射过量,2人死亡 –溢出错误是导致问题的主要原因之一。 千年虫问题 迫于计算机存储空间的限制,程序员将日期缩 减为2位数。 世界各地更换或升级2000 年问题软件的花费 超过数亿美元。 其他 电子邮件的病毒; 拒绝访问等的网络攻击; 网络事务的安全问题。
课件制作人:谢希仁
爱国者导弹 曾在海湾战争期间对抗伊拉克飞毛腿导弹。 1991年2月,一次对抗失利中28名美国士 兵丧生。 问题的症结在于导弹软件包含一个累加计时误差。 软件错误 target = f(velocity, time) 计时采用系统时钟(即1/10 秒)并使用整数表达 (1/10) 2=0.0001100110011001100110011001100…, 24 位寄存器存储导致误差(0.000000095)10 0.000000095×100 hours×60×60×10 = 0.34 seconds
软件工程一级学科
软件工程一级学科出现的理由: (1)软件工程学科已发展为计算机科学与技术、数学、 工程学、管理学等相关学科的交叉性学科。传统的计 算机科学与技术学科已经涵盖不了软件工程可归属的 二级学科问题,不适应软件产业对软件工程人才培养 的需要。 (2)软件工程学科已形成较完整的理论与工程技术体 系,课程体系基本明确,高端人才培养能力基本形成, 创新型复合型人才的社会需求不断提高。 (3)软件工程涉及软件产业、信息产业和现代服务业, 代表未来社会产业发展方向。 (4)现有软件工程人才培养体系不完整,需要通过进 一步学科建设方能适应产业发展对高端人才的需求。
1986年, 没有银弹:软件工程的本质性与附属性工 作》(英语:No Silver Bullet — Essence and Accidents of Software Engineering) 是IBM大型机之父佛瑞德· 布鲁克斯所发表一篇关于 软件工程的经典论文,原先是在1986年都柏林IFIP研 讨会的一篇受邀论文。 该论述中强调由于软件的复杂性本质,而使真正的 银弹并不存在;所谓的没有银弹是指没有任何一项技 术或方法可使软件工程的生产力在十年内提高十倍。

软件工程实践者的研究方法第七版教学设计

软件工程实践者的研究方法第七版教学设计

软件工程实践者的研究方法第七版教学设计简介软件工程是一门实践性很强的学科,因此对于软件工程实践者来说,研究方法是非常重要的。

本教学设计旨在介绍软件工程实践者的研究方法第七版,其中包括教学目标、教学内容、教学方法和评估方法。

教学目标本教学设计的主要目标是:•了解软件工程实践者的研究方法第七版的基础知识;•掌握软件工程实践者的研究方法第七版的研究过程;•能够运用软件工程实践者的研究方法第七版进行研究工作;•能够分析和评价软件工程实践者的研究方法第七版的贡献和不足之处。

教学内容第一章概述•软件工程研究的概念、意义和发展历程;•软件工程实践者的研究方法概述;•第七版研究方法的特点和改进。

第二章研究过程•研究问题的确定;•研究设计的选择;•数据的收集和处理;•研究结果的分析和解释。

第三章研究设计•实验设计;•调查问卷设计;•个案研究设计;•非实验研究设计。

第四章数据收集和处理•数据收集的方法与技术;•数据处理的方法与技术。

第五章研究结果的分析和解释•数量分析方法;•质性分析方法;•综合分析方法。

第六章研究的报告•研究报告的特点;•研究报告的组织结构;•研究报告的写作技术。

教学方法为实现教学目标,采用下列教学方法:1.课堂讲授;2.案例分析;3.小组讨论;4.实践操作;5.作业完成;6.个人学习。

评估方法为全面评价学生的学习情况,本教学设计采用下列评估方法:1.课堂表现(20%):听课态度、积极参与、提问、回答问题等;2.作业报告(30%):独立完成作业,报告符合格式、技术含量、思路清晰、逻辑性强等;3.期末考试(50%):反映学生对所进行教学内容的理解和掌握情况。

结语软件工程实践者的研究方法是软件工程领域的一个研究热点,本教学设计致力于帮助学生了解和掌握该领域的最新研究方法和技术,以提高学生在软件工程研究实践中的能力和水平。

关于软件工程的书

关于软件工程的书

关于软件工程,有几本经典的书籍值得一读:
1. 《代码大全(第二版):软件构建之实践指南》:该书由著名IT畅销书作者史蒂夫·迈克康奈尔(Steve McConnell)所著,几乎每一个程序员都曾拜读过此书。

它对软件构建进行了全面分析,逻辑严密,主要涵盖软件设计、编码、调试以及测试等主题。

对于有一至三年专业编程经验的工程师来说,这本书尤其值得阅读。

2. 《软件工程:实践者的研究方法》:该书由美国软件工程协会(ACM)推荐为软件工程课程的教科书,重点介绍了传统的软件工程方法和现代的敏捷开发方法。

3. 《人月神话》:该书是计算机科学和软件工程领域的经典著作,作者布鲁克斯(Frederick P. Brooks)在书中探讨了软件开发和维护中的一些核心问题,如人员与任务的配合、人与机器的局限性等。

4. 《敏捷软件开发:原则、模式与实践》:该书介绍了敏捷开发方法的核心原则和实践,包括极限编程、Scrum等。

它提供了对敏捷方法的深入理解,并帮助读者在实际项目中应用这些原则。

5. 《测试驱动开发》:该书主要介绍了测试驱动开发(TDD)的方法论和实践。

通过阅读本书,读者可以了解如何编写高质量的单元测试,并通过测试来驱动软件开发。

6. 《代码整洁之道》:该书介绍了编程的整洁之道,强调编写清晰、易于理解和维护的代码。

它涵盖了编程风格、命名规范、注释、函数设计等方面的内容。

以上书籍可以帮助你深入了解软件工程的理论和实践,提升编程技能和项目管理能力。

软件工程研究方法

软件工程研究方法

软件工程研究方法软件工程作为一门学科,自上世纪七十年代以来,已经可以说是迅速发展起来了。

软件工程学习范畴涵盖好几个学科,涉及到计算机科学、工程学、数学、心理学以及经济学等多个学科。

在这门学科中,软件工程研究方法是一个十分关键的部分。

在这里,我将详细介绍软件工程研究方法的概念、历史发展、研究内容以及应用等方面。

一、什么是软件工程研究方法软件工程研究方法是一个泛指,它指的是以某种研究方向来实施软件开发的方法和技术,使软件更准确、更高效、更全面地开发完成。

软件工程研究方法与传统的软件开发方法相比,有许多优点,它可以更好地满足用户对软件的要求,以及在开发过程中控制软件质量等。

二、软件工程研究方法的发展历史软件工程研究方法的发展始于上世纪70年代,当时人们开始注意到软件开发的技术,然后他们开始把计算机技术和管理知识结合在一起,这就是软件工程研究方法的前身软件项目管理。

1987年,美国工业与经济技术联合会(IEE)发布了《软件工程指南》,以支持软件工程的发展,同时也推动软件工程研究方法的发展。

1990年,IEE 联合会进一步发布了《软件工程实践》,根据《软件工程指南》的建议,提出了五大软件工程研究方法:标准化,技术架构,项目管理,技术支持能力,和可支持性。

三、软件工程研究方法研究内容虽然软件工程研究方法的发展仅仅发生在上世纪90年代,但今天这些方法已经成为软件工程研究的核心内容。

软件工程研究方法包括:需求分析、架构设计、模块设计、实现和测试等。

要采用软件工程研究方法,需要从软件的需求分析开始,即分析软件的功能需求,最终形成软件的详细设计。

其次,还需要进行架构设计,即将软件的功能需求转化为可以实施的架构设计,便于模块化设计和实现,以及模块之间的代码维护。

并进行模块设计,即将架构设计的组件拆分为可以实现的模块,完成模块的实现和测试。

四、软件工程研究方法的应用软件工程研究方法被应用于各类软件开发工作中,例如系统软件、应用软件的开发、更新和维护、软件组件的设计和实施等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中美《软件工程》教材编写及教学实施方法比较研究摘要:本文对3本国内《软件工程》教材及2本引进的美国《软件工程》教材进行比较分析,并结合笔者从事软件工程教学的经验,分类总结了该课程的若干教学实施方法。

关键词:软件工程;教材;教学方法;比较教育研究1 中美《软件工程》教材编写比较我们以历年教学中使用过的三本国内教材及作为教学参考书使用过的两本国外引进教材为研究对象,分别就软件工程的地位、教学内容、讲授方法、实践环节安排等问题进行比较分析。

作为研究对象的五本教材列于表1。

为了叙述方便起见,按表1顺序五本教材分别简称为“汤本”、“刘本”、“张本”、“郑译本”和“影印本”。

1.1 关于软件工程的地位及开设该课程的意义“汤本”沿用IEEE对软件工程术语的定义:“以优质、高效、低成本为目标,研究开发、运行和维护软件以及使之退役的系统方法”。

“汤本”前言中指出软件工程课程“为学生后续的专业课程教学和工程实践环节提供必要的方法学基础和能力训练,同时也是学生参加工作后立即面临的最直接应用基础。

”可见,“汤本”强调的是“方法学”及方法学训练。

“刘本”引用IEEE Standard Glossary of Software Engineering Terminology给出的一个“软件工程”更为全面的定义:“软件工程是①将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即将工程化应用到软件上;②对①中所述方法的研究”。

“刘本”在前言中又指出“软件工程不仅从方法论的角度为管理人员和开发人员提供可见的结构和有序的思考方式,而且从大量软件开发的成功经验总结出设计模式、框架、部件库等,软件工程正在逐步发展为一门成熟的专业学科”。

“刘本”在进一步指出方法的“系统性”、“规范化”、“可定量”特征的同时,强调软件工程的专业性。

为此,该教材1.3节专门介绍了IEEE和ACM联合研究项目——SWEBOK(软件工程知识体系)所包含的10个知识领域。

“张本”指出,软件工程是“研究软件开发与维护的普遍原理和技术”,同时认为“一本书中不可能包含软件工程的全部内容,入门介绍从实用角度讲述软件工程的基本原理、概念和方法”。

“郑译本”的原书前言指出,“为了获得成功,在设计和开发软件时,我们需要有规范,需要有工程化的方法”。

该书新版第6版“更加强调一些新的和重要的软件工程过程和实践”。

“影印本”在回答“W hat is software engineering?”(什么是软件工程?)时这样写道“As software engineering, we use our knowledge of computers and computing to help solve problems.”(软件工程意味着我们应用计算机和计算科学的知识帮助解决问题)。

在小结中写道:“Software engineers use tools, techniques procedures , and paradigms to enha nce the quality of their software products.”(软件工程师应用工具、方法、过程和范式来增进软件产品的质量)。

“Their aim is to use efficient and productive approaches to generate effective solutions to problems.”(其目标是应用有效和生产性的方法产生问题的有效解答)。

不难看出两本引进教材更加强调软件工程的“实践性”、“生产性”,这与国内教材强调“学科性”、“基础性”不同。

对软件工程认识上的这种差异,决定了中美两国“软件工程”教材在教学内容、讲授方法及实践环节安排等方面的诸多差异,最终也将决定学生胜任第一任职岗位需要的差别。

国内学生毕业时虽有较好的基础,但往往需要数月、半年至一年再培训、再学习才能胜任岗位工作,这对美国学生是不可想象的。

因为如果不能较快或立即适应工作,就意味着“失业”。

1.2 关于软件工程的教学内容“汤本”的教学内容主要讲传统方法即结构化方法。

这是考虑到“结构化方法是软件工程入门阶段的最基本要求和大多数中、小型软件开发中的实用技术”。

“汤本”全书共8章,第1章概述,第2章软件计划,第3章需求分析,第4章软件设计,第5章编码,第6章软件测试,第7章软件维护,第8章软件项目管理,附录文档参考大纲。

“汤本”以SA(结构化分析)、SD(结构化设计)、SP(结构化编程)为主线,结合一个“学生选课注册系统”的实例进行分析。

“刘本”以IEEE最新发布的软件工程知识体系(SWEBOK)为基础构建内容框架,重点讲面向对象的方法。

其它内容则点到为止,并未展开阐述。

“刘本”全书11章,第1章概述,第2章软件过程,第3章软件项目管理,第4章需求工程,第5章形式化方法,第6章面向对象基础,第7章面向对象分析,第8章面向对象设计,第9章软件实现,第10章软件测试,第11章软件演化、维护、再工程。

其中,第4章、第6至第10章,以当前普遍流行的面向对象技术和UML(统一建模语言)为核心,全面、深入、系统地介绍软件开发各个阶段的任务、过程、方法和工具,并结合Minilibrary(小型图书馆系统)实例进行分析。

“张本”既讲结构化方法,又讲面向对象方法,因为“结构分析和结构设计技术现在仍然是人们在开发软件过程中使用得非常广泛的方法,在相当长一段时间内这种方法还会有生命力”。

“张本”全书15章,第1章概述,第2章可行性研究,第3章需求分析,第4章形式化说明技术,第5章总体设计,第6章详细设计,第7章实现,第8章维护,第9章面向对象方法学引论,第10章面向对象分析,第11章面向对象设计,第12章面向对象实现,第13章软件项目管理,附录A C++类库管理系统的分析与设计,附录B 一个汉字行编辑程序的设计。

其中第2~8章及附录B介绍软件生命周期各阶段任务、过程、结构化方法和工具。

第9~12章及附录A,用UML描述介绍面向对象方法学引论、分析、设计和实现。

“郑译本”共32章,分为五个部分。

第1章软件工程介绍,单列一章。

第一部分软件过程,含第2章,考虑到所有重要的过程模型,涉及传统过程和敏捷过程的争论。

第二部分软件工程实践,含第5章软件工程综述,第6章系统工程,第7章需求工程,第8章构建分析模型,第9章设计工程,第10章进行体系结构设计,第11章构件级设计建模,第12章完成用户界面设计,第13章软件测试策略,第14章测试技术,第15章产品度量。

第三部分应用Web工程,含第16章Web工程,第17章开始一个WebApp项目,第18章WebApp分析,第19章WebApp设计,第20章WebApp测试。

第四部分管理软件项目,含第21至27章,给出的是与计划、管理和控制软件项目的人员有关的问题。

第五部分软件工程高级课题,含第28至第31章,分别涉及形式化方法、净室软件工程、基于构件的开发、再工程及未来之路。

“影印本”全书共14章,分三个部分。

第一部分含第1至第3章,分别论述软件工程知识的重要性(第1章为什么需要软件工程),理解过程的重要性(第2章过程和生命周期建模)以及完成项目计划(第3章项目计划和管理)。

第二部分介绍软件开发和维护的主要步骤,包括第4章需求分析,第5章系统设计,第6章对象,第7章程序编写,第8章程序测试,第9章系统测试,第10章系统交付,第11章,系统维护。

第三部分软件的评估和改进,分析如何评价过程和产品的质量,含第12章产品、过程和资源的评价,第13章预测、产品、过程和资源的改进,第14章软件工程的前景。

需要说明的是,“影印本”从第一部分即给出贯穿全书的两个通用实例,第1个例子代表典型的信息系统,介绍了为一家大型英国电视公司确定广告时间价格的软件;第2个例子代表实时系统,介绍Ariane5(阿里亚娜5)控制软件。

以后每一章都将所介绍的概念应用到这两个通用实例中。

综观上述5本教材的内容与组织可以看出,国内教材是以结构化方法或(和)面向对象方法为主线,并结合管理信息系统的实例进行分析。

实例的选择主要从教学角度出发,并不一定是实用的系统。

引进教材尤其注重“实践性”,突出当前软件开发占主流的UML为描述工具的面向对象方法。

对结构化方法,则作了进一步抽象,不再作为单独部分具体阐述。

对于开发一个实用软件所需要要的各个方面,特别是新技术,如敏捷过程、构件建模、净室测试模型等都做了细致的分析。

所选用实例都源自实际项目。

这样就能使学生获得更接近当前软件开发实际的知识和实用的方法,达到“学以致用”的目的。

1.3 讲授方法及实践环节安排“汤本”的讲授方法是“结合软件开发实例进行讲授”,汤本理论讲授30学时,上机30学时。

该教材从第二章开始就在习题中布置了一个“学生成绩管理信息系统”的课题作业,要求学生对该课题开展工作,随教学进程完成相应阶段的任务,提交相应文档,并以小组为单位编码、实现和测试。

这种将实践环节和理论讲授融为一体的做法可圈可点。

但是“汤本”并没有相应材料支撑课题作业。

“汤本”中举出一个“学生学期选课注册系统”的范例,可惜也没有贯彻始终,仅在“可行性研究”和“需求分析”中用过。

这就给初学者带来一些困难。

“刘本”和“张本”采用理论讲授与实例分析相结合的方法,书中有大量实例,并有内容丰富的习题配合。

“刘本”中Minilibrary的实例分析较详尽,对理解面向对象的方法有很大帮助,只是这个实例仍嫌不够完整。

“张本”有两个实例分析的附录,分别讲述了用面向对象方法和结构化方法开发两个软件的过程。

与张本配套的教辅材料有《软件工程导论学习辅导》和电子教案,给教学带来很大方便,这也是本书受到教师、学生欢迎的一个重要原因。

“郑译本”采用的是案例导向的讲授方法。

书中提出一个Safe Home(住宅安全系统)的教学案例,以对话形式逐步展开这一软件的开发过程,让读者跟随一个虚拟的项目组,跟随他们的工作进程开发一个计算机应用系统。

“影印本”从第一部分就给出了两个实际项目(英国广播公司软件和阿里亚娜火箭控制软件)做为教学案例,并给出一个借贷处理系统的学期课题作为学生实践项目。

而后教材每一章都将所介绍的概念应用到这两个实例中去,每一章也都包括学期课题的描述。

作者的意图是:“Students can follow the progress of two typical projects, seeing how the various practices described in the book are merged into the technologies used to build systems.”(学生能跟随这两个典型项目的进程,看到本书所描述的各种实践方法如何融入为构建系统所应用的技术中去)。

相关文档
最新文档