SlideShare a Scribd company logo
1
Chapter 1
Introduction
Object-Oriented Technology
From Diagram to Code with Visual Paradigm for UML
Curtis H.K. Tsang, Clarence S.W. Lau and Y.K.
Leung
McGraw-Hill Education (Asia), 2005
2
What You Will Learn
 Describe the advantages of the object-
oriented approach to software development.
 Discuss the roles of the three key
components in software development.
 Describe at a high level what the Unified
Modeling Language, the Unified Process, the
View Alignment Techniques, and the Visual
Paradigm for UML are.
3
Software Engineering
Approaches
 The development of reliable software is a
labor-intensive and expensive business.
 Software development is also a high-risk
venture, as can be seen by the countless
documented reports of software project
failures.
 The rapid growth of the software industry over
the past three decades has highlighted the
need for disciplined approaches to
developing large-scale software systems.
4
Software Engineering
Approaches (cont’d)
 Difficulties in developing large-scale
software systems:
 Long development time => technology
changes, requirement changes
 Large team => communication problem
5
Modeling
 Modeling is a very important activity in
software development in that the software
engineer usually spends a lot of time
developing models with different levels of
abstraction before the software system is
finally designed and implemented.
 Models can be an effective communication
tool, especially in situations where detailed
information is not required.
6
Modeling (cont’d)
 Different stakeholders want different level of
abstractions.
 Example – Bus Information System:
 A model for the passenger. It can be represented by a
straight line with circles on it, showing the bus stop names
and possibly the associated fares.
 A model for the bus driver. It may be a simplified map
showing the route covered by a bus service. Street names
and the actual route will also be included to provide more
details to the driver.
 A model for the planner of bus routes. It may consist of a
detailed road map with the actual bus routes. Each bus
route is labeled and shown in different colors.
7
Modeling (cont’d)
 A model usually provides one or more views, and
each view represents a specific aspect of the
system. For example, the model for the passenger
contains the fare view and the path view.
 The fare view provides fare information for every
stop on a route, while the path view provides the
route information, including the associated street
names.
 Models based on different views of a system must
be consistent, for example, the three dimensional
model of a building must be consistent with the
different elevations (models) of the same building.
8
Modeling (cont’d)
 Furthermore, a model should be expressed using a
suitable notation (language) that can be understood
by the stakeholders.
 In the context of software development, a system
can be adequately described by the following three
orthogonal views:
 a functional view, which covers the transformation of data
within the software system;
 a static view, which covers the structure of the system and
its associated data; and
 a dynamic view, which covers the sequence or procedure
of a transaction in the software system.
9
Structured Approach
 Broadly speaking, there are two general approaches
to software development: the structured approach
and the object-oriented approach.
 The structured approach has been very fashionable
since the 1970s; it was adequately supported by
conventional procedural languages.
 The structured approach is centered on the
system’s functional views and uses different models
at various stages of the development process.
 When development progresses from one stage to
the next, the models in the current stage are
transformed into the models of the next stage.
10
Structured Approach (cont’d)
 There are three major weaknesses with the
structured approach:
 when functions of the system change => the analysis, the
design models and the implementation of the system will
have to be changed substantially.
 transformation needs to be carried out whenever the
models of the early stages have changed as a result of
changes in the requirements or the correction of previous
mistakes.
 the dynamic view is almost non-existent in the structured
approach.
 The above weaknesses of the structured approach
have made it less cost-effective when compared
with the object-oriented approach.
11
Object-oriented Approach
 This approach models a software system as a
collection of collaborating objects.
 An object and its data interact with other objects
through messages being sent and received by the
object and which manipulate the object’s data in the
process.
 The object-oriented approach allows the software
engineer to develop consistent models of a software
system much more easily, because the same set of
models are used throughout the whole development
process.
12
Object-oriented Approach (cont’d)
 No effort or time is wasted by transforming and
updating models in different stages.
 Changes to an object-oriented system are localized
in the objects themselves.
 Therefore, the structure of a system developed by
the object-oriented approach is more stable than
that by the structured approach.
13
Visual Modeling
 The human brain is capable of handling and
processing only a limited amount of information at
any one time.
 Models can help reduce complexity by creating an
abstract hierarchical representation of the real-world
system.
 Visual modeling is the process of representing a
