01 Intro Software Engineering
01 Intro Software Engineering
Recommanded Books
• Recommended Text Book:
– Software Engineering A Practitioner's Approach
(6th / 7th Edition) by ROGER S. PRESSMAN
– Software Engineering by Ian Sommerville,
Addison-Wesley
– Learning UML By Sinan Si Alhir, Publisher : O'Reilly.
– Head First Design Patterns By Eric Freeman,
Elisabeth Freeman, Bert Bates, Kathy Sierra
2
Course Outline
• Introduction to Software Engineering
• Overview of Software Development Phases
• Requirements Engineering
• Systems Modeling Overview
• Software Design
• Software Testing
• Software Metrics and Quality
• Agile Development
• Software Project Management
• Project Estimation
• Team works
• Practical
An Introduction to Software
Engineering
What is software?
• Software is
– instructions (computer programs)
that when executed provide desired function and
performance,
– data structures
that enable the programs to adequately manipulate
information, and
– documents
that describe the operation and use of the
programs.
5
Dual Role of Software
• Software is a product
– Delivers computing potential (capability)
– Produces, manages, acquires, modifies, displays, or
transmits information
• Software is a vehicle (medium) for delivering a
product
– Supports or directly provides system functionality
– Controls other programs (e.g., an operating system)
– Effects communications (e.g., networking software)
– Helps build other software (e.g., software tools)
6
What is software engineering?
• Software engineering is an engineering
discipline that is concerned with all aspects of
software production.
• Software engineers should adopt a systematic
and organised approach to their work and use
appropriate tools and techniques depending
on the problem to be solved, the development
constraints and the resources available.
IEEE Definition
• The application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software
Another Definition of Software Engineering