基于软件框架的软件设计实践教学方法研究

合集下载

基于CDIO工程教育模式的“软件工程”实践教学研究

基于CDIO工程教育模式的“软件工程”实践教学研究
养 出符 合 当代 企业 实 际需要 的计 算机 工程 人 才 , 因此 ,本 文 将CDI OI程 教 育模 式应 用于 “ 软件工 程 ”课
程 的实 践教 学 ,并根 据本校 的教学 实际情 况 ,设 计适应 本校 的基 于CDI OI程 教 育模式 的 教学模 式.
1 “ 件 工 程 " 课 程 实践 教 学存 在 的 问题 软
针 对 实 践教 学存 在 的 问题 以及 目前社 会 对计 算 机专 门人才 培 养 的要求 ,结合 课 程 的 内容 以及 软件 开 发技 术 发展 迅速 的特 点 ,对 于基 于C 1 的 “ 件 工程 ”教学模 式 的设计 原 则是 坚持 以学生 为 中心 ,理论 D0 软
为 支撑 ,实践 为 索 引的 教学 方针 ,采用 案例 教 学 法启 发 式教 学 ,利 用课 外 时 问指 导实 践 ,调 动 学 生学 习 的 主动性 和积 极性 ,培养 学生 的实 践动 手能 力和创 新能 力 ,以及 团队合作 精神 .
论 ,结果 考试 合格 了 ,但 是课 程知 识并没 有得 到较好 的理解和 掌握 ,考 完试就 忘得 一干 二净 了. 12 实 践 问题 . 门课程 的 总课 时是3 课 时 ,而 且 只有理 论讲 授环 节 ,没有 软件 开发 的实 践环节 ,为 . 该 4 了让 学生 将所 学 的理 论 应用 到 软件 开 发 的过程 中 ,教师 在教 学 过程 中会 布 置 一个 课外 的软件 开 发实 践 案
模 式.
【 关键 词】软件工程;教学改革;C I DO
【 中图分 类号 ]G46 [ 3 文献标 识码 ]A [ 文章 编 号]10—61(02 0—19 0 0447 21) 203—4

软件 工 程 ”课程 是 计 算机 科 学 与技 术专 业 的本 科 学 生 限定选 修 的一 门专 业课 ,教学 内容 主 要包

基于.Net平台程序设计课程实践

基于.Net平台程序设计课程实践

基于.Net平台程序设计课程实践摘要程序设计类课程是软件专业构建职业技能的关键课程,是一门重在动手实践能力的课程。

本文从一线教学教师的角度出发,研究探索出一种能够为学生创设问题情境,启发学生独立思考,让学生动手独立解决问题的双向式启发式教学模式。

关键词 .net;启发式教学;课程改革中图分类号tp393文献标识码a 文章编号1674-6708(2010)20-0130-020 引言程序设计类课程是软件专业构建职业技能的关键课程,是一门重在动手实践能力的课程, 传统的教学方法都比较偏重于计算机编程语言或完全是编程语言的教学。

教学模式也一般是传统模式,即注重某种编程语言的基本语句、语法和一些细节的介绍。

我们提出并研究一种能够为学生创设问题情境,启发学生独立思考,让学生动手独立解决问题的双向式启发式教学模式,进行课程的改革与实践。

1 教学改革与实践1.1 启发式教学环境传统的课堂结构还是“填鸭式”教学,千篇一律地使用一种教学方法,使学生缺乏一种学习积极性,不可能对学生进行因材施教,也难以激发学生的求知欲望。

“以学生为主体,以教师为主导”的口号喊了多年,但在课堂教学中,仍然不能真正落到实处。

实践性教学是职业类院校教学的重要环节,是培养学生能力、素质的重要途径。

在培养技能操作型人才的职业教育中,实践教学更有着不可替代的作用。

