2009年软件设计大赛命题
第一部分 参赛题目
一.手机游戏
随着手机的广泛普及和手机技术含量的不断升级,随着3G时代的到来,种种迹象都表明,手机游戏将成为计算机和电子时代的下一个消费和发展热点。本届手机游戏是在上届成功举办的基础上的发展和延伸,其目标是:激励大学生的自主创新意识;鼓励大学生积极学习掌握最先进的软件设计技术,通过实践培养和提高综合素质;通过我们的共同努力,创建和发展大学生手机游戏的开发和运作平台。
以下功能中,1 – 4 项是必须包含的基本功能,其他是可选功能,用做评比参考。
1. 提供一个适合青少年娱乐或竞技比赛的手机智力、技能或游戏软件
软件包括一个娱乐或竞技的主题,例如:博弈、迷宫、演奏、运动、益智等,任何具有良好娱乐效果的在手机上运行的游戏。
软件包含一个基本游戏规则,用户通过键盘或鼠标可以控制游戏的进行。在特定时间范围内,可以根据规则判定游戏的进展效果,并通过积分、过关、输赢形式表现出来,或通过其他可以判定的评价形式。
所提供的软件至少可在一款手机上下载并运行。
所提供的游戏一般以单用户为主,对于多用户游戏将给以加分。
2. 图形动画显示
软件需要有至少一个图形显示窗口,用来直观地显示游戏的操控和进展情况。
3. 文字或图形提示
游戏进展过程中,可以通过文字或图形形式提示用户所发生的一切情况,包括操作错误和效果等,由设计者确定。要求用户可以控制文字或图形提示的进行或效果。
4. 参赛标识
要求在作品的场景中,必须动态地显示文字“第六届齐鲁软件大赛参赛作品”和设计组名称。这是一个强制性要求。
5. 语音提示
游戏进展过程中,可以通过语音形式提示用户所发生的一切情况,包括操作错误和效果、在线帮助等,由设计者确定。要求用户可以控制语音提示的进行或效果。
6. 音乐伴奏
对于非音乐演奏游戏,要求软件能够辅助播放游戏的背景音乐,并要求用户可以控制音乐的播放效果。
7. 图形显示选择
用户可以更换背景图或从清单中选择喜好的游戏显示图。
8. 音乐伴奏设置
用户可以更换伴奏音乐从清单中选择喜好的伴奏音乐。
9. 其他附加功能
除了以上列举的功能,程序还可以包含与游戏有关的其他功能,例如中断并保存游戏状态,下次启动时继续的功能,由设计者自定。
二.虚拟漫游
(一)系统基本功能
开发一款构建3D场景的软件,以建设数字家园为主题,自行规划自己的虚拟数字家园,数字家园可以以真实场景为蓝本,也可以是纯粹的虚幻场景。要求软件能使玩家在空白的三维空间中交互创建自己的三维场景,最终能使玩家根据自己的设计、规划,创建自己的三维数字家园,因此,在软件要求能完成以下基础功能:
1、 创建三维模型库:预先建立创建目标场景所需要的基本几何模型,如立方体、圆柱体等,以及场景常用的、较复杂的三维模型,例如:桌面、桌腿、房顶、房门等。
2、 交互场景构造功能:软件使用者能根据提供的模型库元素在空白的三维空间堆建复杂的场景,即3D数字家园。用户可以根据提供的基本几何模型,用鼠标和键盘交互选择基本模型在三维空间进行任意变化、组合,组合成自己喜欢的现实中的事物,如:桌子、房屋等,进而构建成复杂的场景。场景中必须体现动态和静态两种物体。
3、 情感交流功能:用户可与自己已建好的数字家园实现交互操作并产生情感交流,如清除落叶、浇灌花草、饲养动物等。
4、 场景漫游功能:玩家能交互控制在你的数字家园室内、室外漫游,领略数字家园的无限风光。
(二)系统提高功能
数据库驱动功能:场景与后台数据库建立联系,实现数据库的数据驱动场景的生成与变化功能;
1、 场景自动变化功能:场景的效果能模拟现实变化,如随时间变化自动产生相应变化(比如一年四季场景的变化-花谢花开,天气变化,黑夜白昼的交替等)。
2、 要求实现艺术性与真实感,实现对虚拟物体的交互贴图、材质选择等功能;
3、 音乐伴奏。软件能够辅助播放游戏的背景音乐,并要求用户可以控制音乐的播放效果。用户可以更换伴奏音乐从清单中选择喜好的伴奏音乐。
4、 程序可以包含其他功能,例如中断并保存当前状态,下次启动时继续的功能,由设计者自定。
5、 数字家园互访功能,玩家可以通过网络邀请对方到自己的数字家园做客,导游、介绍自己的家园;
6、 其他有意义的创意。
三.三维智能虚拟导游员
(一)功能
智能虚拟人是在计算机中建立人的三维几何特征与行为表示,并能与人智能交流,可以广泛应用于咨询、娱乐、教育等领域。为迎接第十届全运会在我省召开,本题目要求开发一款三维智能虚拟导游员用于运动会场馆和赛事的咨询和介绍。系统要求可以载入、驱动并在屏幕上显示一个三维虚拟仿真人,如果该系统放置在体育馆门口,或安装在网络计算机上,真人可以通过语音并配合键盘、触摸屏等交互设备与虚拟导游完成语言交流,交流和咨询的信息在特定位置显示。虚拟导游要尽可能体现真人的特质,如举手投足、表情变化等。
基本功能要求如下:
1、创建并在桌面上显示一个适合计算机用户进行交互的三维仿真虚拟人。
2、语音交互。允许真人与虚拟角色进行语音、文本方式的交流,交流时语音问答的同时要显示问答内容。
3、智能。用户可以用语音和文本提问,虚拟角色可以“听懂”用户的语言,并在此基础上给出相应的语音和文本回答。本次题目围绕全运会可以将问话限定在某一个简单知识领域,如全运会介绍、赛事日程安排、天气预报等。
4、表情和动作。虚拟导游员能根据回答问题的内容作出表情和动作,如摆手、点头、挥手、微笑、愤怒、不高兴等一般人类的表情和动作。
参考基本技术框架示意图
提高功能主要表现在更完美地实现虚拟形象的逼真性、自然的人机交互、虚拟导游的智能性、表情和动作的真实性等方面。比如虚拟导游交流时语音和口型匹配,脸部、头部的动作、手势及身体其他动作等表现,以及虚拟人在说话时的情感表达更逼真地刻画等等,都是提高功能的内容。除此之外,可以创建不止一个虚拟角色,用户可以根据自己的喜好选择形象。也可以根据语言环境适当添加一部分虚拟场景或图片、视频等作为对语言的辅助解释。
四.网上掏宝--网络资源检索
(一)检索背景
目前,网络上存在大量的资源共享服务器。这些服务器一般存储了一定量的资源,并以web服务的方式供用户和其它服务器访问。现存的问题在于不同服务器的资源组织方式往往不同,有的是通过数据库,有的是通过一些描述文件(如XML),而且数据库的种类和结构也有很大的差别,这就导致不同服务器之间资源共享和资源发现都十分困难。因此,用户如果想访问这些资源,就要登陆每一个服务器去检索和下载需要的资源。由于服务器的分布广泛,数量众多,用户显然难以检索到自己需要的资源。而分布式的资源检索策略则可以有效的解决这一问题。该策略的思想是当用户登陆任何一台服务器的时候,这个服务器除了要检索自己本地的资源以外,还可以作为一个客户端,自动地去连接其它服务器,发出检索请求,并将检索的结果进行合并和汇总,返回给用户。这样,用户只需要登陆任意一台服务器,就可以检索到大量所需资源,尽管这些资源来自于不同的服务器,但检索的过程对用户来说是透明的,用户检索和获取这些资源就如同检索和获取所请求的服务器上的资源一样。
(二)功能与设计要求
在网络环境下(也可以是一个局域网),每一台机器是一个Web服务器,指定为TOMCAT服务器。在该服务器的按照一定方式保存了大量资源,这些资源的信息保存在一个test.xml文档中,存放在服务器根目录下。要求参赛者:
(1)设计一种资源检索系统,用户只需要登陆任意一台服务器,就可以检索到该xml所描述的所有资源,并以友好方式呈现,另外需要提供查询花费的时间。
(2)对于其中的特定格式资源,如动画、视频等能够直接播放。
(3)对于word或PPT文档,能够预览其中的部分内容。
(4) test.xml文档的格式如下,//后为注释信息:
五.儿童教育软件
开发一适合学龄前儿童或小学生使用的教育软件,如京剧进校园、地理知识、趣味折纸、英语900句学习软件、自然常识、交通知识等,要注意必须符合这一特定用户的特点,要求:
(1)主题要符合儿童的特点,选择适合儿童的主题,让小朋友们通过你的软件快速掌握一些实用的知识。
(2)内容要密切配合主题,完整、丰富。
(3)形式不限,但一定要注意其趣味性,让孩子在玩中学,学中玩。
(4)要有学习和测试功能、学习进度控制功能,必需有一定的扩充性。
(5)要有交互性,教学录像、动画、幻灯片不得单独作为作品参加比赛。
(6)作品必须有独立的版权,注意作品的原创性,有版权问题的作品将不得参赛。
(7)要进行市场调查,了解市场需求和产品现状,开发符合市场需求的产品,按照商业产品的要求进行研制开发,要有商业品牌、商业包装、安装使用说明书、产品推广网站、版权保护措施(如光盘防复制)等。
建议大家针对某一知识点进行深入的教学研究和开发,不建议做综合类的面广而不深入、不专业的软件。
六.基于Web Service的掌上应用系统
(一)该课题的设计背景
Web Service是部署在Web上的对象、组件,通过Internet上的标准协议XML及HTTP,实现异构平台间的信息集成与互操作。它具有良好的封装性、松散耦合性、协议规范性以及高度可集成能力,是目前流行的实现分布式应用的一种方法。从事涌者角度来看,Web Services就是一个向外界暴露出的能够通过Internet进行调用的远程API或者说应用程序。
我们能够用一般的编程方法通过Internet来调用这些Web Service。这些Service如同本地的一个编程接口,或者说像函数那样被调用。这时,我们编写的应用程序称为客户端,提供Web Service的远程Internet主机称为服务端。当然,我们也可以自己编写Web Service发布出去,供其它应用程序使用。
2、掌上应用系统
随着3G手机的逐步普及,掌上应用受到越来越多的关注。3G技术为手机与Internet的互联提供了理想的技术平台,为进一步丰富手机上的应用提供了基础。除手机外,其他掌上产品,如PocketPC,MP3,MP4等也大大丰富了人们的生活。
这些掌上设备与Internet连接后,需要更加丰富多样的应用软件作为基础。因此,设计掌上应用系统有着广泛的需求和广阔的应用前景。特别是Web Service技术的出现,为掌上设备利用丰富的Internet资源提供了极大的方便。
(二)设计要求
针对某种掌上设备,如智能手机、PocketPC等,设计一套完整的应用软件系统。为便于开发,允许使用掌上设备的模拟器,如Visual Studio中的PPC或SmartPhone,或Java平台上的掌上设备模拟器。具体要求如下:
为便于设计,确定应用范围为信息管理、信息检索、信息合成等领域。
这些设备首先要实现与Internet的连接。
该应用必须是完整的应用系统,即除掌上设备内的软件外,可能还包括Internet上的Service或自己开发的Service。
开发平台仅限于Visual Studio或Java。
有一定的实际应用背景。针对应用背景,进行需求分析。在可能的各种方案中,应论证采用Web Service的必要性。
七.嵌入式实时操作系统(RTOS)设计
本赛题要求完成一个小型微内核嵌入式实时操作系统的设计和实现。 需提交实际可运行代码,并在参考硬件平台上演示功能。软件实现过程应遵循敏捷性方法的指导,注意代码和文档的质量和版本控制,编写测试用例验证软件功能和重构代码。
1. 参考硬件平台为:周立功EasyArm2138。实际上,也可用其他LPC系列CPU和实验板,只要CPU有足够的RAM、Flash存储器和一个串口扩展就可以了。但与LPC2138区别越小越好,最终的验证都统一在LPC2138上进行。
2. 硬件抽象层的接口遵循uc/OS的接口规范。这样现存的大量的uC/OS硬件抽象层可为新操作系统提供服务,减少移植工作量。硬件抽象层可以直接借用uC/OS的代码,但最好自己实现,只是接口兼容。
3. 操作系统的调用采用函数调用方式,不用中断陷入方式;
4. 将各任务栈独立,作为任务的私有存储区;
5. 同时支持任务数不小于255个。空闲任务占用编号0。
6. 同级任务的轮询时间片大小可以调节,单位为10毫秒(称为tick)。
7. 串口接口参数:波特率9600,8位数据,1位停止,无硬件流控制。
8. 任务优先级不小于255级,最高优先级为0,最低优先级为255。空闲任务优先级为255。
9. 操作系统的应用接口的应遵循题目的规范,见后面的描述。
10. 对于代码移植性验证,参赛者可自行选择硬件平台。该硬件平台与LPC2138或ARM之间的区别越大越好。
开发适用于IE,FireFox,Opera,Safari,Chrome等主流浏览器的插件框架,在此框架下实现如下功能之一:
n 在线视频
n 在线音乐
n 在线游戏
n 在线企业应用:例如员工考勤系统等
九.动漫设计竞赛题目
动画短片创作
要求表现某个创意或一段故事,表达思路完整清晰,变现方式不限,可配音及配乐。
1、Flash动画
作品长度:作品时间限制在3—5分钟。每部作品须递交两种格式的文件,即Flash播放格式和avi格式。
2、三维动画
参赛作品写实类、卡通类均可,要突出主题,内容不限。时间长度限制在3—5分钟左右。角色设计要生动可爱,动画中的主角、配角、场景的比例要准确,场景要有一定的气氛来衬托故事内容,角色和场景的材质要真实,动画要流畅,提供avi格式
参赛作品要求:
1、参赛动画作品题材不限,内容积极向上,谢绝暴力、色情等不良内容;不接受临摹作品以及铅笔搞、复印搞。
2、尺寸:
此次参赛作品一律采用尺寸:720*576、祯速率:25/s
十.Windows语音助手
一.赛题目标
利用现有语音引擎或独立底层开发基于语音识别技术的Windows操作助手,助手能够协助用户在任何可以输入文字的地方根据用户语音命令输入文字,也可以帮助用户使用语音进行Windows的常规操作,如启动某某软件,关闭当前窗口,关闭Windows,点击特定按钮或选择指定的菜单项,激活某个正在运行的软件窗口(即使得该软件窗口获得焦点),拷贝屏幕区域,上翻或下翻当前正在浏览的网页或阅读的文章,删除文件,清空文件垃圾桶等。助手在协助用户进行各种操作时要在屏幕上明显体现出该操作是助手帮助完成的,以区别于用户通过鼠标或键盘进行的其他操作。要保证在不需要助手的时候,它会安静的呆在一边,不能影响用户的正常操作。赛题中涉及的主要技术难点有两个,语音识别及屏幕取词。
二.具体要求
分为基本要求和扩展要求,基本要求必须完成,扩展要求难度较大,参赛选手可根据自己的实际情况,发挥想象力和主观能动性,设计、开发出满足实际需求的附加功能。此处所列扩展要求并非必做,只是起一个抛砖引玉的作用。
基本要求:
(1)开发环境不限,采用VC++、VB、Delphi或其他开发环境皆可。
(2)界面要求简介、实用,助手形象要有趣、大方,能够博得用户喜爱。
(3)在需要助手的时候,能够立即响应用户要求,在不需要助手时,助手不能扰乱用户正常操作。
(4)软件初次运行时,要保证助手能够完成所有的Windows操作(很多参赛选手可能会对此基本要求有疑问,助手功能再强,怎么会保证它能完成所有的操作呢?只要规划好助手应该掌握的“基本”操作,就能实现。)
扩展要求(举例):
(1)尽管在软件初次运行时助手就具备了完成所有windows操作的能力,但很多操作可能需要一系列的基本操作来完成,操作比较繁琐,举个例子,比如用户关机需发出“点击开始菜单-》选择关闭计算机菜单项-》点击关闭按钮”的指令,助手应能逐渐的理解一些组合指令,如“关闭计算机”,但组合指令各种各样,针对不同软件存在着大不相同的各种组合指令,不可能全部在程序中实现,所以高级的助手应该具有学习功能,遇到不理解的(组合)指令时,可求助于用户,学会指令要求的操作,以后遇到相同指令时,不能再次误工。
(2)助手可帮助家长进行未成年人用机监督。在用户的操作过程中,将一些关键操作(如上网搜索关键字、玩游戏的起止时间、聊天时出现的不健康内容等)记录下来,根据提前设定的通知方式(如电子邮件)通知家长。
第二部分 参赛作品的提交、评审
一.作品提交
1.每个参赛队的作品必须以光盘形式上交,光盘内需包含以下内容:
在根目录下建立四个文件夹,分别命名为“作品”、“源程序”、“文档”和“演示”,必要时自己根据情况建立二级文件夹并清晰命名。
1)将作品的发布版(.exe文件或安装文件)及数据库备份文件放入“作品”文件夹中;
2)将作品的源程序放入“源程序”文件夹中;
3)将完整的技术文档、管理文档和系统说明文档(必备软件安装和使用说明书)都放到“文档”文件夹中。注意在文件中应逐条详细说明体现作品设计特色的功能;
2、每个队的作品一式三份,即刻录三张光盘上交。光盘上做必要不可擦除的标识以防混乱,如“作品名”、“学校”、“组长姓名”、“小组名称”等;
3、 请将光盘放在档案袋内,袋上注明以下信息:“学校”“作品名称”“小组名称”“组长姓名”“详细联系方式(电话、Email)”等。
二.设计要求
1、提交一份软件设计说明书、一份软件使用说明书、软件源代码和软件安装文件。
2、本软件开发不限制技术,但系统必须具有自主知识产权,一旦发现有抄袭、拷贝等侵权行为,将取消参赛资格;开发过程允许进行代码级复用,但需注明复用代码的功能、用途、来源,并为代码加上必要的说明和注释;
3、非作品核心技术的辅助功能可以使用无产权争议的非商品化插件、组件等封装技术复用,但应与作品无缝链接,杜绝任何侵权行为;
4、开发过程要有完整的技术文档、管理文档,最后要有系统说明文档,文档的编写参照国家相关标准;
5、要独立开发,不可拷贝别人的类似系统,题目有更多的创意空间让学生自主发挥想象力,在完成基本功能的基础上可自由创意,不拘泥于提高功能中提出的内容。
6、开发的作品其核心技术要具有独立的知识产权,系统中所有引用的辅助文字、图片、音乐、歌曲等的出处、制作者和版权所有者、网站等都需特别注明;
7、要求内容积极、健康、向上。不符合该要求的软件将取消参赛资格;
8、其它技术指导及补充要求将在齐鲁软件大赛网站相应论坛中补充。
三.评比方式
1.提交的材料完整、齐全、可读性好。如果所提交的文档不完整,仍可以参加评比,但要适当扣分。
2.评比首先要看程序是否能正常运行,即运行中出现的错误不能使程序退出、陷入死循环或造成死机。如果出现上述情况,可以重新运行,但总尝试次数不能超过三次。
3.在正常运行基础上,以功能评比为主,在功能相近的情况下,考察程序的其他特色,重点看创意,以鼓励学生创新性思维。首先考察程序是否包含指定的基本功能,其次考察程序的其它创意功能和创意设计。若某项功能运行不正常,算做无此功能,不影响其他功能评比。
4.经过初赛、学生互评、复赛(演示、报告、答辩)后,给出参赛成绩。