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:
- To understand the
software development process
- To learn the
definition, goals, and principles of software engineering and how to apply
them
- To experience working
in a software development team
- To experience
taking a leadership role in a software development team
- To enhance verbal
and written communication skills
- To learn about
professional ethics in computer science and the social impact of computing
Grading
Your grade will contain elements of
individual accomplishments and team accomplishments broken down as follows:
- Quizzes
(10 %)
-- an individual grade
-- 3 or 4 announced quizzes during the semester
- 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.
- 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.
- 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.
- 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.
- 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.
- 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..
- 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.
- 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.
- 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.