Yugi (Yugyung) Lee, Ph.D.
Office Hour: M/W 4:00 – 5:00PM or by appointment
Office: FH 560D
Graduate Teaching Assistant:
Office Hour: M 4:00 – 5:00PM in FH460 or by appointment
As a software environment (i.e., Internet) is evolving very rapidly, it is necessary to understand the current trend of software systems and to identify the technologies and requirements for the system development. Some requirements and characteristics of the current system can be determined as comparability, heterogeneity, scalability and distribution. Emerging concepts, such as “Component-Oriented architecture/Service-Oriented architecture”, appear to be a solution for the development of software system. The distributed Software Engineering focuses on the objects developed and the components intended from their inception to be used within a framework in which they are placed in containers and combined with other components. A Service-Oriented architecture is essentially a collection of services that communicate with each other. The communication can involve either simple data passing or it could involve two or more services coordinating some activity.
Textbook, and other Materials Required and Recommended:
o Technical Papers: about 20 papers (Class Handout/Website)
o Service-Oriented Architecture – Concepts, technology, and design by Thomas Erl, 2005 (ISBN 0-13-185858-0)
o Enterprise SOA service oriented architecture best practices, by Dirk Krafzig, Karl Banke, Dirk Slama, Prentice Hall PTR (ISBN 0-13-146575-9)
o Service-Oriented Architecture – A field guide to integrating XML and Web Services, Thomas Erl, 2004 (ISBN 0-13-142898-5)
o Objects, Components, and Frameworks with UML; the catalysis approach, Desmond f. D'souza and Alan Cameron Wills, Addison-Wesley, 1999
o Design Patterns: Elements of Reuseable Object-Oriented Software by E. Gamma, R. Helm, R. Johnson and J. Vlissides, Addison-Wesley, ISBN: 0-201-63361-2, Copyright 1995.
Course Objectives, Goals or Learning Outcomes:
The major objectives of the course are to study, apply and evaluate current best practices in collaborative, distributive software development techniques and tools. (1) This course will introduce advance UML (Unified Modeling Language) and discuss different middleware frameworks, such as Web-based Middleware (Web Services), etc. Those approaches will be compared and evaluated. (2) This course will provide students hands-on experience programming components/services in XML and Web Services. Through this exercise, students will understand how components/services work in a distributed computing environment. (3) One third of this course will devote considerable attention to journal club which guides students critically evaluate technical papers and introduce students to technical discussion. Each student is required to present a technical paper to the class. The purpose of the presentation is to describe, and critically review, the important points of a paper and to lead discussion of the paper's content.
o CS451 (Software Engineering)
o Object-Oriented programming language (Java, C++)