Covers software life cycle models (waterfall, spiral, etc.), domain engineering methods, requirements analysis methods, software design principles and methods, verification and testing methods, resource and schedule estimation for individual software engineers, component-based software development methods and architecture, languages for describing software processes. Includes a project where some of the software engineering methods (from domain modeling to testing) are applied in an example.
The only prerequisite is some background in object-oriented programming.
The textbooks are:
Software Engineering, 6th Edition by Ian Somerville, Addison-Wesley ISBN 0 201 39815 X.
Supporting materials found at :http://www.software-engin.com/
UML Distilled, Second Edition, by Martin Fowler with Kendall Scott, Addison-Wesley ISBN 020165783X
The ResponseThreadManager manages a collection of 50 threads. When the listener asks for a thread to perform answer the request, if the manager has an available thread, it gets the thread and gives the thread to a ResponsHandler object to do the work.
While the ResponseHandler is off doing its work, the listener will, in parallel, return to listen for the next request.
If the manager has allocated all 50 threads to current requests, then the listener will sleep and wait for the RequestThreadManager to notify it that a thread has become available. Model the behavior of these objects using a Sequence diagram.
The Mid-Term Exam is on Thursday, 5/2, 2002, during the first 90 minutes of the class period. There will be a lecture after the Mid-Term Exam. The Final Exam is on Thursday 6/6, 2002. The Final Exam is a two hour exam. Both the Mid-Term Exam and Final Exam are open book/open notes exams.
There will be a series of assignments and group projects.
Project groups will be assigned randomly. Each group will have 3 people. Group meetings will take place during part of the class period. For each project there will be at least two meetings. Except for these two meetings, groups must communicate by email.
The schedule given below indicates the order in which topics will be covered, along with the reading assignment for each topic.
3/28 |
Introduction to Software Engineering and Process Phases ( Risks Forum ) |
Chapters 1, 2, 3 |
4/2 |
Software Life-Cycle Models, Requirements, Use Cases |
Chapters 4,5,6 |
4/11 |
The Specification Phase - Project part 1 assigned |
Chapter 7,8,9,15 |
4/18 |
NO CLASS | |
4/25 |
The Analysis and Planning Phases, |
Chapters 13,14,23 |
5/2 |
Mid-Term Exam ( sample1 sample2, sample3), Extreme Programming |
|
5/9 |
The Design Phase with UML - Projects part 1 due. |
UML distilled and other UML resources |
5/16 |
Further modeling with UML |
Chapter 29 |
5/23 |
Critical Systems |
Chapter 16,17,18 |
5/30 |
Testing and Maintenance, Projects due Formal Methods |
Chapters 19,20,21,24 |
6/6 |
|
My email address is iholland@ccs.neu.edu . I will generally be available 30 minutes or so before each class.
If you have questions about the course material, please send me email.
Please refer to the University Calendar and Handbook for the important dates and policies regarding W and I grades.