This document outlines lecture material for an IT1206 course on Object Oriented Analysis and Design taught by Sameera Gunathilaka. The course will use object oriented thinking and follow the software development lifecycle (SDLC) using object oriented analysis, design, and programming. It compares the procedural and object oriented programming paradigms, showing examples in flowcharts.
Comparing Linux OS Image Update Models - EOSS 2024.pdf
IT1206- Object Oriented Analysis And Design-L1
1. Object Oriented
Analysis and
Design
IT1206
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
1
Sameera
Gunathilaka
Lead Software
Engineer
ERP Technical
Consultant
2. Outline
• Week 4/12 – In class assignment ( 15marks)
• Week 8 – Group assignment (15 marks)
• Week 9/14 – Viva (10 marks)
End: 60
Mid: 40
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
2
3. IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka - Software Engineering 3
The Importance
4. IQ
• You have a 2 ropes, each of which burns from one end to the other in
30 minutes(no matter which end it is). Burn both in 45 mins.
• Start firing at the tips only
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
4
5. “Object Oriented”
Thinking is a supper
smart way in
Software Engineering
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
5
6. System
A system is a group of
interacting or interrelated
entities that form a unified
whole.
A system is delineated by its
spatial and temporal
boundaries, surrounded and
influenced by its environment,
described by its structure and
purpose and expressed in its
functioning.
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
6
7. IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
7
8. Software vs System
• Software Development
• System Development
• SDLC??
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
8
9. SDLC
ISO/IEC 12207
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
9
10. Why SDLC
• Highest quality
• Lowest cost
• Shortest time
• Many stakeholders
• Easy management
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
10
11. How?
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
11
14. IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
14
15. Procedural Paradigm
• Imperative/Structured paradigm
• List of instructions tell the computer what
to do step by step
• Procedures, also known as
routines, subroutines, or functions
• The procedural paradigm focuses on the
algorithms or steps necessary to solve a
problem
• Series of computational steps
• Top - down approach
• For less complex and small system
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
15
17. OO Paradigm
• Approach to problem solving where
all the computations carried out
using objects.
• Bottom–up approach in program
design.
• Programs organized around objects,
grouped in classes.
• Focus on data with methods to
operate upon object’s data.
• For large, distributed applications
• Reuse of both code and designs.
• Reduce the risk
• High quality
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
17
19. IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
19
20. IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
20
21. Procedural Paradigm
Calculate the volume of the box
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka -
Software Engineering 21
22. Procedural Paradigm
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka - Software Engineering
I. What to do?
II. How to do?
22
23. Procedure
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka -
Software Engineering 23
Get a container ( 3 X 6 X 4)
Put coconut oil 50ml
Add 10g Garlic
Add 50g of onion
Add 50g of grated Carrot
Add 20g of chipped green beans
Add chili, salt
Fry for 5 minutes
Add 2 eggs
Add 100g of Fried Chicken slices
Add boiled rice 500g
Mix for 5 minutes
Keep on the cooker for 2 mins
Serve
24. Flow Charts
Flowchart is a diagrammatic representation of
sequence of logical steps of a program.
Flowcharts use simple geometric shapes to depict
processes and arrows to show relationships and
process/data flow.
25. Symbols
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka -
Software Engineering 25
26. IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka -
Software Engineering 26
28. Going to the
market to
purchase a
pen
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka - Software Engineering 28
29. calculate the
average of
two numbers
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka - Software Engineering 29
30. Use Flow
Chart
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka - Software Engineering 30
31. Thank you
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - Software Engineering
31
Editor's Notes
marking
Importance of the subject
Motivation to study
Plan – Why build the system (Requests/ Feasibility Study) – ensure whether we can develop
Business need – improve the productivity and reduce the cost
Business requirements – what should be enabled
Business Value – reduce cost by 10million rupees per year, ROI/ Break Even Point
Y = mx + c -m = Slope or Gradient (how steep the line is)
Analyse – Who? What? Where? When? (what Requirements/ What business process/ who use it/ where the system is/ when the system is used)
Design – How will the system works ( Data design/ program design/ user interface design)
Develop – develop software, install other hardware/software, configure it
Implementation – launch/ training/ basic data inserting
Maintain – new requirements/ change in user experience/ new technologies/ software versions
Library Management System
Software – installed on a computer which gets records
System – barcode reader connected to computer and input values to the Software
Software is networked with the database
Web Application is linked with the database
System Development Life Cycle - description of the phases in the life cycle of a software application
The global standard behind SDLC`.
Each phase of SDLC produces outputs which act as inputs for the next stage. The requirements translate into the design. The developers pick the design specs, write the code, and produce a build. Testers validate the developed product as per the requirement. After completing the testing, the product gets shipped for the deployment.
A software development methodology is kind of like a cooking recipe. Like a recipe tells you how to cook a meal, a software development methodology tells you how to build a software pro
SDLC includes a detailed plan for how to develop, alter, maintain, and replace a software system.duct.
Although different processes frequently incorporate different phases or name similar phases differently, some phases are common to most processes. We consider two common phases here.
OOAD is a part of software development process or the life cycle.
OOA- procedure of identifying software engineering requirements
OOD - implementation of the conceptual model produced during object-oriented analysis
Object Oriented Design is a conceptual model for the architecture of object oriented software
OOP - Object Oriented Programming is the act of coding such a design using a programming language which supports OOP concepts
Paradigm - A set of assumptions, concepts, values, and practices that constitutes a way of viewing reality for the community that shares them, especially in an intellectual discipline
Ex: Servicitation
each of these paradigms attempts to solve a real-world problem with a software solution
Procedural contain a series of computational steps to be carried out. Any given procedure might be called at any point during a program's execution, including by other procedures or itself.
Programming language: C, FORTRAN, Pascal, Basic
Procedural contain a series of computational steps to be carried out. Any given procedure might be called at any point during a program's execution, including by other procedures or itself.
Width * length * height
The nearness of analysis and design to implementation implies that it is relatively easy to move between these two phases. However, the large gap between the real world (i.e., the problem) and analysis and design implies that analysis and design are difficult to do, does not help build domain understanding, and that the results (decomposition diagrams) are hard for non-software developers to understand.
Inputs
values1, value 2, operation
Process
Output