system with essential parts from a particular
perspective using some standard graphical
notations.
14
Visual Modeling (cont’d)
 In the software development process, visual
modeling can:
 capture business objects and logic;
 analyze and design applications;
 manage complexity;
 define the software architecture; and
 model systems independent of the implementation
language.
 The modeling language of choice to software
engineers is the Unified Modeling Language (UML)
15
Software Development
Methods
Representation
How to describe the
design model
(e.g. UML)
Process
What to do to produce the
design model
(e.g. Unified Process)
Techniques
How to adapt the models
to particular types of
problems
(e.g. heuristics and
procedures)
16
Role of Notation
 Capture requirements of the system;
 Analyze the system by developing suitable analysis models -
Models are expressed in an appropriate notation so that the
developer can easily find the things from which he or she can
quickly extract information;
 Develop the design of the system - Design models are
developed and expressed in an appropriate notation that can
be understood by the system designer and the programmer.
The system designer may need to manipulate the analysis
model and make design decisions in the process; and
 Implement, test and deploy the system - Again, the artifacts of
these activities are expressed in a suitable notation that can be
understood by the system designer, the programmers and
system testers.
17
Role of Process
 Ideally, a process should offer the following features:
 a well-managed iterative and incremental life cycle to provide the
necessary control without affecting creativity;
 embedded methods, procedures and heuristics for developers to
carry out analysis, design and implementation for the whole
software development life cycle (SDLC);
 a guide through the iterative and incremental development
process for the solution of complex problems;
 a comprehensive roadmap so that designers can walk through the
flexible multiple pathways of the development process depending
on the nature of the problem; and
 identification of less obvious requirements based on what have
already been known or modeled.
18
Role of Techniques
 The main purpose of the techniques part of a method is to
provide a set of guidelines and heuristics to help the developer
to systematically develop the required design models and
implementation.
 The techniques part of a method should include the following:
 a set of guidelines to produce and verify the design against the
original requirements and specifications;
 a set of heuristics for the designer to ensure consistency in the
structure of a design and also the design models. The latter
requirement is particularly important when the design is produced
by a team of designers who will need to ensure that their models
are consistent and coherent;
 a system to capture the essential features of the design so as to
supplement the limited designer’s domain knowledge.
19
Overview of the UML
 The UML is accepted by the Object Management Group
(OMG) as a standard way of representing object-oriented
analysis and design models.
 It has quickly become the de facto standard for building object-
oriented software.
 The OMG specification states:
 “The Unified Modeling Language (UML) is a graphical language
for visualizing, specifying, constructing, and documenting the
artifacts of a software-intensive system. The UML offers a
standard way to write a system's blueprints, including conceptual
things such as business processes and system functions as well
as concrete things such as programming language statements,
database schemas, and reusable software components.”
 Refer to Appendix B of the book for a more detailed
description of the UML.
20
Overview of the
Unified Process
 The Unified Process is a widely used software development
process.
 In the Unified Process, a system is built incrementally through
a number of iterations in which the designer may perform
requirements capturing, analysis, design, implementation and
testing tasks.
 Feedback is sought from system users throughout the entire
process.
 In early iterations, the designer often focuses more on
requirements capturing and analysis.
 In later iterations, the designer tends to emphasize
implementation and testing.
 In fact, the iterations are divided into four phases: inception,
elaboration, construction and transition, each with a different
focus.
21
Overview of the Unified
Process (cont’d)
22
Overview of the View
Alignment Techniques
 The key concept of the View Alignment Techniques is based
on the idea that models for different perspectives must contain
some common elements (linked elements).
 Thus we can simply start off with one model and generate a
(partial) model by identifying and using the linked elements.
 By filling in (elaborating) the missing information in the partially
complete model and identifying more linked elements, we can
create other models for different perspectives.
 Through this incremental and iterative process, we can create
all the models required.
 Once we have developed all the models that describe the
different perspectives of a system, we should be able to form a
complete and consistent picture of the system by consolidating
(aligning) these views.
23
Overview of the View
Alignment Techniques (cont’d)
 Therefore, by using the View Alignment Techniques
framework, we not only can ensure the models developed are
consistent, we can also systematically identify the sequence in
which the models should be developed.
 In other words, View Alignment Techniques can help
