Engr 660: Software Engineering II
(Software Component Specification)
Full Summer 2001
Syllabus
Locations
The Full Summer session 2001 class meets in Weir
348 from 10:00 until 12:00 on
Tuesday and Thursday.
The class is taught by Prof. Conrad Cunningham, whose
office is 312 Weir Hall. Prof. Cunningham's official
office hours for this session are 10:00
a.m. to Noon on Wednesday
or by appointment at other times.
Prof. Cunningham's voice telephone number is (662) 915-5358 and fax
number is (662) 915-5623. His WWW home page is
http://www.cs.olemiss.edu/~hcc/
and his email address is cunningham@cs.olemiss.edu
(send?).
The WWW home page for this class is
http://www.cs.olemiss.edu/~hcc/engr660/ .
The final examination for this class is scheduled for Noon on
Thursday, 2 August.
Student Disabilities Services Statement
"It is the responsibility of any student with a disability who
requests a reasonable accommodation to contact the Office of
Disability Services (915-7128). Contact will then be made by that
office through the student to the instructor of this class. The
instructor will then be happy to work with the student so that a
reasonable accommodation of any disability can be made."
Course Goals
The goals of this course are (1) to introduce concepts and methods
for rigorous specification and design of component-based software
systems and (2) to develop the students' skills in use of those
concepts and methods in conjunction with standard modeling notations.
The course uses the Unified Modeling Language (UML) notation and its
associated Object Constraint Language (OCL).
Prerequisites
This class is intended for students admitted in full standing to
the graduate program of the Department of Computer and Information
Science. Students are expected to have a background in
object-oriented programming, algorithms, data structures, programming
languages, and discrete mathematics similar to the undergraduate
courses CSCI 111, 112, 211, 433, 450, and MATH 301. Use of the Java
programming language will likely be required in any programming
exercises.
Graduate students in other fields should not be enrolled in this
class without the explicit permission of the instructor and of their
department. Any students in this category are expected to provide the
instructor with a note from their advisor or department chair
indicating such permission.
Source Materials
- Methods Textbook:
- John Cheesman and John Daniels.
UML Components: A Simple Process for Specifying
Component-Based Software, Addison-Wesley, 2001.
ISBN: 0-201-70851-5
- UML Textbook:
- Martin Fowler and Kendall Scott.
UML Distilled, Second Edition,
Addison-Wesley, 2000.
ISBN: 0-201-65783-X
- OCL Textbook:
- Jos Warmer and Anneke Kleppe.
The Object Constraint Language: Precise Modeling with UML,
Addison-Wesley, 1999.
ISBN: 0-201-37940-6 '
- Readings:
- Journal and conference articles, research reports, and other
materials as appropriate.
Course Topics
The actual topics and their order will be refined as the semester
progresses.
- Introduction to component-based development.
- Software development processes. Unified Modeling Language (UML).
- Object-oriented programming concepts. Data abstraction.
Inheritance. Polymorphism. Associations. Interfaces. Classes. UML
class diagrams.
- Constraints. Design by contract. Predicate logic. Object
Constraint Language (OCL).
- Requirements definition. Developing domain (business concept)
models.
- Requirements definition. Developing use cases.
UML use case diagrams.
- Component identification. Building business type
models. Identifying interfaces and operations. Identifying an initial
component architecture.
- Component interaction. UML collaboration diagrams. Refining the
component models, interfaces, operations, and architecture.
- Component specification. Developing interface specifications.
Information models. Design contracts.
- Implementation.
- Enterprise JavaBeans (EJB).
Professional Conduct
As a student in Engr 660, you are expected to conduct yourself in
a professional manner according to the
Honor Code of the School of Engineering, the Information
Technology
Appropriate Use Policy, the M Book, and any other
relevant policies.
Unless otherwise stated explicitly for an assignment, all
assignments and projects in this class are covered by the School of
Engineering's Honor Code statement on plagiarism. It is
plagiarism "to knowingly deceive, copy, paraphrase, or otherwise
misrepresent your work in a manner inconsistent with professional
conduct".
Grading
The grading scale is A [90..100], B [80..90), C [70..80), D [60..70),
and F [0..60).
Credit toward the semester grade will be allocated to each of the
components as follows:
Homeworks/Projects | 50% |
Exams | 50% |
Assignments
- All students are expected to study the relevant portions of the
textbooks and handouts in conjunction with our class discussions
(i.e., before coming to class). Explicit reading assignments
will not always be given.
- In preparing and submitting homework papers make sure that:
- your name, the course number or name, the assignment identifier,
and individual exercises are clearly marked on the paper. (If it is a
group assignment, give the group identifier and the names of all
members.)
- for any handwritten work, you write legibly on only one side of
the paper in a black or blue pen or dark pencil. (Do NOT use red or
green ink!) Some assignments may require that materials be generated
with a word processor and/or other tools.
- your paper is stapled together in the upper left corner.
- As appropriate, there may be a few in-class assignments or quizzes
that count toward the assignment/project portion of the grade.
- Some of the projects may be small group projects; others may
be individual efforts. One of these might involve presentation of a
paper or other material to the class on some aspect of software
architecture or related software technology. Another project may
involve a significant analysis and design effort.
- All students or groups are expected to complete their assignments
by their due dates. If an assignment is submitted late,
a penalty of 10 percent of that assignment's grade
will be assessed for each day it is late. A homework
assignment will not be accepted after graded papers have been returned,
after a solution has been distributed, or after the final examination.
Examinations
- I plan two examinations, a mid-term and a final. Both exams will
be required.
- The exams may include both in-class and take-home components.
- Please do not ask to take the final exam at an earlier time than
set for the entire class.
Support Acknowledgment
This special offering of ENGR 660 is partially funded by Acxiom Corporation through an applied
research grant.
[ ENGR 660 Home ]
[ Cunningham's Home
| Teaching
| Current Courses
]
[ Department's Home
| Courses
| Graduate Courses
| Undergraduate Courses
]
Send any comments or suggestions to Prof. Conrad Cunningham,
cunningham@cs.olemiss.edu.
Copyright © 2001, H. Conrad Cunningham
Last modified: Wed May 30 21:16:51 2001