Вы находитесь на странице: 1из 37

Lecture 01

Introduction

INTRODUCTION TO SOFTWARE
ENGINEERING
se-106 [3+0]
Engr. Arta Iftikhar
5/22/2019
Directory
Instructor: Engr. Arta Iftikhar (Lecturer)
Office: Academic Cell (Department of Software Engineering, UET Taxila)
Room 2.

Office Hours: Monday to Friday (10:00 am to 11:00)

E-mail: arta.iftikhar@uettaxila.edu.pk

TA: Samina Bilquees <saminabilquees1996@gmail.com>


Grading Policy

• Quizes 15%
• Assignments 5%
• Class participation 5%
• Mid Term 25%
• Final Exam 50%
• Total 100%????
Rules/pattern of class

• Be punctual
• Switch off your mobile phones
• Class participation is must
• Maintain discipline in class
• Revise your moral/ ethical values
Books

• Text book: Software Engineering by Ian Sommerville (Latest edition till date
or edition available in our Central Library).
• Reference book : Software Engineering by Roger Pressman.
Importance of software
Software can have a huge
impact in any aspect of
society.
Why Software Engineering

Ian Sommerville. Author of text book


Importance of Software
Problems in software
development
Common issues
•The final Software doesn´t fulfill the needs of the
customer.

•Hard to extend and improve: if you want to add a


functionality later is mission impossible.

•Bad documentation.

•Bad quality: frequent errors, hard to use, ...

•More time and costs than expected


Ariane 5 Flight 501

Cause: design errors in the software


The failure was thus entirely due to a single line of code.
Chaos Report
Conclusion
Programming is NOT enough!
It is not enough to do your best: you must
Know what to do, and THEN do your best.
-- W. Edwards Deming
And Since…

A clever person solves a problem.


A wise person avoids it.
- Albert Einstein
Solution???
Motivational Video for
Engineering Students
Chapter 1: Introduction
What is software?

• Abstract, intangible
• Professionally developed software system
• Software: Computer programs and associated documentation
such as requirements, design models and user manuals.
What is software?

• Software products may be developed for a particular customer or


may be developed for a general market.
• Software products may be
• Generic - developed to be sold to a range of different
customers e.g. PC software such as Excel or Word.
• Bespoke (custom) - developed for a single customer according
to their specification.
Software products
• Generic products
• Stand-alone systems that are marketed and sold to any customer who
wishes to buy them.
• Examples – PC software such as graphics programs, project
management tools; CAD software; software for specific markets such
as appointments systems for dentists.
• Customized products
• Software that is commissioned by a specific customer to meet their
own needs.
• Examples – embedded control systems, air traffic control software,
20

traffic monitoring systems.


Software Engineering
What is it?
The application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software, and
the study of these approaches; that is, the
application of engineering to software.

-Wikipedia
Software Engineering
What is it?

The study and application of methodologies


to develop quality software that fulfill
customer needs.
What is software engineering?
• Software engineering is an engineering discipline that is concerned with all aspects
of software production.
• In this above definition there are two key phrases

• 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.
Software Engineering
Objective
To produce software that is:
• On time: is deliver at the established date.

• Reliable: doesn´t crash.

• Complete: good documentation, fulfill


customer needs.

•Cost Effective: within defined budget


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.
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.
Why Software Engineering

Ian Sommerville. Author of text book


What is a software process?

• A set of activities whose goal is the development or evolution of software.


• Generic activities in all software processes are:
• Specification - what the system should do and its development constraints
• Development - production of the software system
• Validation - checking that the software is what the customer wants
• Evolution - changing the software in response to changing demands.
Stages of Software
Development
Requirements
Analysis

Software Design

Implementation

Testing

Maintenance
1. Requirements Analysis

Find out what the client want the software to do


2. Design

Planning the software solution


3. Implementation

Code!!!
4. Testing

Executing the application trying to find software


bugs
5. Maintenance

Any activity oriented to change an existing


software product.
Class Activity

• Make teams (2 members)


• Write a paragraph about Importance of software in our life.
• Select any software of your own choice and write a paragraph on its benefits
in your life.
• Represent your assignment in two minute.
Summary

• Introduction of class participants.


• Introduction of Software.
• Introduction of Software Engineering.
Any Questions

Вам также может понравиться