designers customize their method as they develop the system.
24
Overview of Visual
Paradigm for UML
 CASE tools can significantly help developers increase their
productivity, particularly if they provide facilities that automate
many model building procedures.
 Indeed, some CASE tools offer sophisticated facilities such as
diagram-to-code and code-to-diagram, with real-time
synchronization and consistency maintained in both directions.
 VP-UML, like most leading CASE tools, meets the following
requirements:
 Facilitate convenient model building. Models of the system should
be easily developed. Editor and documentation tools should be
provided and easy to use;
 Serve as repository. Models can be saved and retrieved with
ease;
 Support navigation. Linkages between models can be maintained
and traversed;
25
Overview of Visual
Paradigm for UML
 Generate documentation automatically. Documentations can be
generated for selected information of the software development
project;
 Facilitate project management. The project activities can be
planned and managed with ease;
 Facilitate configuration management and version control.
Documentations and components of different versions of the
system can be managed;
 Check model consistency. Consistency between models of the
system can be checked;
 Support model verification and validation. The correctness of the
models of the system can be verified and validated;
 Provide multi-user support. Multiple developers can work on the
project simultaneously and coherently;
 Generate code. Code can be generated from models;
26
Overview of Visual
Paradigm for UML
 Reverse engineering. Models can be generated from code; and
 Provide integration with other tools. The CASE tool can be
integrated with domain specific systems or tools so as to
accelerate the development process.
 Appendix A of the book provides more information about how
you can get started using the VP-UML CASE tool.

More Related Content

What's hot

Availability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsAvailability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal Models
Editor IJCATR
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
Varsha Ajith
 
Performance Evaluation using Blackboard Technique in Software Architecture
Performance Evaluation using Blackboard Technique in Software ArchitecturePerformance Evaluation using Blackboard Technique in Software Architecture
Performance Evaluation using Blackboard Technique in Software Architecture
Editor IJCATR
 
Object oriented analysis and design unit- v
Object oriented analysis and design unit- vObject oriented analysis and design unit- v
Object oriented analysis and design unit- v
Shri Shankaracharya College, Bhilai,Junwani
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
SIMONTHOMAS S
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
Mayukh Maitra
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technologySaransh Garg
 
Chapter02
Chapter02Chapter02
Chapter02
Franco Valdez
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and conceptsSlideshare
 
Object oriented analysis and design unit- iii
Object oriented analysis and design unit- iiiObject oriented analysis and design unit- iii
Object oriented analysis and design unit- iii
Shri Shankaracharya College, Bhilai,Junwani
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
madhavi patil
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
madhavi patil
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
Purvik Rana
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya
 
Unit3 Software engineering UPTU
Unit3 Software engineering UPTUUnit3 Software engineering UPTU
Unit3 Software engineering UPTU
Mohammad Faizan
 
software design
software designsoftware design
software design
PRIYADARSINISK
 
CS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,ShaalmaliCS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,Shaalmalisagar.247
 

What's hot (20)

Availability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsAvailability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal Models
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Performance Evaluation using Blackboard Technique in Software Architecture
Performance Evaluation using Blackboard Technique in Software ArchitecturePerformance Evaluation using Blackboard Technique in Software Architecture
Performance Evaluation using Blackboard Technique in Software Architecture
 
Object oriented analysis and design unit- v
Object oriented analysis and design unit- vObject oriented analysis and design unit- v
Object oriented analysis and design unit- v
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
 
Chapter02
Chapter02Chapter02
Chapter02
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
 
Object oriented analysis and design unit- iii
Object oriented analysis and design unit- iiiObject oriented analysis and design unit- iii
Object oriented analysis and design unit- iii
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
 
Ch10
Ch10Ch10
Ch10
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
10.1.1.9.5971 (1)
10.1.1.9.5971 (1)10.1.1.9.5971 (1)
10.1.1.9.5971 (1)
 
Design techniques
Design techniquesDesign techniques
Design techniques
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Unit3 Software engineering UPTU
Unit3 Software engineering UPTUUnit3 Software engineering UPTU
Unit3 Software engineering UPTU
 
software design
software designsoftware design
software design
 
CS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,ShaalmaliCS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,Shaalmali
 

Similar to Jar chapter 1

View Alignment Techniques
View Alignment TechniquesView Alignment Techniques
View Alignment Techniques
JIGAR MAKHIJA
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
do_2013
 
