CPE 308 Spring 2002
Program #1 - this is an individual assignment, no collaboration
allowed.
Due 4/16 at the start of lecture.
Objectives:
-
To learn how to elicit requirements given a vague description of a problem.
Requirements are negotiated between developers and users.
-
To review the software engineering knowledge you acquired in CSC 101/102/103
It is quite likely your software specification and design skills need
to be developed.
-
To give your instructor a sense of your computer science knowledge and
programming skill.
Grading
This homework will be graded on:
-
the professional quality and structure of the deliverables.
-
the quality of your code.
-
how much code you reused in your design (be sure to cite properly).
You must reuse at least one collection class (e.g. List) in
your program.
(either from a class library, from your CSC 103 book or a class that
you wrote in CSC 102/103)
-
whether the program functions properly.
-
your data structure and algorithm design.
The work will not be graded on:
-
your knowledge of requirements writing.
-
your knowledge of software design.
-
your knowledge of software testing.
Problem Description
Specify, design, write and test a program that creates and manages
a collection of music "playlists." A playlist contains a list of
song titles, artist, and duration. For example, the playlist "John's
Rock Favorites" might look like:
Don't Get Fooled Again The Who
6:15
Stairway to Heaven Led Zeppelin
5:31
Radar Love
Golden Earring 4:27
Long Time
Boston 6:08
Deliverables
The deliverable list is quite specific and must include printed versions
of all the following:
-
A separate requirements document.
-
A separate design document that describes your software design.
- Your completed Time and Defect Logs. [4/13/02]
-
Program files including:
Source files
Test data
-
Test case results
This is documentation demonstrating the program works.
-
Bring your completed application on a diskette and be prepared to give
a demonstration of your program to the class. [4/10/02]
Important:
You do not need to learn anything new for this homework assignment;
its purpose is to evaluate your present level of knowledge. If it has been
a while since you did any programming, you may need to review, which is
fine. Don't be upset if you lack some software engineering knowledge; that's
the purpose of CPE 308/206.
Program
#1 FAQ