把以启发式教学为主的现代化教学方法运用到实践教学中来,主要在教学模式上体现以提高学生应用能力为首要目标的“项目驱动教学模式”,使用此教学模式传授知识,不再是从一个知识点到另一个知识点的线性结构,而是首先告诉学生本课程要解决的较综合的实际问题。

如用几个不同的项目案例穿插全课程,每个案例中包括不同的知识点,将课程分为三大部分,以项目开发的方式来引导各个知识点的学习。

课程的最后,几个子项目串成一个大的项目实训,来完成一个系统的整体设计,在若干个项目中包含所有的知识点的教学实验实训。

教师要把子项目的设计思路和开发要点讲解给学生。

对软件工程课程教学设计的思考与实践

对软件工程课程教学设计的思考与实践

作 为 一 所 高 职 高 专 的 学 校 , 件 专 业 软 的 培 养 目标 是 培 养 软 件 蓝 领 。 过 先 修 通 通 过 本 课 程 的 学 习 , 学 生 了 解 和 掌 握 软 件 使 工 程 开 发 的 技 术 和 方 法 , 备 作 为 软 件 工 具 程 师所 需 的 专 业 能 力 , 从 事 计 算 机 软 件 为 开 发 和 维护 提 供 方 法 上 的指 导 ; 持好 用 、 坚 适 用 、 理 超 前 的原 则 , 学 生学 完后 能 融 合 使 会 贯 通 , 大 提 高 其 实 际 操 作 和 自我 学 习 极 能力。 同时 , 件 工 程 的 研 究 除计 算 机 软 件 软 本 身外 , 涉 及 众 多其 他 的 领 域 , 管 理 科 还 如 学、 理学、 心 经济 学 、 人机 工程 学 等 , 它也 是 门综 合 性 学 科 。 因此 , 否 组织 好 软 件 工 能 程 实验 性 教 学 , 于 培 养 创 新 型 合 格 的 软 对
学 术 论 坛
SIC &T HO 3 CN E E E NL Y C O
对 软件 工程课程教学设计 的思考 与实践
梁 静 ( 江经济职 业技术 学院 浙江杭 州 浙 3 O ) 1 1 0 8 摘 要: 软件 工程是 一 门 实践 者 的学科 , 别 的计算 机 专业课 程 相比较 , 注重 于软 件开 发和应 用过 程 中的一般 性 的 , 和 更 规律 性 的 问题 的研 完 与探 讨 , 它是 大 量软 件 工程 实践 的经验 与教 训的 归 纳和 总结 。 过 先修 课程 的 学 习 , 操作 系统 、 层语 言 、 件工 程技 术 、 通 如 底 软 硬件 技术 、 程语 言 , 墙 网络技 术 , 据 库 等知 识 的 学 - 和应 用 , 拓展 强化 学生 对 实 际项 目的操 作 能 力。 数 3 " 来 关键词 : 软件工程 计算机专业课 程 软件 开发 中图分 类号 : G4 2 文 献标 识码 : A 文 章编 号 : 6 2 3 9 (0 90 () 0 0—0 1 — 7 12 0 )8b一 2 9 1 7

软件设计类课程实践性教学分析与实践

软件设计类课程实践性教学分析与实践

