Documente Academic
Documente Profesional
Documente Cultură
COURSE OUTLINE
CSC 3501: Software Engineering
Kulliyyah Department
Kulliyah of Information and Department of Computer Science
Communication Technology
Status Core
Level 3
Credit Hours 3
Contact Hours 3
Learning Outcomes
It is expected that students will apply various software
engineering methods and techniques introduced in the course.
Students should be able to:
Process Models
2 • Prescriptive Models Pressman
• The Waterfall Model (Chapter. 3)
• Incremental Process Models
• Evolutionary Process Models
• Specialized Process Models
• The Unified Process
Requirements Engineering
• The Bridge to Design and Construction Pressman
• Requirements Engineering Tasks (Chapter. 7)
• Initiating the Requirements Engineering
Process
• Eliciting Requirements
• Developing UseCases
• Building the Analysis Model
• Negotiating Requirements
• Validating Requirements
Analysis Modeling
• Requirements Analysis
• Analysis Modeling Concepts and
4 Pressman
Approaches
• Data Modeling (Chapter. 8)
• ObjectOriented Concepts
• ScenarioBased Modeling
• FlowOriented Modeling
• Class-Based Modeling
• Creating a Behavioral Model
Design Engineering
• Design within the Context of Software
Engineering
• The Design Process Pressman
• Design Concepts (Chapter. 9)
• The Design Model
• PatternBased Software Design
Architectural Design
• Software Architecture
5 • Data Design
• Architectural Styles and Patterns Pressman
(Chapter.10)
• Architectural Design
• Analyzing Alternative Architectural
Designs
• Mapping Data Flow into Software
Architecture
Web Engineering Pressman
(Chapter.15)
• Attributes of WebBased
Systems and Applications
• WebApp Engineering Layers
• The Web Engineering Process
• Web Engineering Best
Practices
Analysis Modelling for Web Applications
• Requirements Analysis for WebApps
8 • An Analysis Model for WebApps Pressman
• The Content Model (Chapter.16)
• The Interaction Model
• The Functional Model
• The Configuration Model
SEMESTER BREAK
Pressman
(Chapter.18)
9 Design Modeling for Web Applications Pressman
• Design Issues for Web (Chapter.19)
Engineering
• The WebE Design Pyramid
• WebApp Interface Design
• Aesthetic Design
• Content Design
• Architecture Design
• Navigation Design
• ComponentLevel Design
• Hypermedia Design Patterns
• ObjectOriented Hypermedia
Design Method (OOHDM)
• Design Metrics for WebApps
Testing for Web Applications
• Testing Concepts for WebApps
• The Testing Process—An Overview Pressman
(Chapter.20)
• The Content Model
• The Interaction Model
• The Functional Model
• The Configuration Model
Software Process and Project Metrics Pressman
• Metrics in the Process and (Chapter.22)
Project Domains
• Software Measurement
• Metrics for Software Quality
• Integrating Metrics within the
Software Engineering Process
• Metrics for Small Organizations
• Establishing a Software Metrics
Program
Project Scheduling
• Basic Concepts
• Project Scheduling Pressman
• Defining a Task Set for the (Chapter.24)
Software Project
• Defining a Task Network
• Scheduling
• Earned Value Analysis
Formal Methods
• Basic Concepts Pressman
• Mathematical Preliminaries (Chapter.28)
• Applying Mathematical Notation for
Formal Specification
• Formal Specification Languages
• Object Constraint Language (OCL)
• Using Z to Represent and
Example Software Component
• The Ten Commandments of
Formal Methods
• Formal Methods—The Road Ahead
14 Reengineering Pressman
• Business Process Reengineering (Chapter.31)
• Software Reengineering
• Reverse Engineering
• Restructuring
• Forward Engineering
• The Economics of Reengineering
FINAL EXAMINATION
(Chap. 16 – 31)
References Required :
Recommended :
Proposed Start
Date