| Course Description: | |||
| The primary objective of this course is to teach the fundamentals of software engineering with emphasis on requirements engineering, architecting, and design. The course focuses on network-centric software engineering with architecting system of systems and object-oriented design using the Java Platform, Enterprise Edition (Java EE 5) and the Microsoft Platform, .NET Framework. Topics include: product, process, project, and people views of software engineering; software life cycle models; system engineering; use case-based requirements engineering using IBM RequisitePro software product; object-oriented concepts and principles; introduction to Unified Modeling Language (UML) using IBM Rational Rose software product; use cases; use case documentation template and examples; software product, process, and project metrics; introduction to network-centric software engineering; the process of architecting network-centric systems; overview of network-centric system/software architectures; overview of the Department of Defense Architecture Framework (DoDAF); overview of Java Platform, Enterprise Edition (Java EE 5); overview of Microsoft Platform, .NET Framework; employee business services: an example SOA-based network-centric software system; software decomposition / modularity, levels of cohesion, levels of coupling; object-oriented high-level and detailed software design; component-based software engineering; overview of the Capability Maturity Model Integration (CMMI) models; principles and techniques of software verification, validation, and testing. | |||
| Learning Objectives: | |||
Having successfully completed this course,
students will be able to:
|
|||
| Prerequisites: | |||
| Graduate Student standing in the Department of Computer Science. | |||
| Materials: | |||
Required Textbook: R.S. Pressman, Software Engineering: A Practitioner's Approach, Seventh Edition, McGraw-Hill, © 2010, 895 pages, ISBN 978-0-07-337597-7 (available at the Virginia Tech University Bookstore) Textbook Web Sites: IBM Rational Software: Other |
|||
| Tentative Chronological Outline: | |||
| Week 1: | |||
| Aug. 23 |
|
||
| Aug. 25 | |||
| Week 2: | |||
| Aug. 30 |
|
||
| Sept. 1 |
|
||
| Week 3: | |||
| Sept. 6 | Semester group project topic identified: Emergency Response Management Software System (ERMSS) for Washington, DC.
|
||
| Sept. 8 |
|
||
| Week 4: | |||
| Sept. 13 | Quiz 1 (Covers Chapters 1-2 and 4-7 and Slides 01-04)
|
||
| Sept. 15 |
|
||
| Week 5: | |||
| Sept. 20 |
|
||
| Sept. 22 | (Group Project 1 given)
|
||
| Week 6: | |||
| Sept. 27 |
|
||
| Sept. 29 | (Assignment 1 due)
|
||
| Week 7: | |||
| Oct. 4 | Quiz 2 (Covers Slides 05-08)
|
||
| Oct. 6 |
|
||
| Week 8: | |||
| Oct. 11 |
|
||
| Oct. 13 | (Group Project 1 due)
|
||
| Week 9: | |||
| Oct. 18 | MIDTERM EXAMINATION (Includes all of the material covered until the exam date.) | ||
| Oct. 20 |
|
||
| Week 10: | |||
| Oct. 25 |
|
||
| Oct. 27 | (Group Project 2 given) | ||
| Week 11: | |||
| Nov. 1 | (Assignment 2 due)
|
||
| Nov. 3 |
|
||
| Week 12: | |||
| Nov. 8 | Quiz 3 (Covers Chapters 10 and 11, Java EE, .NET, and Slides 14-17)
|
||
| Nov. 10 | (Group Project 2 due) (Group Project 3 given)
|
||
| Week 13: | |||
| Nov. 15 |
|
||
| Nov. 17 |
|
||
| Week 14: | |||
| Thanksgiving Break | |||
| Week 15: | |||
| Nov. 29 |
|
||
| Dec. 1 | Quiz 4 (Covers Chapters 14-21 and Slides 18-19)
|
||
| Week 16: | |||
| Dec. 6 | (Group Project 3 due)
|
||
| Dec. 8 | Reading Day | ||
| Dec. 13 | FINAL EXAMINATION: Tuesday at 7:45 9:45 a.m. in McBryde 231. | ||