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

Software Engineering-Lecture 01

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Software Engineering-Lecture 01

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

CS/SE/IT1211-Software Engineering

Lecture 01
Introduction to Software Engineering
03/04/2023
17/05/2024
BSc (Hons) Computer Science|Software Engineering|Information Technology
Department of Computer Science
Faculty of Computing & Technology
Saegis Campus
Nugegoda.

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 1


Recommend Texts

•SOFTWARE ENGINEERING, Ninth Edition, Ian


Sommerville

•R. Pressman, “Software Engineering: a


practitioner’s approach”, McGraw-Hill
Education; 8 th edition, 2014

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 2


Objectives

At the end of the lecture students will be able to

understand what software engineering is and why it is important

understand that the development of different types of software


systems may require different software engineering techniques

understand some ethical and professional issues that are important for
software engineers

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 3


Content
• What is a Software?
• What is Software Engineering?
• Software Process
• Software Process Activities
• Software process model
• Software Development Life Cycle
• Software Engineering Ethics

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 4


What is software?

• Software is a set of instructions, data or programs used to operate


computers and execute specific tasks.
•It is the opposite of hardware, which describes the physical
aspects of a computer.
•The two main categories of software are application software and
system software.

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 5


System Software and Application Software

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 6


Library Management Software

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 7


Software Products

• Generic - These are stand alone systems that are produced by a


development organization and sold on the open market to any
customer who is able to buy them.

• Customized - These are systems that are developed for a


particular customer requirements

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 8


How do we develop a real software?
• There will be a real user (Customer) who would need to use the
software.
 Feasibly study (whether it is technical feasible and financially worthwhile)
 You have to find out what the customer wants (Requirements Gathering)
 Analyze the problem
 Develop a solution (Design)
 Code the solution
 Test and Debug
 Maintenance
Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 9
Suggest Something Innovative in Pandemic
Situation ?

• Suggest Any Software which helps in Pandemic Situation


 Day to day Life
 Communication
 Shopping
 Any other Idea ?

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 10


Software Engineering

• IEEE Definition of Software Engineering:

The application of a systematic, disciplined, quantifiable approach to


the development, operation, and maintenance of software; that is,
the application of engineering to software.

IEEE Standard 610.12-1990, 1993.

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 11


Software Engineering (Cont.)
Engineering discipline –
make things work by applying theories, methods and tools where
these are appropriate and also try to discover solutions to problems
even when there’s no proper theories/methods.
All aspects of software production –
Not only technical processes of software development, but also
project management and development of tools, methods and
theories to support S/W production.

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 12


Key Challenges
• Deliver Quality software to the customer at the agreed time
• The product is intangible
• Software processes are available and organization/product specific
• Keep overall costs within budget

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 13


Process

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 14


Making a glass of Orange Juice

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 15


Making A Cup of Tea

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 16


What is a Software Process

• A software process is a set of interrelated activities and


tasks that transform input work products into output work
products.
•Software Process Activities
Software Specification
Software Development
Software Validation
Software Evolution

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 17


Software Process Activities
Software Specification
- The functionality of the software and constraints
Software Development
- The software is designed and programmed.
Software Validation
- The software must be validated
Software Evolution
- The software must evolve

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 18


Software Development Life Cycle

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 19


Software Development Life Cycle
Models
 A Software Development Life Cycle Model
 has a series of stages that a software product undergoes during
its life time.
 is a descriptive and diagrammatic representation of the software
life cycle.
 is often referred as software process model.
 maps the basic development activities to phases in different ways

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 20


General Software Process Models
• Waterfall Model
Classic
Iterative
• Prototyping
• Evolutionary Model
Incremental
Spiral
• Agile development.
Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 21
Software Engineering Ethics
•As a Professional Software Engineer,
You should accept that your work involves wider responsibility than
simply application of technical skills

You should behave in an ethical way and morally responsible way

You should not use your skills and abilities to behave in a dishonest way
that will bring disrepute to the software engineering profession

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 22


Software Engineering Ethics (Cont.)
Standards
Confidentiality

Competence

Intellectual Property rights

Computer misuse

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 23


Case Study: Library Information System
at Saegis Campus
Saegis Campus, situated in a convenient location at Nugegoda, is committed to
providing the best Higher Education provider in Sri Lanka through its high-ranking
partner universities while ensuring that students reach their academic and
professional goals successfully. It holds the latest collection of books and
periodicals, particularly in the field of Business Management, Computer Science,
General English, and so on. Saegis Campus Library is open to Saegis students
daily, including weekends from 7.30 am to 7.00 pm.

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 24


Tasks carried out at the library
• Add library materials •Replace lost library material
• Manage Library membership • Search library materials
• borrow books • Generate reports
• return books
• Pay fine on overdue materials
• Refund library deposit

Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 25


Next Lecture…?
Software Development Life Cycle
Models
Ms. Chathurangi D. Weerasinghe, MSc(UCSC Col), BSc(Ruh) Seagis Campus 26

You might also like