CS 551 Advanced Software Engineering

                                               Winter 2006

 

 

Instructor:

Yugi (Yugyung) Lee, Ph.D.

Office: FH 560D, Phone: 235-5932, Email: leeyu@umkc.edu

Office Hour: T/TH 2:00 – 3:00 or by appointment

Class Hours: T/TH 12:30 – 1:45pm in FH260

 

References:

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.

o        Middleware for Communications, Qusay H. Mahmoud (Editor), ISBN: 0-470-86206-8

o        Engineering Distributed Objects, Wolfgang Emmerich, John Wiley & Sons, LTD, 2000

o        Component Software: beyond Object-oriented programming, Clemens Szyperski, Addison-Wesley, 1999

o        Technical Papers (Class Handout/Website)

Prerequisites:

o        CS451 (Software Engineering)

o        Object-Oriented programming language (Java, C++)

 

Course Overview:

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.

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), Pervasive Middleware, 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.

We assume that students in this course are willing to thoroughly research topics related to the course and are actively participating in the software projects of the assignments. This is a heavy load course. The course mainly consists of three parts: (1) Lectures by instructors, (2) Student presentations, (3) In-class team meetings for project coordination and software development.  Student groups will have the responsibility to research assigned topics in depth, present the main issues and lead the discussion of the background, aims, objectives, techniques and application of the topic. All students will be expected to take an active part in the discussion and critical analysis of the topics covered.

 

Assessment:

·         Individual Work (60%):

1         Exams:                  20%

2         In-class exercises: 15%

3         Journal Club:        15%

o        Present a paper in class.

o        Participate in discussion of the issues raised in the talks in class. 

o        Critique the required readings. The paper critique must both summarize the paper and offer at least half a page of Critical Comments.  Also it should include at least THREE critical questions. Your critique must include a complete citation of the paper.

4         Labs:                    10%

                Programming & short report

 

·         Group Work (40%):

1.       Objectives of Project:

Student teams (three or four students) will work on building a real-world software system. Incremental outcomes will be generated according to service/component-oriented development paradigm (requirement analysis and design, implementing, testing, and integration). During the development process, students will learn Agile process model, Object-Oriented Specification/Design language/tool (UML, Rational Rose or Together), Design patterns and styles, Object oriented programming. These processes demand accurate and complete specification, realistic plans, schedules and sizing estimates, acceptance test criteria, risk analysis, configuration control, etc.

2.   Project Plans and Requirements:

Each group will produce formal specification, analysis and design, implementation and presentation.

·         Project proposal                                            8%

·         Skill building + Plan                                     6%

·         Increments (4)                                             16%

·         Project Report & Presentations                   10%

 

Grading policy: 100 - 94 = A; 93 - 90 = A-; 89 - 87 = B+; 86-83 = B; 82- 80 = B- and so on.

 

Contents of Lecture:

 

Topic 1: Today's Software Systems

Topic 2: Service-Oriented Software Engineering

Topic 3: Object Oriented Modeling (UML)

Topic 4: Software Architecture and Design Patterns

Topic 5: Case study: Web Services Architecture

 

Late Submission:

The late policy on assignments is 10% off the grade if late within one day, 20% off the grade for two days late, 30% off the grade for three days late. Assignments that are submitted more than three days late will no longer be accepted. More information will be available on the Announcements web page.

Policy on Student Attendance and Make-ups:

Each student should make every attempt to get to class on time. The instructor is willing to circulate a sign-in sheet at every class and missing more than two class sessions may result in a reduced grade. With the exception of documented emergencies, medical reasons or out of town travel related to work, make-ups will not be possible. Whenever possible, advance notification is required.

 

University Policy on Student Conduct:

Cheating, plagiarism, disruptive behavior and other forms of unacceptable conduct are subject to strong sanctions in accordance with university policy. See detailed description of university policy at the following URL: http://www.umkc.edu/html/handbook/policies-and-regulations/conduct.html

 

University policy on English proficiency of Instructors:

"Students who encounter difficulty in their courses because of the English proficiency of their instructors should speak directly with their instructors. If additional assistance is needed, they may contact the UMKC Help  Line at 816-235-2222 for assistance."