清华大学 现代软件工程 结对编程项目 (一)

简介:

Pair Project I:  Casual Game ++

Improve an existing casual game with incremental innovation.

Skills to Practice and Learn:

a)      Requirement Collection & Analysis

b)      Estimation

c)      Pair Programming (结对编程)

d)     Collaboration

How to collaborate in explorative situation (new and fuzzy requirement, new language, lots of ambiguity)

e)      Learning a new tool/language and become productive with it

f)       Basic UI design, User Experience design

 

hint:  you need to learn about new concepts/skills/languages from text book,  reference books,  and the almighty web. 

 

In the history of computer game,  there are many well-known casual games (e.g Tetris/俄罗斯方块, 纸牌游戏等) Users might be bored about this game after playing it for so many years.   Your challenge is to improve the game and make it interesting again!  

Your assignment is this:

1)     Pick a relatively simple casual game that people are familiar with.

2)     Ask its users (e.g. yourselves,  your roommates)

a.       Has the game become boring to you? why?

b.      What else do you want in this game? 

c.       How can it become more interesting so that you will play more of it?

d.      What are your wishes/fantasies for such game?

3)     Collect the list of wishes,  study their feasibility,  estimate the cost, and come up with a short list of enhancements for this game,  you can call it “game++”.  

4)     Here are some examples of incremental enhancements:

a)     Turn the game territory (游戏平面) from 2D into 2.xD or 3D.

a.       Turn the 2D game board into a tube, or tire (轮胎形状)

b.      Turn the  board into a globe

c.       Turn the flat board into a cube (but play on the surface of the cube)

d.      Turn the flat board into a cube (but play on the 3D grid inside the cube)

e.       Turn the flat territory into a Mobius Strip.

b)     Combine it with elements from another game

c)      Provide customization,  

d)     Playing over network,

e)     Computer AI as a player.

f)       adding more props (道具) to the game

5)     Use a new technology -  WPF, Flash, HTML5 or SilverLight to implement your game++.

6)     Project requirement

a.       Each pair should work in the “pair programming” (结对编程) style.

b.      All final code and related documents should be checked into TFS,  talk to TFS admin for details about where to check-in your code.

c.       Post the application on the web so that others can play right away,  or can download and play.

d.      Write a blog to summarize your experience in Pair Programming (the pros and cons of such style).   You need to attach a photo to show you’re actually working together in Pair Programming style.   You need to show how different the actual time spent versus the original estimation of a feature;   In the blog,  each member of the pair needs to comment on the strength and weakness of his/her partners.

7)     Criteria of scores:

a.       On-time delivery

b.      User’s feedback of your game,  e.g. users might leave comments on your blog to compliment your creative ideas;  Your roommates might tell other people about your game, etc.

c.       The game logic,  play-ability,  and coherence of new features

d.      The following things are NOT a factor in judging the merit of the project:

    1. Code size
    2. Number of new features (a game++ with 9 new features is not automatically better than a game++ with 2 new features)

 

2 week work time.

Use your imagination!




本文转自SoftwareTeacher博客园博客,原文链接:http://www.cnblogs.com/xinz/archive/2011/03/05/1971350.html,如需转载请自行联系原作者

目录
相关文章
软件工程概论项目——第7天
昨天做了:简历上传的功能,个人界面 今天准备做:企业下载简介的界面以及企业个人界面
657 0
软件工程概论项目-第5天
昨天做了:招聘信息界面 今天准备做:个人信息和简历提交界面
961 0
软件工程之感想
我是一个非计算机专业毕业的学生,在我学习和成长的路上,更多经历的传统的文化,我学习的是园林专业,在学校一天是和山水花草、美术、设计交道,计算机是我自学的,天性喜欢专研,在学校原本是希望能应用计算机技术于园林,但稀里糊涂的就走上了软件行业,也是始料不及的,也许是机遇与巧合的结果吧。
680 0
软件工程概论项目——第四天
昨天做了:招聘界面完成 今天准备做:招聘子界面,及提交简历的后台界面 昨天遇到的困难:登录注册的serlvet不能跳转。 原因是没有写dopost方法。
947 0
|
3月前
|
供应链 安全 区块链
【北京大学 软件工程】一、软件工程概论
本文介绍了软件的定义、特点及分类,探讨了软件工程的起源、概念及其框架,并展望了软件工程的新视野。软件是指计算机系统中的程序及其文档,具有无形性、复杂性和高开发成本等特点,分为系统软件、支撑软件和应用软件三类。软件工程起源于解决早期编程难题,历经个人程序、软件作坊到软件工程时期的发展,旨在以工程化方法解决软件危机。软件工程的核心目标是生产正确、可用且开销合理的软件,主要活动包括需求分析、设计、实现、确认和支持。新一代信息技术如量子计算、区块链等正推动软件工程向更高效、安全的方向发展。
【北京大学 软件工程】一、软件工程概论
|
3月前
|
测试技术 开发者
【北京大学 软件工程】二、软件过程
本文介绍了软件生存周期过程的概念及其分类。软件生存周期是从概念形成到产品淘汰的全周期,涵盖开发、交付、维护等阶段。软件生存周期过程则是这些活动中的一系列相关流程。文中详细描述了基本过程(如获取、供应、开发、运行和维护)、支持过程(如文档、配置管理、质量保证)及组织过程(如管理、基础设施、改进)。此外,还介绍了常见的软件生存周期模型,包括瀑布模型、增量模型、演化模型和喷泉模型,分析了它们的特点和优缺点。
【北京大学 软件工程】二、软件过程