面向对象方法在软件项目开发中的主要应用技术,但是不包括面向对象的程序设计语言,如Java、C++、C#等。《面向对象方法工程实训教材》的主要内容有:面向对象分析与设计,其中重点介绍采用统一建模语言UML建立软件项目的静态模型和动态模型;面向对象编程的开发工具;面向对象软件测试等。
《面向对象方法工程实训教材》适合作为高校软件工程及相关专业面向对象方法课程的工程实训教科书,也可为试图了解和掌握面向对象方法的学生提供参考。
物以类聚,人以群分。尽管我们所面对的世界千变万化,五彩缤纷,但是每一种事物都因为具有特性而得以被感知、认识和逐步掌握。因为事物具有不同的属性,所以被区分和归类,事物的属性成为我们认识事物的基础。面向对象方法就是建立在分类理论的基础上的。
从软件工程的角度看,面向对象方法试图实现从领域问题空间到解决方案空间的同构映射,用通俗的语言讲,就是找到软件系统的用户和系统的开发者具有的共同语言。采用这种共同语言建立的领域问题模型可以更加清晰地表达用户的需求,进而可以转化为系统的功能模型和结构模型,从而为后面的编程、测试和维护铺平道路。
从学生的角度看,学习一门程序设计语言不是问题,挑战在于如何运用面向对象方法对一个原本陌生或者是相对熟悉的领域进行分析,建立软件系统的模型。而且,伴随经济全球化而来的企业竞争和行业竞争日益激烈,企业要做到“随需应变,按需服务”,必须依靠软件技术。因此,熟练掌握面向对象方法和技能就显得越发重要了。
本书不同于市面上已有的面向对象理论书籍,它的侧重点是面向对象方法的实际应用和训练,即通过一系列的工程实训,引导学生将面向对象方法的理论用于具体的领域问题分析,从而掌握这一方法。我们的具体做法是,以大作业的形式布置任务,学生可以自行编组,自行选择感兴趣的应用领域,然后在教师的弓I导下,采用书中的方法一步一步向前走,在课程结束前轮流上台讲解,接受老师和同学的质疑,进行辩论和交流,然后进一步完善原有的工作。整个过程训练了学生的选题、收集信息、整理报告、协作与交流等多种能力,培养了严谨和遵循软件工程规范的习惯。
前言
实训一 确定类和对象
实训二 确定类的属性和方法
实训三 确定类和对象联结
实训四 理解用例
实训五 UML、Rose与用例图
实训六 使用Rose2003画活动图
实训七 使用Rose2003画序列图和协作图
实训八 使用Rose2003画类图
实训九 使用Rose2003画状态图
实训十 使用Rose2003画组件图
实训十一 使用Rose2003画布局图
实训十二 面向对象编程的开发工具
实训十三 理解面向对象软件测试(一)
实训十四 理解面向对象软件测试(二)
实训十五 面向对象软件测试工具(一)
实训十六 面向对象软件测试工具(二)
参考文献
(2)动词词组策略
类似上面策略,只不过是找动词。上一种策略依据“对象是什么?”,而这个策略依据“对象干什么?”如打印、计算、显示、支付现金等。
(3)联合策略
寻找下列因素:
实在的物体,如车辆、家具、显示器、发票、销售凭证等;人或组织执行的角色,如学生、教师、行政管理人员、部门等;事件/交互,在特定时间发生的事件,如选课、排课、调课、注册、请假等;具有表格的说明,如调课申请单、教师评价表、成绩分析报告等。
对每一个对象要考虑:是否需要保存,是否需要方法,属性是否更多,是否有同类对象,避免将派生结果作为对象。
实例教学信息管理系统的面向对象分析与设计
确定对象
采用头脑风暴法先罗列出所有选择,然后进行筛选。结果如下:
(1)教师(专任教师、外聘教师)
(2)学生(专科生、本科生、研究生)
(3)管理人员(班主任、辅导员、财务人员、教务人员、行政人员等)
(4)教材(指定教材、自选教材、自编教材等)
(5)教学文件(计划、大纲、教学进度表、课程表、教案、成绩单、成绩分析报告等)
(6)教学场地(教室、实验室、图书馆、运动场等)
(7)教学设备(计算机、投影仪、实验仪器等)
(8)课程(通识课、基础课、专业课、选修课、讲座等)
(9)教学质量(学生到课率、考核通过率、教学语言、教师板书、教学态度、授课风格、实验通过率等)
(10)教学方法(多媒体教学、远程教学、案例教学、场景教学等)