Professional Documents
Culture Documents
01 SE Intro
01 SE Intro
01 SE Intro
R
R
Advanced Software
Engineering
Dr. Cheng
R
R What is Software Engineering?
R
R
What is Software Engineering?
R
R Objectives of Course
R
R Tentative Topics
R
R Administrative Work
• Background Survey
• Initial Assessment
• Tentative Evaluation Mechanisms:
Exams (2) 40 %
Homework/Design 40 %
Exercises
Mini-Project(s) 20 %
R
R Software Engineering Phases
• Definition: What?
• Development: How?
R
R Definition
• Required functionality
• Required performance
• User interface
R
R Definition (cont.)
R
R Development
• Software design
– User interface design
– High-level design
• Define modular components
• Define major data structures
– Detailed design
• Define algorithms and procedural detail
R
R Development (cont.)
• Coding • Integration
– Develop code for – Combine modules
each module – System testing
– Unit testing
R
R Maintenance
R
R Umbrella Activities
R
R Development Process
R
R Waterfall Process Model
Requirements
Design
Coding
Testing
Maintenance
R
R Prototyping Process Model
Requirements
Quick Design
Prototype
Evaluate
Design
• Improve morale
– Partially running system provides visibility into a project
R
R Spiral Process Model
Customer
Evaluation Engineering
R
R Process Models
R
R Capability Maturity Model
• Personnel
characteristics • Management issues
– Ability – Realistic goals
– Prior experience – Cost estimation
– Communication skills – Scheduling
– Team cooperation – Resource allocation
– Training – Quality assurance
– Version control
• Facilities and resources – Contracts
– Identification
– Acquisition
R
R Summary
R
R Bottom Line
• Need to
– Improve software quality
– Reduce software costs/risks