Software-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfSoftware-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdf
do_2013
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
do_2013
 
Various Approaches Of System Analysis
Various Approaches Of System AnalysisVarious Approaches Of System Analysis
Various Approaches Of System Analysis
Laura Torres
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
puttipavan23022023
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
Rishabh Soni
 
‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process
ijceronline
 
2. uml-methodology_hypermedia_design_2000
2.  uml-methodology_hypermedia_design_20002.  uml-methodology_hypermedia_design_2000
2. uml-methodology_hypermedia_design_2000eudal
 
Reverse Engineering for Documenting Software Architectures, a Literature Review
Reverse Engineering for Documenting Software Architectures, a Literature ReviewReverse Engineering for Documenting Software Architectures, a Literature Review
Reverse Engineering for Documenting Software Architectures, a Literature Review
Editor IJCATR
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
Satya P. Joshi
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
DebabrataPain1
 
UNIT 01 SMD.pptx
UNIT 01 SMD.pptxUNIT 01 SMD.pptx
UNIT 01 SMD.pptx
Kalpna Saharan
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
ShwetaGajbhiye12
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
Meghaj Mallick
 

Similar to Jar chapter 1 (20)

View Alignment Techniques
View Alignment TechniquesView Alignment Techniques
View Alignment Techniques
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
 
Software-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfSoftware-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdf
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
 
Various Approaches Of System Analysis
Various Approaches Of System AnalysisVarious Approaches Of System Analysis
Various Approaches Of System Analysis
 
Chapter1
Chapter1Chapter1
Chapter1
 
06 fse design
06 fse design06 fse design
06 fse design
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
Ch01
Ch01Ch01
Ch01
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process
 
2. uml-methodology_hypermedia_design_2000
2.  uml-methodology_hypermedia_design_20002.  uml-methodology_hypermedia_design_2000
2. uml-methodology_hypermedia_design_2000
 
Reverse Engineering for Documenting Software Architectures, a Literature Review
Reverse Engineering for Documenting Software Architectures, a Literature ReviewReverse Engineering for Documenting Software Architectures, a Literature Review
Reverse Engineering for Documenting Software Architectures, a Literature Review
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Ooad quest and ans
Ooad quest and ansOoad quest and ans
Ooad quest and ans
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
 
UNIT 01 SMD.pptx
UNIT 01 SMD.pptxUNIT 01 SMD.pptx
UNIT 01 SMD.pptx
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
 

More from Reham Maher El-Safarini

Ux
Ux Ux
Global threat-landscape report by fortinet.
Global threat-landscape report by fortinet.Global threat-landscape report by fortinet.
Global threat-landscape report by fortinet.
Reham Maher El-Safarini
 
Dynamics AX/ X++
Dynamics AX/ X++Dynamics AX/ X++
Dynamics AX/ X++
Reham Maher El-Safarini
 
Microsoft sql-and-the-gdpr
Microsoft sql-and-the-gdprMicrosoft sql-and-the-gdpr
Microsoft sql-and-the-gdpr
Reham Maher El-Safarini
 
AWS Cloud economics
AWS Cloud economicsAWS Cloud economics
AWS Cloud economics
Reham Maher El-Safarini
 
Cloud skills development
Cloud skills developmentCloud skills development
Cloud skills development
Reham Maher El-Safarini
 
AWS cloud adoption framework (caf)
AWS cloud adoption framework (caf)AWS cloud adoption framework (caf)
AWS cloud adoption framework (caf)
Reham Maher El-Safarini
 
Application and database migration workshop
Application and database migration workshopApplication and database migration workshop
Application and database migration workshop
Reham Maher El-Safarini
 
Containers on AWS
Containers on AWSContainers on AWS
Containers on AWS
Reham Maher El-Safarini
 
Security and governance with aws control tower and aws organizations
Security and governance with aws control tower and aws organizationsSecurity and governance with aws control tower and aws organizations
Security and governance with aws control tower and aws organizations
Reham Maher El-Safarini
 
Digital transformation on aws
Digital transformation on awsDigital transformation on aws
Digital transformation on aws
Reham Maher El-Safarini
 
Security in the cloud
Security in the cloudSecurity in the cloud
Security in the cloud
Reham Maher El-Safarini
 
