0% found this document useful (0 votes)
31 views

01 Intro Software Engineering

The document provides an overview of software engineering including recommended books, the course outline, and definitions and objectives of software engineering. The course outline covers topics like requirements engineering, software design, testing, project management and practical work. Software engineering is defined as the application of systematic and disciplined approaches to software development, operation and maintenance. It aims to improve software quality and productivity while increasing customer satisfaction.

Uploaded by

Atika
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

01 Intro Software Engineering

The document provides an overview of software engineering including recommended books, the course outline, and definitions and objectives of software engineering. The course outline covers topics like requirements engineering, software design, testing, project management and practical work. Software engineering is defined as the application of systematic and disciplined approaches to software development, operation and maintenance. It aims to improve software quality and productivity while increasing customer satisfaction.

Uploaded by

Atika
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 12

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

• The practical application of scientific


knowledge in the design and construction of
computer programs and the associated
documentation required to develop, operate,
and maintain them.
Objectives of Software Engineering
• To improve quality of software products
• To increase customer satisfaction
• To increase productivity
• To increase job satisfaction

• Software engineering is not programming.


Programming is an important part of software
engineering.
• “This is not a programming course”
What is the difference between software
engineering and computer science?
• Computer science is concerned with theory
and fundamentals; software engineering is
concerned with the practicalities of
developing and delivering useful software.
• Computer science theories are still insufficient
to act as a complete underpinning for
software engineering (unlike e.g. physics and
electrical engineering).
What is the difference between software
engineering and system engineering?
• System engineering is concerned with all
aspects of computer-based systems
development including hardware, software and
process engineering. Software engineering is
part of this process concerned with developing
the software infrastructure, control,
applications and databases in the system.
• System engineers are involved in system
specification, architectural design, integration
and deployment.

You might also like