臣…
维普资讯
三 、 件设计 类 分 工 、 口的确 模 接 定、 进度 的监督 与协 调 、 成测 试等 。 集 教师 在确定 组长 时 , 少考 虑三个 方 至 面 : 是 组 织 能力 , 一 二是 专 业技 能 的 基本 功 , 三是责 任心 。 这一环节 通 常安 排2 3 ~ 周集 中在 校 内机 房 ( 训 中 实
照规 范 独 立设 计 小 型 软件 ,组 成 团
沙 民政 学 院通 过严把 教 师关 , 节流 环
程 化 , 验 环 境 企 业 化 , 践 项 目规 实 实
队 后又 能 设 计 出具 有 实用 价 值 的 中
大型 软件 。 软件 设 计类 课 程 实 践 性 教 学 目 的是 培养学 生两方 面 的能力 : 立编 独 程 能力 和 项 目合 作 开发 能 力 。一 方
所示 。
括计算机语言类 、 开发 类 、 计 类 、 设
制 作类 和 工 程类 课 程 ,共 同 的 特点
是 学 习者 经 过 系统 学 习后 ,既 能按
学 , 握 好课 堂 实验 、 程设 计和 项 把 课
目实训 三 个环 节 是巩 固软 件设 计 类 课 程 实践性 教 学效 果的有效 途径 。 长
操 作 等 ;二 是 集 中实践 ,即社 会 调
查、 各类 实 习及 见 习 、 程设 计 以及 课 毕业 论文 或毕业设 计 。 教学计 划 中规
作精神 。 软件设计 类课 程实 践性教学
的内涵 如图2 所示 。
能力 的同时还应该加强 代码编写的
定 的作 业 、 验 、 习和 集 中 实践 是 实 实
需 甄
理 三 令 即 统析 ( 的 系 分 师 孽 软人 = 譬 圣 ) 件才 高 级

软件工程专业实践教学课程

软件工程专业实践教学课程

软件工程专业实践教学课程介绍本文档旨在介绍软件工程专业实践教学课程的内容和目标。

软件工程专业实践教学课程是为软件工程专业的学生设计的一门实践性课程,旨在帮助学生通过实际项目实践提高他们的软件开发能力和团队合作能力。

内容软件工程专业实践教学课程的内容涵盖了以下方面:1. 软件开发过程:课程将介绍常见的软件开发过程模型,如瀑布模型、敏捷开发等。

学生将研究如何将这些模型应用于实际项目中,以提高软件开发效率和质量。

2. 需求分析与设计:学生将研究如何进行有效的需求分析和系统设计。

课程将介绍需求工程的基本概念和技术,以及常用的系统设计方法和工具。

3. 编码与测试:学生将研究如何进行有效的编码和测试工作。

课程将介绍常用的编程语言和开发工具,以及测试方法和技术。

学生将通过实际编码和测试项目来提高他们的编码能力和测试技巧。

4. 项目管理和团队合作:课程将介绍项目管理的基本原理和方法,以及团队合作的技巧和工具。

学生将通过参与实际团队项目来提高他们的项目管理能力和团队合作能力。

目标软件工程专业实践教学课程的目标如下:1. 提高学生的软件开发能力:通过实际项目实践,帮助学生掌握软件开发的基本技术和方法,提高他们的软件开发能力。

2. 培养学生的团队合作能力:通过参与团队项目,帮助学生培养良好的团队合作意识和能力,提高他们在团队中的协作能力。

3. 培养学生的问题解决能力:通过解决实际项目中的问题,帮助学生培养有效的问题解决能力,提高他们的分析和解决问题的能力。

4. 培养学生的创新意识:通过参与实际项目,鼓励学生提出创新的想法和解决方案,培养他们的创新意识和能力。

总结软件工程专业实践教学课程旨在通过实际项目实践提高学生的软件开发能力和团队合作能力。

课程内容涵盖了软件开发过程、需求分析与设计、编码与测试、项目管理和团队合作等方面。

课程的目标是提高学生的软件开发能力、团队合作能力、问题解决能力和创新意识。

通过参与实际项目,学生将获得宝贵的实践经验,为将来的软件工程职业生涯做好准备。

软件项目实践教学大纲(3篇)

软件项目实践教学大纲(3篇)

第1篇一、课程概述本课程旨在通过实践教学,使学生掌握软件项目开发的流程、方法和技巧,提高学生的实际操作能力和团队协作能力。

课程内容主要包括需求分析、系统设计、编码实现、测试与部署等环节,通过模拟实际项目,让学生在实践中学习和提高。

二、教学目标1. 理解软件项目开发的基本流程和规范。

2. 掌握需求分析、系统设计、编码实现、测试与部署等基本技能。

3. 提高团队协作能力,培养良好的沟通与沟通技巧。

4. 增强学生的实际操作能力,提高软件项目的开发效率和质量。

5. 培养学生的创新思维和解决问题的能力。

三、教学内容1. 项目背景与需求分析- 项目背景介绍- 需求分析的方法与技巧- 用户需求调研与分析- 需求规格说明书编写2. 系统设计- 系统架构设计- 数据库设计- 界面设计- 系统功能模块划分3. 编码实现- 编程语言与开发环境- 代码规范与编程风格- 代码复用与模块化设计- 异常处理与调试技巧4. 测试与部署- 单元测试与集成测试- 性能测试与安全性测试- 部署策略与部署流程- 故障排除与维护5. 团队协作与项目管理- 团队组建与分工- 沟通与协作工具- 项目进度管理与监控- 项目风险管理6. 案例分析与实战演练- 常见软件项目案例分析- 实战项目开发与实施- 项目成果展示与答辩四、教学安排1. 理论教学:共8周,每周2学时,共计16学时。

2. 实践教学:共12周,每周4学时,共计48学时。

3. 综合实践项目:共4周,每周8学时,共计32学时。

五、教学方法1. 讲授法:系统讲解软件项目开发的理论知识。

2. 案例分析法:通过分析实际项目案例,使学生了解项目开发的流程和技巧。

3. 实践操作法:让学生动手实践,掌握软件项目开发的技能。

4. 团队协作法:通过团队项目,培养学生的团队协作能力和沟通能力。

5. 答疑解惑法:针对学生在实践过程中遇到的问题,进行解答和指导。

六、考核方式1. 平时成绩:占30%,包括课堂表现、实践操作、团队协作等。

软件工程专业本科实践教学体系建设探讨

软件工程专业本科实践教学体系建设探讨[摘要] 针对软件工程专业实践教学环节存在的实践模式离散化、实践内容重复且实践规模缺乏渐进性、实践教学与科研和企业需求相脱节等问题,给出一种新的关联式实践教学体系,几年的实施效果表明,新的实践教学体系是行之有效的。

[关键词] 实践教学体系软件工程教学模型一、引言软件产业作为信息产业的重要组成部分,在国民经济发展中起着越来越重要的作用,因而软件产业得到了各高校的高度重视。

作为一门新兴学科专业,软件工程试图通过实践教学,促进学生巩固和加深理论知识,提高运用知识分析和解决问题的能力,培养学生的系统分析、软件设计、软件开发等专业技能。

目前,软件工程专业的实践教育尚处于不断摸索过程中,实践教学环节尚存在着以下问题:1.离散型、非系统化的实践教学模式。

软件工程专业核心课程,如c++/java、数据结构、离散数学、数据库原理、软件工程等,都配备了相应的课程实验。

这些核心课程在理论授课时间和内容的安排上体现出课程之间的前趋后继关系,但课程实验环节的实验内容由各个授课教师自行安排,未能体现关联关系,实践环节间孤立的教学模式容易产生高分低能,学生不能综合运用所学知识解决实际问题等现象。

2.重复实践小型软件开发,缺乏大中型软件开发过程实践。

由于实践教学课程通常由不同的教师承担,每个教师自由确定实践内容,经常造成实践内容小型化、且重复的问题。

比如,数据库开发实践环节,让学生实现一个简单的数据库应用;软件课程设计同样实践一个围绕数据库应用的小项目。

两门课程实践内容的规模没能区分开来,后者规模较小,影响了对于软件开发全过程的体验,不能达到预期目标。

3.实践教学与科研、企业需求相脱节,教师自身软件工程实践经验不足。

实践教学需要授课教师具备一定的软件开发经验,而教师的教学和科研工作侧重于理论环节,从事软件项目开发经验不足,对于软件工程的技术、方法的理解不够。

该环节仅由在校教师承担,没有企业的指导和参与,导致教师凭个人感觉和经验教授的偏多,认识上把实践环节看作是加深理论知识的理解和掌握,培养基本操作技能,对实践思路、设计和综合分析能力培养重视不够,对实践教学要求不高,未能改变依附于理论教学的从属地位。

软件工程》实践教学大纲(3篇)

第1篇一、课程简介《软件工程》是一门研究软件开发原理、方法和工具的学科,旨在培养学生具备软件开发的基本理论、实践技能和工程素养。

本课程通过实践教学,使学生能够掌握软件工程的基本方法,提高软件开发能力,为后续课程学习和实际工作打下坚实基础。

二、教学目标1. 理解软件工程的基本概念、原理和方法。

2. 掌握软件开发过程中的需求分析、设计、编码、测试和维护等基本技能。

3. 具备使用常用软件开发工具进行实际项目开发的能力。

4. 培养良好的团队协作和沟通能力,提高工程素养。

三、教学内容1. 软件工程概述- 软件工程的定义和发展历程- 软件生命周期和开发模型- 软件工程的目标和原则2. 需求分析- 需求获取和分析方法- 需求规格说明和文档编写- 需求管理3. 软件设计- 设计原则和模式- 数据库设计- 系统架构设计4. 软件开发- 编码规范和最佳实践- 集成开发环境(IDE)的使用- 版本控制工具的使用5. 软件测试- 测试方法和技术- 测试用例设计- 软件测试管理6. 软件维护- 维护过程和方法- 软件配置管理- 软件质量保证7. 软件项目管理- 项目管理的基本概念和原理- 项目计划、执行和监控- 团队协作和沟通四、实践教学安排1. 实践教学课时:共40学时,其中理论课24学时,实践课16学时。

2. 实践教学环节:(1)课堂演示:讲解软件工程的基本概念、原理和方法,演示常用软件开发工具的使用。

(2)案例分析与讨论:分析实际软件项目案例,讨论软件工程在实际开发中的应用。

(3)上机实验:完成以下实验项目:1. 需求分析实验:完成一个简单软件的需求分析,编写需求规格说明书。

2. 设计实验:完成一个简单软件的设计,包括数据库设计、系统架构设计等。

3. 编码实验:使用一种编程语言实现一个简单软件的功能。

4. 测试实验:编写测试用例,对软件进行功能测试和性能测试。

5. 维护实验:对已完成的软件进行维护,修复已知问题和优化性能。

软件开发环境实验课程的研究与探讨

软件开发环境实验课程的研究与探讨[摘要] 软件开发环境是一门实践性非常强的计算机专业课程。

我们在这门课程的实验教学中,不断探索和总结出了一套有效的教学方法。

本文将着重讨论软件开发环境课程的实验教学模式和实验考核模式。

[关键词] 软件开发环境实验课程教学模式考核模式一、引言“软件开发环境”课程是计算机科学与技术专业本科生一门重要的专业技术课程。

开设本课程的目标是使学生了解软件开发领域中的各种开发技术与设计方法,掌握复杂软件系统的it规划、系统分析、系统设计、项目管理等多方面知识,将学生培养成为具有软件高级开发能力的软件开发人员。

该课程的特点是涉及面广、实用性强。

课程内容必须反映最新软件开发的主流技术与前瞻思想,介绍当前最流行的软件开发工具与环境。

本课程着重讲授软件开发的重要领域知识——软件开发的基本规律、软件过程理论、分析方法、架构技术、设计模式、项目管理、应用整合等多方面的知识内容和技术方法,并给出相关的案例分析。

使学生通过本课程将所学的理论知识应用于实践之中,全面地掌握软件开发的过程与组织等技术,掌握现代化的软件开发方法,以适应未来工作的需要。

二、形式多样的实验教学模式本课程组教师依据现代教育的理念和创新要求,积极探索软件开发环境课程实验教学的新技术、新方法和措施,改进实验教学方法,以学生为中心,形成了自主式、合作式、研究式为主的多种形式的实验教学模式。

1.集中指导、独立完成的教学模式:软件开发环境课程的部分随课实验属于对基本原理的进一步理解的验证型实验,这类实验基本上属于应该独立完成的简单实验,一般先由实验教师先进行集中指导,然后由学生根据实验指导书独立完成。

2.任务驱动式教学模式:对部分设计型实验项目,在给定设计任务和要求的情况下,学生从资料收集、方案拟定、设计与调试到撰写设计报告,主要由学生自行完成,强调学生实验过程的“自主性”,这种面向任务的教学方法给予学生最大的发挥空间,培养了学生分析问题与解决问题的能力。

《.NET框架设计与应用》课程教学方法的改革实践


( ) 一 4学时一课 制
结合《 N T框架设计与应用》 .E 课程教学实践, 重 着 探 讨 了4学 时 一课 制 、 做 中教 、 中学” “ 做 等教 学方
式方法。
为 了采用 “ 中教 , 中学 ” 教学 方 法 , 做 做 的 以利 于培养 学生 的职业 技 能与 能力 , 打破 高等 教育传 统
N T框架设 计 与应 用 课 程 ( 于 C 语 言 ) E 基 门 主要 专业 课 。该 课 . e方 一
程 的主要 目标 是通 过 对. E N T框 架 系统 的学 习 , 使 学生 明确 C 言 的运行 机制 , 惯 强化 C 语 言编 程 , # 掌 握 . e 开 发 的相关 技术 , Nt 特别 是 A P N T技术 , S. E 为 更好 的开发 . e 程 序奠 定 良好 的基 础 。因此 , Nt 该课
照模板写测试计划 , 设计测试用例, 编写单元测试代
码等 , 打破 了课 程之 间的界 限 , 这样 有利 于知识 的综 合应用 和职 业能力 的形成 。
( ) 三 培养 自学能 力 , 独立 “ 事” 做 “ 事 ” 能 力 , 可 以 理 解 为 解 决 问题 的能 做 的 也 力 。从 编程 的过 程看 , 于一种脑 力创造 活动 , 属 在项
题 的恐惧 心理 。恐惧 没 有 了 , 生 在 问题 面前就 不 学 会知难 而退 , 就会 主动想办 法解决 问题 。
2 通过 网络寻找答 案 。常听有些软 件从业人 员 .
作者简介: 付浩海( 92 ) 男( , 18一 , 汉) 山东临沂 , 在读硕士
主 要 研 究软 件 设 计与 开 发 。

了保 证项 目开 发周 期 的完 整性 , 正 做到模 拟 企业 真 的项 目开发 , 老师扮 演 “ 目经理 ” 学生作 “ 一是 项 , 程 序员 ” 老师 带领 学 生熟 悉 详 细 的 需求 分 析 和设 计 ,
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于软件框架的软件设计实践教学方法研究
摘要:软件设计是本科阶段软件工程课程教学的重难点内容,目前在教学实
践中,因缺乏软件设计相关教学资源的支持,学生难以在有限教学课时内理解抽
象的理论并将其运用到软件设计实践中。文章提出一种软件框架AF4JAVA,在
此基础上定义软件设计实践教学过程,形成一种软件设计实践教学方法。

关键词:软件工程;软件设计;软件框架;实践教学
0、引言
软件设计是软件需求分析与实现之间的沟通桥梁,是软件质量形成的重要阶
段,在软件开发中具有重要作用。因此,在本科阶段软件工程课程教学中,软件
设计被作为重点内容进行讲授。然而,软件设计既需要理解模块化、信息隐蔽和
功能独立等抽象概念,又要把握高内聚、低耦合等设计原则,同时还要了解已有
的软件体系结构风格、设计模式和软件框架等与工程实践密切相关的设计知识。
因而,软件设计一直被认为是软件工程课程教学难点中的难点。由于缺乏与软件
设计相关的教学资源,学生往往难以在有限教学课时内理解这些抽象的概念、原
则和方法并将其应用于实践,影响了软件工程课程的教学效果。

近几年在软件工程教学研究工作中,国内外高校主要通过引入CDIOm思想
改进传统的软件工程课程教学,特别强调以项目驱动的方式培养和提高学生的软
件开发的实践能力。这些研究都针对软件工程教学改革进行了有益的探索,但仍
然缺乏有效的教学资源来帮助学生理解抽象的软件设计理论知识,并切实培养和
提高他们软件设计的实践能力。

1、软件框架AF4JAVA简介
软件框架AF4JAVA是重要的教学资源,它帮助学生理解抽象的软件设计理
论知识,同时也为他们运用这些知识进行软件设计实践起到指导作用。通过对
Struts、Spring和Hibernate等JAVA开源框架进行集成、封装和抽象,构建出
AF4JAVA框架。AF4JAVA该框架中设计并实现了一组实现数据访问、抽象的领
域实体对象等功能软件构件,对学生隐蔽了使用JAVA开源框架的繁琐细节。
AF4JAVA框架本身不仅可以帮助学生更好地理解软件体系结构风格、设计模型
和软件框架等知识,而且还能使学生利用它提供的可重用构件,高效地进行JAVA
Web应用软件的设计。

AF4JAVA框架被分为用户界面层(UIlayer),领域层(Domain layer)和数
据访问层(Data Access layer)三层,如图1所示。用户界面层用于实现图形用
户接口GUI,提供用户与应用程序之间的交互。领域层封装了业务逻辑和业务实
体,并向uI层提供业务功能接口。数据访问层则封装了对数据库的访问功能,
为领域层提供数据访问接口。
2.1 数据访问层
数据访问层由IDataContext、DataConteXt、Configure和Mappingfile 4个构
件组成。图2所示为软件框架AF4JAVA中数据访问层的示意图。其中IDataContext
接口定义了对象的增删改查、事务管理等操作。DataContext类通过使用Hibernate
框架中的构件,实现IDataContext接口。Configure中包含数据库连接的配置文
件。Mappingfile是用于定义对象一关系映射的文件。DataContext的实例根据数
据库连接配置和对象一关系映射关系,完成对数据库的访问操作。

2.2 领域层
领域层中有IService、Service和Entity 3个构件,如图3所示。其中IService
中定义了一组接口ISubsystem_1,ISubsytem 2,……,ISubsystem_N,用于封装
子系统功能,并为用户界面层提供业务服务。Service中包含了一组业务类
Subsystem 1,Subsystem 2,……,Subsystem_N,用于描述IService中定义的子
系统功能接口,这些业务类可以通过访问层中的IDataContext接口数据实现对数
据的访问。Entity中定义了实体对象及其之间的关系。Entity又由Entityobject、
ErrInf0和业务实体类构成,如图4所示。其中EntiyObject抽象类声明了用于数
据校验的抽象方法valid,Errlnfo类封装了错误字段和错误信息,BusinessEntity 1,
BusinessEntity 2,……,BusinessEntity N是一组业务实体类,用于封装业务服务
过程中需要处理的数据,通过继承EntityOb~iect类实现数据校验的抽象方法。

2.3 用户界面层
UI层包括View、ViewModel和ViewController构件,如图5所示。其中View
构件用于定义一组JSP页面WebPage 1,WebPage2,……,WebPage N。ViewModel
为渲染JSP页面提供数据或者保存从JSP页面获取的数据。ViewControUer中定
义了一组JSP页面请求处理的动作Action 1,Action 2,……,Action N等。这
些动作通过调用领域层中的业务服务接口完成具体的业务处理过程。

3、基于AF4JAVA框架的软件设计实践教学过程
基于AF4JAVA框架开展软件工程实践教学的总体目标是:首先通过对
AF4JAVA框架的讲解,使学生能理解抽象的软件设计理论知识,了解如何使用
该框架进行设计工作。然后让学生通过模拟真实开发场景,在AF4JAVA框架和
与之相关的软件设计相关文档模板等教学资源的支持下,完成对给定的实践项目
的软件设计方案,以达到培养和提高学生软件设计的实践能力。

基于AF4JAVA框架的软件工程实践教学过程可分为初始阶段、计划阶段、
实施阶段和评审阶段4个阶段。

1)初始阶段。
该阶段主要让学生学习AF4JAVA框架,并明确软件设计相关文档的书写要
求。首先,教师在课堂教学中通过“用户在线注册”的简单例子剖析基于AF4JAVA
框架的软件设计过程,使学生了解该框架的特点、内容和用法。然后,将学生分
成人数为4~5人的小组,并在组内讨论构建AF4JAVA框架中使用的软件体系结
构风格、设计模式,以及遵循的设计原则等软件设计理论知识。进一步,讲解基
于AF4JAVA框架的UML设计模型、设计计划书和设计规则约说明书等软件设
计相关文档模板。最后,选定一个规模合适的实践项目,给出其需求规格说明书,
并要求学生分组讨论该项目需求。2)计划阶段。

