2010“Sparx Systems杯”大学生UML建模创造力大赛即将举办,本文有三大部分内容:
1.大赛介绍。(此部分内容摘自大赛官方网站)
2.试题分析。
3.UML知识简介。
作者
张传波
本次大赛评委之一
中国UML认证专家委员会专家
软件知识大学
大赛介绍
一、大赛主旨
首届“Sparx Systems杯”全国大学生UML建模创造力大赛是中国软件行业协会过程改进分会和日本UML建模技术推进协会(UMTP)主办、中国UMTP(UML Modeling Technology Professional)认证中心承办的公益性质的全国性科技竞赛,其主旨是:正确引导我国在校的青年学生积极参加科技竞技活动,不断培养创新精神和团队意识,切实增强理论联系实际的能力,使广大学生认识到学习和掌握UML建模技能的重要性,充分发挥学生使用UML建模的创造力,为广大学生提供一个提高自我、展示才华的舞台, 帮助大学生提升职业能力、促进大学生就业。
澳大利亚UML建模工具厂商Sparx Systems公司为本次大赛提供了经费支持,并为大赛提供统一的UML建模工具。
二、大赛组织
为保障大赛顺利进展,大赛成立组织委员会和专家评审委员会。组织委员会负责大赛的组织、宣传和协调工作,专家评审委员会全面负责大赛的命题和评审工作。
软件开发领域影响最大的世界级权威之一、UML创建者之一Ivar Jacobson 担任大赛组委会荣誉主席;我国软件工程资深专家、中软协过程改进分会常务副会长、清华大学郑人杰教授和日本UML建模推进协会上野南海雄会长担任大赛组委会主席。大赛评审专家委员会由来自著名企业的资深UML建模专家、高校教师代表共同组成,中国著名的UML技术专家、UMLChina首席专家潘加宇担任大赛专家评审委员会主席。IBM、微软、阿里巴巴、中软、用友、民航信息、浪潮通软、NEC中国、南京富士通南大、博彦科技、大连华信等约30家全国著名软件企业将作为大赛的支持单位,并选派资深专家参与大赛评审专家委员会、为大赛获奖选手提供面试机会。全球最大中文IT技术社区CSDN和《程序员杂志》作为大赛的协办媒体,将对大赛进行全程关注和报道。
三、参赛对象
大学本科生、研究生及高职高专学生。
专业不限,建议学习过UML相关课程(如面向对象分析与设计)。
四、赛制赛程
1、大赛报名:2010年9月20日-2010年10月30日
我国大陆和港台澳地区的在校青年学生自由组队(每队由1-3人组成),登录大赛官方网站在线报名。
缴纳报名费:请参赛团队在线报名后,需要按照指定汇款信息及时缴纳报名费,组委会收到报名费后才会审批报名申请。如果因为没有及时缴纳报名费而影响到作品提交的权限,责任由参赛团队自行承担。
2、作品提交:2010年9月30日-2010年11月15日
各参赛团队在2010年11月15日以前提交作品终稿,可选择大赛网站在线提交和邮件提交两种方式,所有提交物打包到一个zip文件中提交。包括:
(1) 一个Enterprise Architect的模型文件(eap文件)。模型的具体要求参见“试题和评审”部分。
(2) 若干调研证明资料、例如:如果提交的项目为“新一代食堂就餐系统——针对××学校食堂就餐流程的改进”。您可以给出食堂里就餐场景的若干照片,或者访谈的录音片段...等等来证明。
3、初评:2010年11月16日-2010年11月26日
大赛评委将对提交的作品进行初评,筛选出约50件作品,于2010年11月27日-2010年12月3日期间在大赛官方网站进行展示。
4、复评:2010年12月4日-2010年12月13日
参考大众的评论和投票情况,大赛评委将对参与展示的作品进行复评,甄选出约15件优秀作品进入决赛。
5、决赛:2010年12月20日-2010年12月21日
进入决赛的参赛团队,将在北京进行现场答辩,大赛评委评选出最终获奖作品,并举行颁奖仪式。决赛期间将在NEC中国参加UMTP L1级别的认证考试。具体地点将另行通知,请注意关注大赛官方网站。
五、试题和评审
(一)试题和需要完成的工作内容
因本次大赛是“创造力”大赛,所以不限定主题,由参赛者任选自己学习、工作和生活中某个领域存在的真实问题来建模。吃饭、上课、复习、考试、锻炼、KTV唱歌....任何领域都可以。为保证系统有一定的复杂度,要求分析模型中核心领域类图(即实体类图)中类的个数在5个以上。要求参赛者完成以下建模工作:
A. 业务建模。包括业务顺序图(或业务活动图)。描述现实问题以及即将进行的改进。
B. 需求。包括待开发软件系统的用例图、关键系统用例的用例描述。描述用来改进问题的软件系统的需求。
C. 分析。包括待开发软件系统内核心领域的类图、关键用例的分析顺序图、重点类的状态图。只涉及核心领域的知识,不涉及具体实现平台。
D. 设计。包括关键用例的设计顺序图、构件图、部署图。为分析模型选择合适的实现平台,描述出各个层之间交互的架构。
以上内容全部放进一个Enterprise Architect的模型文件(eap文件)
(二)建模工具和模板
本次大赛统一使用建模工具Enterprise Architect(简称EA),建模工具以及工具使用说明、建议使用的EA模板和EA模型示例请到大赛官方网站下载。
(三)评审
大赛作品的评审由大赛专家委员会完成,注重作品内容的真实性、完整性、UML用法的准确性、逻辑严密性、实用性、价值、答辩表现和网友投票与评论等。
六、奖励方案
本次大赛奖励可分为四部分:
1、奖项设置
一等奖:1名,奖金1万元,并颁发证书
二等奖:2名,奖金5000元,并颁发证书
三等奖:3名,奖金3000元,并颁发证书
优胜奖:9名,奖金1000元,并颁发证书
入围奖:若干,价值约100元的纪念品,并颁发证书
2、免费参加一次职业资格认定考试(价值300元)
中国UMTP认证中心将为进入决赛的团队提供一次免费参加UMTP Level 1级别资格认定考试的机会。考试通过者,将获得由中国软件行业协会和日本UML建模技术推进协会(UMTP)联合盖章颁发的证书。该证书由中日软件行业权威机构联合认定、中日互认。
3、名企推荐
进入决赛选手的人才库,将直接推荐给支持企业,可直接获得面试机会。
4、报销决赛期间往返路费和住宿费
进入决赛的参赛团队,大赛组委会负责报销往返北京的火车票(硬座)、免费安排2天住宿。
七、参赛费用
报名参加建模大赛的团队,需要缴纳报名费,每队150元。可以学校统一收取后向组委会缴纳,也可由参赛团队直接向组委会缴纳。
试题分析
题目是开放式的,好处就是各位同学可以选取自己最熟悉的内容来开展工作,而缺点就是大家容易抄袭。千万不要有抄袭的行为喔,大赛是有“反抄袭”的措施的,一旦发现抄袭行为,即会马上取消资格。
大赛的奖励虽说丰厚,建议各位同学参赛的目标定为提高自身水平,为将来工作做好准备,奖品只是一种激励,学到技能才是终身受用。
题目要求同学们选取自己熟悉的内容,用UML完成业务建模、需求、分析到设计的工作,基本上除了编码、测试、实施不用做外,一个软件项目的所有工作都要做了。要完成该题目,需要同学们掌握下面的知识和技能:
1.熟悉软件项目由需求到设计的工作内容,最好有整个项目生命周期的实践经验。
2.需掌握UML知识,最好有UML的实践经验。
3.需有团队协作的工作经验。
4.需掌握用UML分析问题的工作技巧。
不少同学没有完整的软件生命周期工作经验,UML也仅停留在理论知识之上,要完成该题目的难度是挺大的。不过题目提交时间为2010年9月30日-2010年11月15日,同学们有足够的时间去学习、实践提高水平,而且其他参赛者的情况和你也是一样的,大家在同一个起跑线上,只要认真努力、采用合适的学习办法,定可以在大赛中取得好成绩。
题目强调实践性和创造力,能否做到活用UML是关键,但同学们可学习的实用UML资料并不多,可多参考本网站的相关知识。
大赛要求使用Enterprise Architect(后面简称EA)来完成作品,EA确实是不错的UML工具,最新版本的EA支持UML最新版本2.3,本网站大部分UML图是用EA绘制的。可惜EA不是免费的,各位同学可下载一个月免费试用,如果EA专门针对本次大赛推出更长免费使用期的版本、及专门针对学生的低价版本就好了。
我个人不太赞同指定UML工具完成作品的,无奈EA是本次大赛的赞助商,故本次大赛不太可能允许大家使用其他UML工具。
评审由专家负责,我也可能参与其中。其实题目并没有标准答案,本次大赛标题为“UML建模创造力”,“创造力”是评审时的关注点。各位同学需要对选定的题目进行深入系统的分析,列出自己的独特见解,能用UML发掘和表达出不用UML难以做到的内容,前后逻辑清晰,条理分明,这将是你们的制胜关键。
UML知识简介
UML这三个字母的全称乃Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言。你可能会说,语什么言,一堆图形,还说是语言?此言差矣,咱们的文字还不是从图形(象形文字)开始的嘛,语言是包括文字和图形的。其实有很多内容文字是无法表达的,你见过建筑设计图纸吗?里面还不是很多图形,光用文字能表达清楚建筑设计吗?在建筑界,有一套标准来描述设计,同样道理,在软件开发界,我们也需要一套标准来帮助我们做好软件开发的工作。UML就是其中的一种标准,注意这可不是唯一标准,只是UML是大家比较推崇的一种标准而已,说不定以后有一个更好的标准可能会取代她呢!UML并不是官方的标准,也没有法律规定你在软件开发中一定要用UML,不能用其它的,我们的目标就是善用包括UML在内的各种标准,来提高我们软件开发的水平。
UML由1.0版发展到1.1、1.2、...,到现在的2.0、2.x,当前最新版本为2.3。网络上、书籍、还有各种UML工具软件,各自基于的UML版本可能会不一样,大家在学习过程中可能会有一些困惑,不过没关系,其实我们经常用到的那部分UML,无论是那个版本,变化不是很大。
UML有很多种图,大体可以分为两类:
1.结构型的图(Structure Diagram)
类图(Class Diagram)
对象图(Object Diagram)
组件图(Component Diagram)
部署图(Deployment Diagram)
包图(Package Diagram)
2.行为型的图(Behavior Diagram)
活动图(Activity Diagram)
用例图(Use Case Diagram)
状态机图(State Machine Diagram)
序列图(Sequence Diagram)
协作图(Communication Diagram)
时序图(Timing Diagram)
注:UML图的中文名字,因为翻译的原因可能会有所不一样,大家要留意看英文名字噢!
在我们软件设计时,我们需要考虑需要那些类、哪些组件、系统最后怎样部署等,这些内容可以看成是“静态”的,我们可以利用UML的结构型的图来设计。
同时,我们也需要考虑软件如何和用户交互,类、组件、模块之间如何联系等“动态”内容,我们可以利用行为型的图来设计。
当然所谓“静态”和“动态”不是绝对的,对UML还不是很熟悉的朋友,先大致这样了解便可。
UML有这样的一些常见认识误区:
1)UML只适合用来做软件设计?
UML可以用来做软件设计,这是大家的普遍认识,实际上不仅如此,UML还可以用来做需求开发(或者叫需求分析)。不仅是用例图可以用来描述需求,类图、活动图、序列图、状态机图等都可以用来深入发掘和整理需求。
2)UML的语法很多很繁杂?
UML的全部语法确实很多很繁杂,但实际上经常用到的内容不多,也很容易记忆。
3)掌握了UML语法,就是OO高手了?
要成为OO高手哪有这么容易啊!OO理论家就很多,真正实战高手其实没几个。俺未懂UML之前,还自认为自己OO水平还不错,学习UML后发现自己是如何之渺小。通过实际工作不断地应用UML,不断地思考总结,才能不断地提高自己的OO水平。
如果不懂UML,有可能是OO高手吗?我一直也有思考这个问题,我觉得不懂UML的不太可能是OO高手,因为确实只有用好UML(特别是类图)才能真正体会到什么是OO!
4)光用UML就足够了吗?
UML可以表达软件设计的所有情况吗?用了UML就不需要用文字来表达设计吗?
非也非也!UML在表达界面设计、用户体验设计、数据库设计等方面,能力还是很弱的,不要只用UML,应该善用一切可以利用的东西,包括文字。
UMLonline全程支持本次大赛
我们已经在软件知识大学开辟了本次大赛的专门版块,我们将会:
1.及时发布大赛的最新消息。
2.解答同学们参赛及UML学习的问题。
3.为同学们提供系统的、通俗易懂的、实战性的UML知识及实际工作技巧。
点击这里,进入大赛专区!