0% found this document useful (0 votes)
7 views15 pages

Introduction to Object-Oriented Analysis

Uploaded by

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

Introduction to Object-Oriented Analysis

Uploaded by

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

Chapter 1

Introduction to
OOAD
Prepared by: Mr. KAY HENG
Objective

After complete the “Introduction to OOAD”, Student will be able

• Present a set of good practices that allows software developers to


comprehend and use object-oriented principles in an effective and efficient
way
Introduction

• Objective criteria to identify use cases and decide when to subdivide


them
• A technique to systematically derive system use cases from BPMN
(Business Process Modeling and Natation) and machine-state
diagrams
• A technique to expand use cases that reduces the disparity among
descriptions created by different analysts.
• System sequence diagrams built with actor, interface, and control
(instead of actor and system only) to help realize a clear difference
between system events and system operations
Introduction

• Original approach for writing system commands and queries


contracts with the use of the Object Constraint Language (OCL) that
allows for automatic generation for running code and not only
postcondition checking
• An adaptation of analysis patterns to UML and restructuring and
evolving some of those patterns to simplify their identification and
application in practice
• Systematic technique to generate dynamic object models from OCL
contracts, which follows good design patterns and significantly
reduces the amount of code necessary
• Interface tier design presented with the use of IFML (Interaction Flow
Modeling Language)
Key Concepts of OOAD

• Object-Oriented System Development


• Agile Software Development
What is object-oriented systems
development
• The way object-oriented analysis and design are taught and practiced
in some places

• It can be conducted that many professionals simply adopt an object-


oriented-based language

• Use fragments of an object-oriented-based development process


without exploring the approach in full

• It is not sufficient to organize the system architecture in tiers and


modules if the code implemented inside of it is disorganized
What is object-oriented systems
development
• Some programmers organize the system adequately in classes and
packages, but they still write spaghetti code inside the methods of
these classes and packages

• Developers still use top-down functional decomposition inside


methods, which is not appropriate when using OOP

• To build code that is really object-oriented, developers should learn


the techniques of delegation and responsibility assignment,
Agile software development

• Related to the development process, it can be observed that


throughout the 20th century several models were proposed
• These processes usually mention different stages of development,
such as the so-called waterfall Model of the 1970s
• In the Waterfall Model, each stage is dedicated to one discipline,
such as system requirements, software requirements, analysis,
program design, coding, testing, and operation
• Several documents needed to be finalized at the end of each stage,
including some diagrams
• It seems that many people liked the simpler waterfall version seen in
the right part and adopted it without reading the rest of the paper
Final version of Royce’s
Waterfall Model
Simplified View of Unified
Process (Agile)
Discussion

• The object-oriented paradigm is still dominant today in the software


industry
• Most agile models also deal more with management aspects than
software modeling and programming
• software produced in an agile way does not rule out the construction
of good models
• XP— eXtreme Programming ( Beck and Andres, 2004) one day has
given the impression that agile development should consist of “go
and program fast” without any planning
• But that’s a myth. Before we start developing lines of code, we need
to understand the user’s needs and pains, their context, their
journey, and their obstacles
Discussion

• Understanding the problem and prioritizing features, we need to


draw one or more solutions to the prioritized features

• diagrams can help in crafting, refining, and communicating these


ideas

• several activities of software development assuming they are


conducted by an agile model such as Scrum, and presenting several
notations, diagrams, and languages that can be used as tools of
thought so that agile teams can represent and evolve their ideas
Questions

• What differentiates a process-based software development from an


agile one?
• What is UML?
• What is Scrum?
• Do agile methods hinder object-oriented programming? Why?
• What is the agile manifesto and how should it be interpreted?
Q&A
Thank you

You might also like