CS 6354: Advanced Software Engineering

Rym Mili Department of Computer Science University of Texas at Dallas Spring 2007

Instructor
Rym Mili Office: ECS 4.228 phone: (972) 883 2091 e-mail: rmili@utdallas.edu office hours: Thursday 2:30-4:30

TA
Office: e-mail: Office hours:

Course Description (graduate catalog)
This course is intended to provide an extensive hands-on experience in dealing with various issues of software development. It involves a semester-long group software development project spanning analysis of requirements, construction of software architecture and design, implementation, and quality assessment. The course will introduce software project planning and management; component based software engineering; UML, CORBA, and JavaBeans; software metrics; CASE tools; software maintenance and evolution; and software reuse, reverse engineering, and re-engineering.

Course Objectives
The difference between writing a small program and developing a large scale software product is not a difference of size as much as it is a difference of nature. While the construction of small programs is a purely technical issue, the development of large software products is a multi-dimensional problem, which involves technical considerations as well as managerial and organizational considerations. The objective of this course is to expose the student to technical issues through a semester long software development project.
1

Prerequisite:
• • CS 3354 Software Engineering: Software lifecycles; OOAD concepts; UML. Knowledge of Java.

Grading Scheme
Homeworks: 0% Project : 40% Exam1 : 30% Thursday March 1st Exam2 : 30% Thursday April 19th Exam1 is mandatory. For students who regularly attend class, Exam1 counts only if it is greater than Exam 2; otherwise, Exam2 counts for 60%.

Textbooks
Recommended • C. Larman, Applying UML and Patterns, Third Edition, Prentice Hall, 2004. On Reserve • C. Ghezzi, M. Jazayeri and D. Mandrioli, Fundamentals of Software Engineering, Prentice Hall, 2003. • R. Pressman, Software Engineering: A Practioner’s approach, McGraw Hill, 2005.

2

Course Plan PART I. INTRODUCTION
1. Software Engineering: a Preview Ghezzi, Chapter 1 • History of Software Engineering • Software Engineer’s Role • Software Lifecycle 2. Software Lifecycles Ghezzi, Chapter 7 Pressman Chapter 2 • Lifecycle Models • Phases and Activities

PART II. TECHNICAL ISSUES AND OBJECT ORIENTED SOFTWARE ENGINEERING
3. Software Requirements Ghezzi, Chapter 7 • Functional and Non-Functional Requirements • IEEE Standard for Software Requirements document 4. UML and the Unified Process • Overview of UML • The Unified Process 5. Inception Larman, Chapters 4-7 • Use cases • Supplementary specification, Glossary and Vision 6. Elaboration Iteration 1 – Domain Model Larman, Chapters 9-11 • System Sequence Diagrams • Domain Model • Contracts for System Operations 7. Elaboration Iteration 1 –Design Patterns Larman, Chapters 17 • Design patterns

3

8. Elaboration – Iteration 1 Design Model: Use Case Realization Larman, Chapters 18 • Use case realizations

9. Elaboration – Iteration 1 Design Model: Design Class Diagram Larman, Chapters 18 • Design class diagram

10. Elaboration Iteration 1 – Implementation Model Larman, Chapter 20 • Mapping design to code

11. Elaboration Iterations 2 and 3 Larman, Chapter 23, 27 • Iteration 2 and its requirements • Iteration 3 and its requirements • Package structures 12. Testing Pressman, Chapters 17-18 • Overview of Testing • Testing Concepts • Testing Activities

PART III. MANAGERIAL AND ORGANIZATIONAL ISSUES
13. Project Planning and Management Pressman, Chapters 3 and 5 • Project Planning activities • Manager’s responsibilities • IEEE standard for Software Project Management Plans 14. Software Quality Assurance Pressman, Chapter 8 • SQA Process • IEEE 730 Standard for SQA Plans • SQA Tools

4

15. Software Configuration Management Pressman Chapter 9 • SCM System • SCM Process • IEEE 828 Standard for SCM Plan • SCM Tools

PART IV. ADVANCED TOPICS
16. Formal Specifications Ghezzi et al, Chapter 5 + selection of papers • Specification Qualities • Classification of Specification Styles • Descriptive Specifications: Logic and Algebraic Specifications • Operational Specifications: DFD, FSM, Petri Nets. • Introduction to Z

5

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.