首页 > 范文大全 > 正文

高职软件技术专业学生的面向对象分析\设计和编程能力培养的研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇高职软件技术专业学生的面向对象分析\设计和编程能力培养的研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要 本研究通过调研面向对象的软件开发流程和软件工程师岗位要求,重构高职软件技术专业的面向对象课程,提出针对性的面向对象能力培养方案。

关键词 软件技术专业 OOA OOD OOP 能力培养模型

中图分类号:G712文献标识码:A

Object-oriented Analysis, Research on Design and Programming

Skills of Vocational Software Technology Professional Students

FENG Xiangke, DENG Ying, PENG Yong

(Hu'nan Railway Professional Technology College, Zhuzhou, Hu'nan 412001)

AbstractThe study by researching object-oriented software development processes and software engineer job, vocational reconstruction of object-oriented software technology, professional courses, propose targeted capacity-building object-oriented program.

Key wordssoftware technology professional; OOA; OOD; OOP; capacity-building model

面向对象语言入门不易、精通更难,成为不少高职软件技术专业学生在学习软件开发技术时的难题。如不解决学生遇到的面向对象分析、设计和编程的问题,将严重影响其学习软件开发技术的积极性。目前,基于面向对象的分析、设计、编程和建模技术已成为主流开发技术。本文通过先调研面向对象的软件开发流程和软件工程师岗位要求,进行针对性的面向对象分析、设计和编程能力的培养,并据此提炼通用的提高软件技术专业学生面向对象分析、设计和编程的能力,使其养成良好的面向对象思维,为学习后续软件开发技术奠定基础。为叙述方便,在以下描述中分别用OOA、OOD和OOP表示面向对象分析、面向对象设计和面向对象编程。

1 专业岗位调查分析

通过对与OOA、OOD、OOP有关的软件开发岗的调研、论证,确定面向对象授课内容。调查分析分两阶段:首先调查面向对象的软件开发流程,然后据高职软件技术专业学生的就业岗位群特点,重点调查软件工程师岗对面向对象能力的要求。

基于面向对象的软件开发流程如图1。系统分析师/领域专家据客户需求进行面向对象分析,形成领域模型,然后提交给系统架构师;系统架构师在OOA的基础上进行面向对象设计,形成一系列的软件设计文档,这些软件设计文档是软件工程师进行面向对象编程的重要依据;软件工程师进行面向对象编程实现并经测试后,向客户交付项目。

图1基于面向对象的软件开发流程(简化)

(1)Java软件工程师面向对象能力要求:

任职资格:精通J2EE架构技术,熟练掌握主流技术框架Struts等;熟练掌握Oracle等数据库的分析和设计;熟练掌握WebLogic等应用中间件的安装、部署和配置;熟练掌握UML和面向对象建模和设计,掌握面向对象的开发方法。

岗位职责:应用系统的分析/设计;架构设计、技术支持及软件开发指导;软件开发。

(2)C#软件工程师面向对象能力要求:

任职资格:精通C#编程语言,熟练掌握线程、网络编程、数据库编程;精通SQL语言,熟练使用Oracle或其他大型数据库系统;熟悉WinForm和编程;熟练掌握面向对象编程、熟悉设计模式。

岗位职责:负责分析需求、软件设计;负责公司 Web 项目程序开发。

2 面向对象内容重构

明确OOA、OOD、OOP的教学内容和相互关系,对涉及面向对象内容的课程进行重构。通过OOA分析,建立概念模型,其构造和评审的顺序有五个层次:类和对象层,属性层,服务层,结构层,主题层。通过重构,以图书管理系统项目为载体,为OOA各分析层次设计合适案例,如下所示:

(1)类和对象层(标识对象和类):图书、读者、管理人员。

(2)属性层(对象所保存的信息及存在哪些特殊的限制):图书 = ISBN + 书名 + 作者 + 单位 + 出版社;读者 = 读者编号 + 姓名 + 性别 + 部门名称 + 读者类别;管理人员 = 员工编号 + 姓名 + 性别 + 密码。

(3)服务层(对象收到消息后执行的操作):读者:借阅图书、归还图书、交纳罚款;管理人员:管理图书、管理读者。

(4)结构层(一般与特殊,整体与部分):读者学生读者/教师读者/教辅读者;工作人员借阅操作员/档案管理员/系统管理员;图书图书基本信息 + 出版社信息;借阅信息读者 + 图书。

(5)主题层(对模型进行划分,给出模型的整体框架,划分出层次结构):数据访问主题层(通用数据库访问接口、SQL Server数据库访问);借阅管理主题层(图书借阅管理);信息维护主题层(图书信息管理、读者信息管理、管理人员管理);系统操作主题层(界面设置、日志管理、数据备份与恢复)。

OOD阶段利用OOA阶段中提到的五个层次,建立系统的四个组成部分:问题论域、用户界面、任务管理和数据管理。重构后OOD各个组成部分的相应案例设计如下所示:

