CSSE 371 – Software Requirements and Specification
The official course description from the course catalog reads:
Introduction to the architecture and design of complete software systems, building on components and patterns. Topics include architectural principles and alternatives, design documentation, and relationships between levels of abstraction.
Designing software is an integral part of engineering a software product. Poorly designed software exposes systems and the organizations they serve to many risks ranging from innocent defects injected during development to more sinister assurance vulnerabilities that might compromise the systems’ mission. Effectively designed software ensures a product that evolves with its changing environment, providing the requisite functionality within the expected performance parameters.
Design is both a process and a product – a creative process producing a software artifact that models key aspects of the system. This course presents software design principles in the context of software engineering that enables software engineers to produce and deliver software on-time, on-budget, and on specification. Students will be exposed to software engineering teams, the Unified Modeling Language (UML) and its application to analysis and design, and a range of software design activities and artifacts. Students will participate in a team project to gain an appreciation of the practical aspects of software engineering and an understanding of the interdisciplinary nature of design.
Professor of Computer Science and Software Engineering
Email: | bohner@rose-hulman.edu |
Office phone: | (812) 877-8685 |
Office address: | Moench F-212 |
Office hours: | TBA |
Assistant Professor of Computer Science and Software Engineering
Email: | clifton@rose-hulman.edu |
Office phone: | (812) 877-8593 |
Office address: | Moench F-222 |
Home page: | http://www.rose-hulman.edu/~clifton |
Office hours: | I strive to be in every day from 8:00 a.m. until 5:00 p.m. Please stop by whenever. If my door is shut, just knock. I am also frequently available by email in the evenings. My schedule is available from my home page. |
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3ed)
Craig Larman
ISBN 13: 978-0131489066
Publisher: Prentice Hall PTR
Copyright: 2004
Students who successfully complete this course should be able to:
We’ll do our best to keep class interactive, but we recognize, and remember, that sometimes it is hard as a student to stay focused. With laptops in class, there are many more ways to become distracted than we faced as undergrads. And unfortunately modern distractions are much more pernicious; it is very easy to get drawn into things like IM conversations, RSS feeds, or Flash games.
We strongly encourage you to turn off IM and email software and only use other software for things directly related to class. If you choose to use non-class-related software during class, then you must sit in the back row. Doing so will prevent your classmates from being distracted by what is on your screen.
The learning outcomes for this course are listed above. We’ll be using various mechanisms to measure your progress against these learning outcomes. Among these are:
The relative weights for each of these mechanisms are listed below.
Mechanism | Weight |
---|---|
In-class quizzes | 5% |
Exams | 30% |
Homework Assignments | 20% |
Team project deliverables | 35% |
Project meetings | 10% |
We reserve the right to make small adjustments to this plan, with appropriate notice. All work will be graded both on correctness and on style; after all, your eventual customers will do the same.
Late work will not be accepted, with the following exception:
You begin the term with two “late day” credits. You may use one of them on any non-project assignment, which will allow you to submit that assignment up to 24 hours after the due time. You may earn one additional “late day” per assignment by submitting it at least 24 hours before the due date. Occasionally, some particular assignment may be designated as a “no late day” assignment.
If you wish to use a late day for submitting late, or earn a day by submitting early, you must complete the Late Day Form on ANGEL before the assignment deadline.
You are expected to backup your computer files regularly. If you are unable to turn in an assignment on time because of a lost or corrupted file, then you must either complete it and turn it in late, subject to the Late Work policy above, or else turn in the most recent (uncorrupted) version that you have, subject to points off for any errors or incompleteness.
Recall the Institute policy on academic misconduct:
"Rose-Hulman expects its students to be responsible adults and to behave at all times with honor and integrity."
Exams and homework will be done on an individual basis. The simple rule of thumb for individual work is:
Never give or use someone else's code or written answers.
Such exchanges are definitely cheating and not cooperation. The departmental statement on academic honesty has more detailed advice.
Plagiarism or cheating will result in a negative grade of the same magnitude as the points possible for the assignment or exam. For example, cheating on an exam worth 100 points would result in a score of -100, roughly equivalent to getting a zero on two exams. Egregious cases of cheating will result in a grade of “F” for the course. More importantly, such dishonesty steals your own self-esteem. So don't cheat.
If you sincerely believe that certain problems are too much busy work, then please bring it to our attention.
Syllabus developed by Curt Clifton and Shawn Bohner, based on earlier work by Curt Clifton and Mark Ardis.