Department of Computer Science


SWE 621 -Software Modeling and Architectural Design
Prerequisite: SWE 619 or permission of instructor
                    (MSCS Students may substitute CS 571 for SWE 619)


Spring 2015     Wednesday      4:30-7:10 PM                  Location: Art and Design Building 2026


Dr. Hassan Gomaa                             Engineering 4417                                     Phone: 993-1652 

email: hgomaaATgmuDOTedu           www:


Office Hours: Tuesday and Wednesday 3:00-4:00 PM, by appointment, phone & e-mail


Course Description:

This is a course in concepts and methods for the architectural design of software systems of sufficient size and complexity to require the effort of several people for many months. Fundamental design concepts and design notations are introduced. Several design methods are presented and compared, with examples of their use.  Students will undertake a term project working in small groups addressing the design of a relatively complex software system.


Required Course Text (Available from Johnson Center bookstore):

            H. Gomaa, “Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures”, Cambridge University Press, 2011, ISBN: 9780521764148


Optional Course Text (Available from Johnson Center bookstore):

Fowler, M. UML Distilled: Applying the Standard Object Modeling Language, 3rd edition, Addison-Wesley, 2004.


Course Material:

Download from Blackboard Web site as follows:

To access Courses, log in at:, click on the Courses tab and locate SWE 621 link in the Course List.



            Term Project                 56%
            Small assignments                   8%
            Final Exam                                                                                                                    36%


Software Laboratory: The Rational Software Architect CASE tool is available for the SWE 621 term project in the Volgenau School of Engineering labs. Visual Paradigm, MagicDraw, Argo UML, and Visio are also available.