CS 5500
Spring 2011
Managing Software Development
Specker Challenge Game Arena Project
Karl Lieberherr
Project 1
Due: Jan. 24. Avatars are typically developed in small teams of 2 or 3 students.
So build teams of 2 or at most 3 students but you can also work individually,
if you prefer.
Teams turn in only one project and clearly mention the team members
at the beginning of the submission.
All submissions are to your Blackboard account for this course.
Reading
Read the first 4 chapters of the text book.
Read the paper:
http://www.ccs.neu.edu/home/lieber/papers/SCG-Paper/main.pdf
and the web page:
http://www.ccs.neu.edu/home/lieber/courses/se-courses/cs5500/sp11/projects/problem-statement.html
to learn more about the background of the Scientific Community Game.
See also the semi-formal definition:
http://www.ccs.neu.edu/home/lieber/evergreen/specker/software-development/faq/control.html
Read the Arena Problem Statement:
Figure 4-17, page 154 in text book.
Spread the reading over the two weeks.
Tool Usage
Use Rational Team Concert to produce your results (sandbox version).
Get a jazz.net account.
Read the Jazz vision:
https://jazz.net/about/about-jazz-vision.jsp.
Use:
https://jazz.net/sandbox02/setup/web.
A part of Jazz is Rational Requirements Composer.
http://jazz.net/projects/rational-requirements-composer/
which is useful for dealing with our requirements.
Part 1:
Familiarizing yourself with the requirements for the project.
Prepare a test case for your project. A test case for your project consists of components Propose, Oppose(Refute, Strengthen), ProposeProblem and SolveProblem for some computational problem. We use the highest safe rung problem.
Part 1.1: Having fun with SCG(HSR) (board version)
Play the game manually for which you are going to design and implement
an arena. The game is called the Scientific Community Game.
It is not important that you are perfect at playing the game
but you learn most about the requirements, if you try
to play the game well.
Do the undergraduate homework:
http://www.ccs.neu.edu/home/lieber/courses/algorithms/cs4800/sp11/homeworks/hw1/hw1-stress-testing-1.doc
which includes turning in your game history.
Part 1.2: Implement test case (HSR avatar) systematically from requirements to testable implementation
HSR is a sufficiently simple computational problem that you can transfer your
knowledge about HSR to an avatar that serves as test case for the web
arena later on.
Your test case
consists of programs so follow the spirit of Figure 1-2 on
page 17 of your text book (see also inside cover when you open the book) to develop your test case. Your test case
will need several test cases.
Write a brief requirements document for your test case.
Here are the interfaces you should use:
http://www.ccs.neu.edu/home/lieber/evergreen/specker/software-development/faq/tasks.html
If you don't like them, come up with better ones.
http://www.ccs.neu.edu/home/lieber/courses/se-courses/cs5500/sp11/projects/p1/prototype/HSR/df/gen/
contains useful software for this part created by DemeterF.
It defines the communication language for the avatars:
http://www.ccs.neu.edu/home/lieber/courses/se-courses/cs5500/sp11/projects/p1/prototype/HSR/df/program.cd.
Use the HSR avatar language wiki if you want to change it.
Apply problem reduction in this simple application of SCG:
Which of the methods
Propose, Oppose(Refute, Strengthen), ProposeProblem and SolveProblem
is the most important one?
Turn in your source code and accompanying documents that you produced with RTC.
Part 2: Requirements for Arena
Falsify my High-Level Requirements Document
http://www.ccs.neu.edu/home/lieber/courses/se-courses/cs5500/sp11/projects/problem-statement.html
(read about
Falsification in the text book and in the slides).
Falsification includes: is there a mismatch between what
you see in the game you play and what is in the high-level
requirements document?
Make concrete suggestions of what should be added or changed.
Turn in your suggestions. At most a page.
Part 3:
Develop 3 use cases for the SCG Arena.
The use cases are a part of the software requirements specification (SRS).
Turn in your use cases.
Part 4: (Optional)
Do you have creative ideas about how the system
should be implemented as a web application?
As tool we want to use Rational Team Concert from IBM.