2. migration, disaster recovery and business continuity in the cloud
2. migration, disaster recovery and business continuity in the cloud2. migration, disaster recovery and business continuity in the cloud
2. migration, disaster recovery and business continuity in the cloud
Reham Maher El-Safarini
 
1. aws overview
1. aws overview1. aws overview
1. aws overview
Reham Maher El-Safarini
 
Pgp
PgpPgp
ssl for securing
ssl for securingssl for securing
ssl for securing
Reham Maher El-Safarini
 
03 unity 3_d_part_2
03 unity 3_d_part_203 unity 3_d_part_2
03 unity 3_d_part_2
Reham Maher El-Safarini
 
01 unity 3_d_introduction
01 unity 3_d_introduction01 unity 3_d_introduction
01 unity 3_d_introduction
Reham Maher El-Safarini
 
unity basics
unity basicsunity basics

More from Reham Maher El-Safarini (20)

Ux
Ux Ux
Ux
 
Global threat-landscape report by fortinet.
Global threat-landscape report by fortinet.Global threat-landscape report by fortinet.
Global threat-landscape report by fortinet.
 
Dynamics AX/ X++
Dynamics AX/ X++Dynamics AX/ X++
Dynamics AX/ X++
 
Microsoft sql-and-the-gdpr
Microsoft sql-and-the-gdprMicrosoft sql-and-the-gdpr
Microsoft sql-and-the-gdpr
 
AWS Cloud economics
AWS Cloud economicsAWS Cloud economics
AWS Cloud economics
 
Cloud skills development
Cloud skills developmentCloud skills development
Cloud skills development
 
AWS cloud adoption framework (caf)
AWS cloud adoption framework (caf)AWS cloud adoption framework (caf)
AWS cloud adoption framework (caf)
 
Application and database migration workshop
Application and database migration workshopApplication and database migration workshop
Application and database migration workshop
 
Containers on AWS
Containers on AWSContainers on AWS
Containers on AWS
 
Security and governance with aws control tower and aws organizations
Security and governance with aws control tower and aws organizationsSecurity and governance with aws control tower and aws organizations
Security and governance with aws control tower and aws organizations
 
Digital transformation on aws
Digital transformation on awsDigital transformation on aws
Digital transformation on aws
 
Security in the cloud
Security in the cloudSecurity in the cloud
Security in the cloud
 
2. migration, disaster recovery and business continuity in the cloud
2. migration, disaster recovery and business continuity in the cloud2. migration, disaster recovery and business continuity in the cloud
2. migration, disaster recovery and business continuity in the cloud
 
1. aws overview
1. aws overview1. aws overview
1. aws overview
 
Pgp
PgpPgp
Pgp
 
ssl for securing
ssl for securingssl for securing
ssl for securing
 
03 unity 3_d_part_2
03 unity 3_d_part_203 unity 3_d_part_2
03 unity 3_d_part_2
 
02 unity 3_d_part_1
02 unity 3_d_part_102 unity 3_d_part_1
02 unity 3_d_part_1
 
01 unity 3_d_introduction
01 unity 3_d_introduction01 unity 3_d_introduction
01 unity 3_d_introduction
 
unity basics
unity basicsunity basics
unity basics
 

Recently uploaded

Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
EduSkills OECD
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
bennyroshan06
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
Steve Thomason
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
AzmatAli747758
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
Col Mukteshwar Prasad
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
Vivekanand Anglo Vedic Academy
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
PedroFerreira53928
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 

Recently uploaded (20)

Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 

