You are on page 1of 34

Software Engineering II

Lecture 1

Rana Kamran Ayub


Lecturer
Department of Computer Science
NCBA&E, Multan.
Introduction

• Instructor, Students and Course

Rana Kamran Ayub NCBA & E Multan


Instructor
Rana Kamran Ayub
Background and Interests
MS- I.T
 University of Management and Technology, Lahore (UMT)
MSc. (I.T)
 University of Education, Lahore

Core Area
 Data Mining, IT Infrastructure, Information System Modeling,
 Big Data, Advance Database,ERP

Rana Kamran Ayub NCBA & E Multan


Class Representative
Who will be the CR?
Link between class students and staff

Rana Kamran Ayub NCBA & E Multan


Text Book
“Software Engineering” 9E By
Ian Sommerville, Addison Wesley

Course Outline
WILL BE MADE AVAILABLE ON GROUP
Important
 Maintain good attendance, late comers will face
loss in sessional marks.
 You will submit your assignments in soft form
and they will be checked for plagiarism.
Orientation
What is a software?
• Computer software is a program that enables
a computer to perform a specific task.
• Simply a software act as a medium of communication
between user, data, and hardware.
• Computer hardware and software require each other
and neither can work alone.
What is a software?
Types of Software

Types of
Software

Application System
Software Software

MS Word, Chrome, Windows, Ubuntu,


Video Players Etc. MAC O.S
Types of Software
• Remember a system software is an operating system.
For example windows
Computer System

• A complete computer system consists of user, data hardware and


software.
• They are interconnected to each to form a complete system.
Important

• Does only computer requires software for its working?

• All the mobile devices we use today are also operated

via a system software and applications we install(for

example from play store) are application software.


Important

• Examples?
Other Parts of Software
Other Parts of Software
• A complete software package is not just a
computer program. It has also other parts such
as :
• Program
• Data
• Documentation
Other Parts of Software
Program: The program or code itself is definitely included
in the software.
Data: The data on which the program operates is also
considered as part of the software.
Documentation: Another very important thing that most
of us forget is documentation. All the documents related to
the software are also considered as part of the software.
Applications of Software
Applications of Software

• Business decision making


• Modern scientific investigation and engineering
problem solving
• Games
• Mobile devices applications
• Medical applications
• Gadgets
• Industry
Software Engineering
Software Engineering

Software engineering is an engineering discipline


that is concerned with all aspects of software
production from the early stages of system
specification through to maintaining the system
after it has gone into use.
Software Engineering

• What is the difference between software


engineering ang computer science?
• Computer science focuses on theory and
fundamentals; software engineering is concerned
with the practicalities of developing and
delivering useful software.
Characteristics of a good
Software
Characteristics of a good Software

• Maintainability

• Dependability and security

• Efficiency

• Acceptability
Characteristics of a good Software
Maintainability: A good software must be easy to maintain
and handle. It means a common or a user with minimum
or less knowledge of technical details must be able to use it.
• For example a shopkeeper using your designed software

Dependability and security: By dependability we mean the


extent to which a user can trust the software, a more
secure software will give more dependability to its user.
• For example a bank system application or windows.
Characteristics of a good Software
Efficiency: Software should not make wasteful use of
system resources such as memory and processor cycles.
Efficiency therefore includes responsiveness, processing
time, memory utilization, etc.
• For example a mobile game design.

Acceptability: This attribute of software enbales different


types of users to utilize a single software in different ways.
• For example using M.S office.
Common Issues and
challenges in Software
developments
Common Issues and challenges in Software developments

• Heterogeneity

• Business and social change

• Security and trust


Common Issues and challenges in Software developments
Heterogeneity:
• Increasingly, systems are required to operate as distributed
systems across networks that include different types of computer
and mobile devices. As well as running on general-purpose
computers, software may also have to execute on mobile phones.
• You often have to integrate new software with older legacy systems
written in different programming languages.
• The challenge here is to develop techniques for building
dependable software that is flexible enough to cope with this
heterogeneity.
Heterogeneity: An example
• Now a days almost every software comes with both of its
computer and mobile version. This a challenge foe developers as
both devices operate differently. Some such examples are skype,
media players, web browsers etc.
Common Issues and challenges in Software developments

Business and social change


• Business and society are changing incredibly quickly as emerging
economies develop and new technologies become available. They
need to be able to change their existing software and to rapidly
develop new software.
• Many traditional software engineering techniques are time
consuming and delivery of new systems often takes longer than
planned.
• They need to evolve so that the time required for software to
deliver value to its customers is reduced.
Business and social change: An example
• Social media applications are extensively in trend and developers
tend to develop more user friendly social interactions app so that
they can add features according to needs of its users.
• People now a days use social media for their business
advertisements and promotion such as Facebook or YouTube.
Common Issues and challenges in Software developments
Security and Trust
• We have to make sure that malicious users cannot attack our
software and that information security is maintained.

You might also like