(1)问题论域(主要根据需求的变化,对面向对象的分析阶段产生的模型中的类和对象,结构,属性,操作进行组合和分解,根据面向对象的设计原则,增加必要的类,属性和关系):图书分解:图书信息 + 中图分类信息 + 条形码信息 + 出版社信息;图书信息 = ISBN + 书名 + 单价 + 印刷者 + 开本 + 印张 + 字数 + 印数 + 出版日期 + 印刷日期 + 作者 + 译者 + 描述;读者分解:读者信息 + 读者类别信息 + 部门信息;读者信息 = 借书证号 + 姓名 + 性别 + 办证日期 + 有效截止日期 + 联系电话 + 电子邮箱;读者类别信息 = 读者类别编号 + 读者类别名称 + 最多借阅数量 + 最长借阅期限;部门信息 = 部门编号 + 部门名称 + 负责人 + 联系电话。

(2)用户界面:把交互的细节加入到用户界面设计。

(3)任务管理(当系统中有许多并发行为时,需要依照各个行为的协调和通信关系,划分各种任务):借阅图书任务:(读者)提供借书证(借阅操作员)核查借书证(借阅操作员)核查图书信息(借阅操作员)记录借阅信息(读者)领到图书;归还图书任务:(读者)提供图书(借阅操作员)核查借书证(借阅操作员)核查图书信息(借阅操作员)记录归还信息。

(4)数据管理(提供存储和检索对象的基本结构,包括对永久性数据的访问和管理):系统数据库(备份镜像表);图书数据库(数据表、存储过程、索引、视图等)。

OOP是对OOD的具体化实现,它最重要的特征是面向对象理论的广泛应用,它的成果是可运行的实际系统。重构后OOP各个知识点的相应案例设计如下所示:

(1)封装性。

字段、方法与属性:[读者类]字段:读者编号、姓名、性别;属性:姓名;方法:借阅图书

访问区分符:[读者类]protected字段;public属性和方法

名称空间:ET(教师读者类、学生读者类)

(2)继承性。

类继承:[抽象]读者类教师读者类/学生读者类继承

接口继承:读者类实现借阅操作接口

(3)多态性。

重载和覆盖:借阅方法(读者类学生读者类)

(4)其他。

静态技术:静态字段:图书数量

封装类:[封装类]学生读者类

3 提炼能力培养模型

据对面向对象内容进行重构,重点提炼软件工程师岗位职责中要求的职业技能,并将其分散到面向对象相关课程中,按由浅入深、由具体到抽象的规律,分阶段教学。重构后软件技术专业主干课程设置如图2。

图2学习面向对象分析、设计和编程的主要课程设置

更重要的是,重构后各课程的重点发生了变化:通过《C#程序设计基础》和《C#高级程序设计》课程使学生熟练掌握OOP技术;继续在《C#高级程序设计》课程中贯彻OOD思想,并辅以《SQL Server数据库原理与应用》课程,使学生基本具备一定的OOD能力;通过《程序设计》和《UML系统建模与设计》高级课程强化学生的OOD能力,并积极向学生灌输OOA意识。重构后各门课程所培养的专业技能与对应岗位任务/层次如下:

(1)C#程序设计基础(56课时)

控制结构(52课时):会进行顺序结构、选择结构和循环结构程序设计。

数组(4课时):会使用数组进行程序设计。

(2)SQL Server数据库原理与应用(70课时)

数据库和数据表(10课时):会管理数据库和数据表。

数据更新;数据查询;索引和视图;存储过程和触发器(60课时):会执行数据更新;会进行数据查询;会管理、使用索引、视图、存储过程和触发器。

(3)C#高级程序设计(56课时)

类、字段、方法和属性(4课时):会定义类;会创建对象;会引用对象的属性和方法。

类、接口和继承(10课时):会有效组织类、接口和枚举,会实现类的继承。

重载和覆盖(8课时):会使用重载实现一组功能相同的同名方法,会在子类中覆盖接口或父类中的方法。

静态技术(4课时):会定义和引用静态字段;会定义和调用静态方法;会定义和引用静态属性;会定义静态类并引用静态成员。

图书管理系统实现(30课时):会使用C#编写组件和控件;会使用访问数据库;会实现图书管理系统的各项功能。

(4)程序设计(70课时)

电子商城分析(2课时):会进行电子商城的需求分析。

电子商城架构设计(160课时):会设计电子商城的系统架构和详细设计。

电子商城实现(52课时):会使用(C#)编程实现电子商城。

(5)UML系统建模与设计(56课时)

用例图(8课时):会识别系统涉众;会绘制用例图。

类图/对象图(8课时):会绘制类图和对象图。

动态图(40课时):会绘制活动图、状态图、(下转第68页)(上接第42页)时序图和协作图。

4 小结

研究所开发的案例采集于图书管理系统项目,通过该项目合理地将图书管理过程中所涉及的知识点分散到各个面向对象内容中,让学生易于理解。

基金课题:湖南省一般资助课题《高职软件技术技术专业教学资源库的研究与实践》(课题号:XJK08BZC028)

湖南铁道职业技术学院精品课程《Oracle数据库管理与应用》(课题批准号:J201001)

参考文献

[1]彭勇,刘志成,翁健红.基于项目的高职软件技术专业人才培养方案与课程标准[M].高等教育出版社,2008.11.

[2]吴建,郑潮,汪杰.UML基础与Rose建模案例[M].人民邮电出版社,2007.4.

[3][美]Jeffery Richter著《框架设计(第2版)CLR Via C#[M].周靖,张杰良,译.清华大学出版社,2006.11.