Jar chapter 1

  • 1. 1 Chapter 1 Introduction Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence S.W. Lau and Y.K. Leung McGraw-Hill Education (Asia), 2005
  • 2. 2 What You Will Learn  Describe the advantages of the object- oriented approach to software development.  Discuss the roles of the three key components in software development.  Describe at a high level what the Unified Modeling Language, the Unified Process, the View Alignment Techniques, and the Visual Paradigm for UML are.
  • 3. 3 Software Engineering Approaches  The development of reliable software is a labor-intensive and expensive business.  Software development is also a high-risk venture, as can be seen by the countless documented reports of software project failures.  The rapid growth of the software industry over the past three decades has highlighted the need for disciplined approaches to developing large-scale software systems.
  • 4. 4 Software Engineering Approaches (cont’d)  Difficulties in developing large-scale software systems:  Long development time => technology changes, requirement changes  Large team => communication problem
  • 5. 5 Modeling  Modeling is a very important activity in software development in that the software engineer usually spends a lot of time developing models with different levels of abstraction before the software system is finally designed and implemented.  Models can be an effective communication tool, especially in situations where detailed information is not required.
  • 6. 6 Modeling (cont’d)  Different stakeholders want different level of abstractions.  Example – Bus Information System:  A model for the passenger. It can be represented by a straight line with circles on it, showing the bus stop names and possibly the associated fares.  A model for the bus driver. It may be a simplified map showing the route covered by a bus service. Street names and the actual route will also be included to provide more details to the driver.  A model for the planner of bus routes. It may consist of a detailed road map with the actual bus routes. Each bus route is labeled and shown in different colors.
  • 7. 7 Modeling (cont’d)  A model usually provides one or more views, and each view represents a specific aspect of the system. For example, the model for the passenger contains the fare view and the path view.  The fare view provides fare information for every stop on a route, while the path view provides the route information, including the associated street names.  Models based on different views of a system must be consistent, for example, the three dimensional model of a building must be consistent with the different elevations (models) of the same building.
  • 8. 8 Modeling (cont’d)  Furthermore, a model should be expressed using a suitable notation (language) that can be understood by the stakeholders.  In the context of software development, a system can be adequately described by the following three orthogonal views:  a functional view, which covers the transformation of data within the software system;  a static view, which covers the structure of the system and its associated data; and  a dynamic view, which covers the sequence or procedure of a transaction in the software system.
  • 9. 9 Structured Approach  Broadly speaking, there are two general approaches to software development: the structured approach and the object-oriented approach.  The structured approach has been very fashionable since the 1970s; it was adequately supported by conventional procedural languages.  The structured approach is centered on the system’s functional views and uses different models at various stages of the development process.  When development progresses from one stage to the next, the models in the current stage are transformed into the models of the next stage.
  • 10. 10 Structured Approach (cont’d)  There are three major weaknesses with the structured approach:  when functions of the system change => the analysis, the design models and the implementation of the system will have to be changed substantially.  transformation needs to be carried out whenever the models of the early stages have changed as a result of changes in the requirements or the correction of previous mistakes.  the dynamic view is almost non-existent in the structured approach.  The above weaknesses of the structured approach have made it less cost-effective when compared with the object-oriented approach.
  • 11. 11 Object-oriented Approach  This approach models a software system as a collection of collaborating objects.  An object and its data interact with other objects through messages being sent and received by the object and which manipulate the object’s data in the process.  The object-oriented approach allows the software engineer to develop consistent models of a software system much more easily, because the same set of models are used throughout the whole development process.
  • 12. 12 Object-oriented Approach (cont’d)  No effort or time is wasted by transforming and updating models in different stages.  Changes to an object-oriented system are localized in the objects themselves.  Therefore, the structure of a system developed by the object-oriented approach is more stable than that by the structured approach.
  • 13. 13 Visual Modeling  The human brain is capable of handling and processing only a limited amount of information at any one time.  Models can help reduce complexity by creating an abstract hierarchical representation of the real-world system.  Visual modeling is the process of representing a system with essential parts from a particular perspective using some standard graphical notations.
  • 14. 14 Visual Modeling (cont’d)  In the software development process, visual modeling can:  capture business objects and logic;  analyze and design applications;  manage complexity;  define the software architecture; and  model systems independent of the implementation language.  The modeling language of choice to software engineers is the Unified Modeling Language (UML)
  • 15. 15 Software Development Methods Representation How to describe the design model (e.g. UML) Process What to do to produce the design model (e.g. Unified Process) Techniques How to adapt the models to particular types of problems (e.g. heuristics and procedures)
  • 16. 16 Role of Notation  Capture requirements of the system;  Analyze the system by developing suitable analysis models - Models are expressed in an appropriate notation so that the developer can easily find the things from which he or she can quickly extract information;  Develop the design of the system - Design models are developed and expressed in an appropriate notation that can be understood by the system designer and the programmer. The system designer may need to manipulate the analysis model and make design decisions in the process; and  Implement, test and deploy the system - Again, the artifacts of these activities are expressed in a suitable notation that can be understood by the system designer, the programmers and system testers.
  • 17. 17 Role of Process  Ideally, a process should offer the following features:  a well-managed iterative and incremental life cycle to provide the necessary control without affecting creativity;  embedded methods, procedures and heuristics for developers to carry out analysis, design and implementation for the whole software development life cycle (SDLC);  a guide through the iterative and incremental development process for the solution of complex problems;  a comprehensive roadmap so that designers can walk through the flexible multiple pathways of the development process depending on the nature of the problem; and  identification of less obvious requirements based on what have already been known or modeled.
  • 18. 18 Role of Techniques  The main purpose of the techniques part of a method is to provide a set of guidelines and heuristics to help the developer to systematically develop the required design models and implementation.  The techniques part of a method should include the following:  a set of guidelines to produce and verify the design against the original requirements and specifications;  a set of heuristics for the designer to ensure consistency in the structure of a design and also the design models. The latter requirement is particularly important when the design is produced by a team of designers who will need to ensure that their models are consistent and coherent;  a system to capture the essential features of the design so as to supplement the limited designer’s domain knowledge.
  • 19. 19 Overview of the UML  The UML is accepted by the Object Management Group (OMG) as a standard way of representing object-oriented analysis and design models.  It has quickly become the de facto standard for building object- oriented software.  The OMG specification states:  “The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. The UML offers a standard way to write a system's blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software components.”  Refer to Appendix B of the book for a more detailed description of the UML.
  • 20. 20 Overview of the Unified Process  The Unified Process is a widely used software development process.  In the Unified Process, a system is built incrementally through a number of iterations in which the designer may perform requirements capturing, analysis, design, implementation and testing tasks.  Feedback is sought from system users throughout the entire process.  In early iterations, the designer often focuses more on requirements capturing and analysis.  In later iterations, the designer tends to emphasize implementation and testing.  In fact, the iterations are divided into four phases: inception, elaboration, construction and transition, each with a different focus.
  • 21. 21 Overview of the Unified Process (cont’d)
  • 22. 22 Overview of the View Alignment Techniques  The key concept of the View Alignment Techniques is based on the idea that models for different perspectives must contain some common elements (linked elements).  Thus we can simply start off with one model and generate a (partial) model by identifying and using the linked elements.  By filling in (elaborating) the missing information in the partially complete model and identifying more linked elements, we can create other models for different perspectives.  Through this incremental and iterative process, we can create all the models required.  Once we have developed all the models that describe the different perspectives of a system, we should be able to form a complete and consistent picture of the system by consolidating (aligning) these views.
  • 23. 23 Overview of the View Alignment Techniques (cont’d)  Therefore, by using the View Alignment Techniques framework, we not only can ensure the models developed are consistent, we can also systematically identify the sequence in which the models should be developed.  In other words, View Alignment Techniques can help designers customize their method as they develop the system.
  • 24. 24 Overview of Visual Paradigm for UML  CASE tools can significantly help developers increase their productivity, particularly if they provide facilities that automate many model building procedures.  Indeed, some CASE tools offer sophisticated facilities such as diagram-to-code and code-to-diagram, with real-time synchronization and consistency maintained in both directions.  VP-UML, like most leading CASE tools, meets the following requirements:  Facilitate convenient model building. Models of the system should be easily developed. Editor and documentation tools should be provided and easy to use;  Serve as repository. Models can be saved and retrieved with ease;  Support navigation. Linkages between models can be maintained and traversed;
  • 25. 25 Overview of Visual Paradigm for UML  Generate documentation automatically. Documentations can be generated for selected information of the software development project;  Facilitate project management. The project activities can be planned and managed with ease;  Facilitate configuration management and version control. Documentations and components of different versions of the system can be managed;  Check model consistency. Consistency between models of the system can be checked;  Support model verification and validation. The correctness of the models of the system can be verified and validated;  Provide multi-user support. Multiple developers can work on the project simultaneously and coherently;  Generate code. Code can be generated from models;
  • 26. 26 Overview of Visual Paradigm for UML  Reverse engineering. Models can be generated from code; and  Provide integration with other tools. The CASE tool can be integrated with domain specific systems or tools so as to accelerate the development process.  Appendix A of the book provides more information about how you can get started using the VP-UML CASE tool.