CMSC 345

Software Design and Development

Fall 2003

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

Software Engineering (Sixth Edition) -- Ian Sommerville Addison-Wesley 2001  ISBN 0-201-39825-X
 

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
        -- 3 or 4 announced quizzes during the semester
  2. Project Artifacts (40%)
        -- a team grade
        -- You will be responsible for the timely delivery of the following artifacts:
    • System Requirements Specification (10%)
    • System Design Document (10%)
    • Code Inspection Report (5%)
    • Test Report (5%)
    • User Manual (5%)
    • Administrator Manual (5%)

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%)
        -- team grade (5%) and individual grade (5%)
        -- The exact method I will use for determining these grades will be posted on this web site well in advance of the final delivery and demonstration.
  3. Final Product (30%)
        -- 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.

There are a few other items that will not be graded via "A", "B", "C", etc., but can affect your individual grade if it is borderline.

1.        Personal Journal
    -- You are required to keep a personal journal for the semester. You must make one journal entry of significant length every week. Jot down whatever has been on your mind that week relevant to the course. The journal will not be judged on content, but on the effort put into it and your sincerity. Journals will be collected periodically and will be kept strictly confidential.

  1. Timesheets
        -- You are required to turn in a timesheet at the start of the first class of each week. Timesheets must be filled in completely and accurately. Late timesheets will be recorded as such. Note that you will not be graded on the number of hours that you record, so please be honest. See Timesheet for details.
  2. Biweekly Status Reports
        -- Your team will be required to turn in a status report to your customer and me on a biweekly basis. The current phase leader is responsible for the completion and delivery of this report which will be in the form of a brief meeting with me..
  3. Weekly Verbal Status Reports
        -- At the start of the first class of each week, I will ask the current phase leaders for brief verbal status reports. Please be prepared.
  4. Self Evaluation
        -- Towards the end of the semester, I will be asking you to do a written evaluation of your perceived performance in the class. The purpose of this exercise is to give you a chance to reflect on the events of the semester. It also provides you with a mechanism to communicate to me what you perceive as your major accomplishments. The self evaluation form will be posted on this web site towards the end of the semester.
  5. Student Survey
        -- You will be required to turn in a survey answering questions about the quality and content of the course at the Post Mortem exercise. The survey form will be posted on this web site towards the end of the semester.