CS5370/6370
– ADVANCED SOFTWARE
ENGINEERING (WITH PROJECT) – SPRING SEMESTER, 2008
Instructor: Supratik Mukhopadhyay, Main 423,
x73267, supratik@cc.usu.edu
Venue:
Old Main 121
Office Hours: T-Th
Text:
Course Homepage: http://www.cs.usu.edu/~supratik/CS%205370/CS%205370%20and%206370%20Home%20Page.htm
Prerequisites: Programming skills, CS 2370
Course Goals:
§
To
become familiar with advanced concepts in Software Engineering, as evidenced by
the student's successful completion of homework assignments and examinations
o
Software
Engineering for distributed systems
o
Planned
vs. Agile development model
o
requirements acquisition
strategies
o
architectural
(especially object-oriented) design methodologies
o
Aspect-Oriented
design
o
domain-based,
error-based, and regression testing techniques
o
Software
Verification and Validation
§ To develop software
management and teamwork skills (CS 6370 only) as evidenced by evaluation of the
software product developed by the student's team
RULES
1. Eagle will give
you an ID number by which you will identify all your homework and exams. Do not disclose this ID to other students; do
not write your name on homework or exams.
Each submission must be clearly labeled with your ID. All files to be used can be obtained
from
http://www.cs.usu.edu/~supratik/CS%205370/CS%205370%20and%206370%20Home%20Page.htm. You will be informed of your grades by the
Eagle system.
2. Homework is due and will be submitted via the Eagle
system on Friday before
Incomplete
grades will only be given under the circumstances outlined by University
policy: for instance, illness requiring that at least two weeks coursework be
missed. This means that an incomplete
cannot be given to prevent receipt of a bad grade. In such situations, a withdrawal or late
withdrawal is required. Incomplete grades can't be made up simply by
attending the course again in another semester.
All grades obtained during this semester will be used in determining the
final grade. The University policy will be adhered to for
incompletes. If a student feels that an
incomplete is appropriate, it is their responsibility to immediately discuss
the matter with their instructor.
3. You are required
to observe the University and Departmental policies on academic honesty. Generally, this means that you will never present
the work of others as if it were your own.
Specifically: handing in homework done by others; copying from other
students' exam papers; using information from hidden sources during an exam; or
submitting reports written in part by others without proper quoting and
citation; are all considered cheating and will be punished, at the minimum, by
giving as a grade the negative of the maximum number of points possible on the
assignment where cheating occurred, and by placing a report in your permanent file. More severe penalties can also be
imposed. Students who provide homework
for others will also be punished.
4. If a student has a
disability that will likely require some accommodation by the instructor, the
student must contact the instructor and document the disability through the
5. As a computer
scientist, or someone taking a computer science class, you are expected to
perform your work at all times in an ethical manner. This means that in
addition to doing your own work and giving appropriate credit when the work of
others is used, you are required to protect your work.
A student that protects their work will not allow another student access to
that work whether it be allowing it to be copied, or treating its security in
such a way as to give unintentional access, such as "accidental"
loss. It is the policy of the department that when duplicate (essentially the
same) work is turned in by two or more students, without acknowledgement of
allowed cooperation, all involved students will be considered in violation of
this department policy. Under such circumstances, each student will receive
minus the points possible for the work.
Thus, for a 15 point assignment, all would receive -15 points. If the
infraction is deemed more egregious, then further action may be taken.
6. Students will not
be permitted to take both CS5370 and CS6370, whether in the same semester or
different semesters, to satisfy the requirements of degrees in Computer Science
at
7. The last day to add this class is January 29. Attending this class beyond that date without
being officially registered will not be approved by the Dean's Office. If you are not registered, I will neither
accept homework nor examinations from you.
This is also the last day to drop the course without a notation
appearing on your transcript.
SCHEDULE
|
Date |
Topic |
Assignment (Due
dates will be posted on Eagle) |
|
Jan 8 |
|
|
|
Jan 10 |
Smartups: Rob
Ryan’s Flower Model |
Pretest for CS 5370
(10 points) |
|
Jan 15 |
Project Plan Writing |
|
|
Jan 17 |
|
|
|
Jan 22 |
||
|
Jan 24 |
|
|
|
Jan 29 |
|
|
|
Jan 31 |
||
|
Feb 5 |
|
|
|
Feb 7 |
Software
Verification and Validation |
|
|
Feb 12 |
Midterm
Exam |
|
|
Feb 14 |
Software
Verification and Validation |
|
|
Feb 19 |
No Lecture
President’s Day |
Project
Plan |
|
Feb 21 |
Software
Verification and Validation |
Project Plan Presentation |
|
Feb 26 |
Software
Verification and Validation |
|
|
Feb 28 |
Software
Verification and Validation |
|
|
Mar 4 |
Software Testing |
|
|
Mar 6 |
Guest Lecture |
|
|
Mar 11+ |
No Class Spring break |
|
|
Mar 18 |
Software
Verification and Validation |
|
|
Mar 20 |
Software
Verification and Validation |
HW7 Requirements
from product teams |
|
Mar 25 |
Software
Verification and Validation |
|
|
Mar 27 |
Guest Lecture |
|
|
Apr 1 |
Software
Verification and Validation |
HW8 Design Model, Analysis Model |
|
Apr 3 |
|
|
|
Apr 8 |
Guest Lecture: Service-oriented Architecture |
|
|
Apr 10 |
Midterm
Exam |
|
|
Apr 15 |
Source
Code |
|
|
Apr 17 |
Demos by Product Teams |
|
|
Apr 22 |
Autonomic Computing
in Distributed Systems |
|
|
Apr 24 |
|
|
|
Apr 27 |
No Class |
|
|
April 29 |
FINAL EXAM AT |
|
|
May 4 |
|
Code,
Manual, Post Mortem |
For those doing projects,
the documents to be submitted are:
Feb 19 Project Plan (see section 4.2.1 of Sommerville) – 10 points
Mar 20 Requirements
(see the IEEE outline in section 5.4 of Sommerville) –
20 points
April 1 Analysis Model and Design Model (see chapter 7 of Sommerville) – 25 points
Apr 15 Complete Compilable
Source Code, with class and function comment headers and traceability from
requirements – 15 points
Apr 29 Complete Product including Final User
Documentation – 65 points
Apr 29 Project Evaluation (what did you learn, what
worked well or badly, what was most useful, how would you change next time) –
5 points