Você está na página 1de 5

CS 6354: Advanced Software Engineering

Rym Mili
Department of Computer Science
University of Texas at Dallas

Fall 2006

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

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% Tuesday October 3rd
Exam2 : 30% Thursday November 23rd

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

Você também pode gostar