CMSC 345

Software Design and Development

Fall 2005

Description

This course is an introduction to the basic concepts of software engineering including software lifecycle, requirements analysis, design, coding, testing  and documentation.  Professional ethics in computer science and the social impact of computing are discussed.  Additional topics may include tools for software development, software metrics, and software maintenance. The objectives of the course are met using classroom presentations, guest lecturers, and a semester-long project developed in a team setting.

Textbook

Writting Effective Use Cases -- Alistar Cockburn Addison-Wesley 2000  ISBN 0-201-01702258
 

Objectives


The major objective of this course is to give the student real-life software development experience. This objective is accomplished through the student's participation on a team that will develop a single software product over the course of one semester.  Product development will follow the full software development lifecycle from requirements analysis through product delivery. More specific objectives are:

Grading

    Your grade will contain elements of individual accomplishments and team accomplishments broken down as follows:

  1. Quizzes (10 %)
        -- an individual grade
        -- 2 announced quizzes during the semester
  2. Project Artifacts (25%)
        -- a team grade
        -- You will be responsible for the timely delivery of the following artifacts:

See the Project Description for details.

  1. Customer Statisfaction Reports (10%)
        -- a team grade
        -- Customers will be asked periodically throughout the semester to fill out reports indicating their current satisfaction with the team. See the Customer Satisfaction Report for details.
  2. Final Product Delivery and Demonstration (10%)
  3. Final Product (45%)
        -- a team grade
        -- This grade will be based on the product's adherence to the software requirements, the quality of the product, and the degree of customer satisfaction. Note that you must receive a grade of "C" or above on the final product in order to pass the class.