该阶段主要是各个小组按照基于AF4JAVA框架的项目设计的工作计划书模
板,制订实践项目的设计计划书。制订计划书过程主要步骤为:①按照项目需求
规格说明书,将待开发软件系统划分成若干子系统,确定这些子系统中用例的优
先级,并进行排序。②将每个子系统的设计任务进行分割,并将这些分割后的任
务分配给小组成员,设定完成期限,估算完成每个子系统设计任务需要迭代的次
数,据此估算完成每个子系统设计需要的时间。③制订小组讨论会的计划,要求
在每次迭代完成时进行必要的组内评审和回顾,保证设计的质量。

3)实施阶段。
该阶段中项目小组按照项目设计计划书开展工作,建议采用迭代增量式的软
件设计过程,如图6所示。下面对该过程中的每个步骤进行介绍。

步骤1(静态结构的设计):按照计划书中任务分割和分配情况,利用基于
AF4JAVA框架的UML设计模型中预定义的类和接口,小组成员使用UML类图
说明某一子系统的用户界面层、领域层设计和数据层中包含的类,以及3个层次
间的接口设计。

步骤2(动态行为的设计):小组成员使用UML活动图、顺序图说明该子系
统各层次内部、层次之间的交互以及外部与子系统之间的交互。

步骤3(设计规约的书写):根据步骤l和步骤2得到的设计模型,按照
AF4JAVA框架的设计规约说明书模板,书写该待建子系统的设计规约说明。

步骤4(组内评审):小组成员通过讨论会评审该次迭代的设计结果。评审
的结果决定小组是否调整后续的迭代过程。同时在讨论会上也要回顾此次迭代过
程中好的和不好的做法,帮助提高后续设计工作的效率。

重复步骤1~步骤4,直至完成整个项目的设计方案。
4)评审阶段。
最后,以项目答辩的形式,各组汇报自己的设计工作完成情况。答辩时,必
须提交项目设计的工作计划书、设计说明文档和答辩演示文稿。根据各组完成设
计工作的表现,教师进行讲评和最后总结。
4、结语
软件框架AF4JAVA为学生提供了一种直观的、有效的软件设计的教学资源。
实践证明,基于AF4JAVA框架的软件设计实践教学过程,帮助了学生理解软件
设计的抽象概念,同时也使学生能更好地进行软件设计实践,进而改善软件工程
实践教学的效果。下一步,我们将继续完善该框架的内容,优化基于该框架的软
件设计实践教学过程。

相关文档
最新文档