This document provides an overview of object oriented analysis and design (OOAD) and the unified process. It introduces key OOAD concepts like objects, classes, attributes, methods, and interactions through message passing. The benefits of object orientation are discussed. The unified process is presented as a popular iterative software development process used for building OO systems. The unified process consists of inception, elaboration, construction, transition, and production phases. Common UML diagrams like use case diagrams, class diagrams, object diagrams, and activity diagrams are also introduced as tools used in OOAD.
for coding and implementation, there is a need of more specific and detailed requirements. The output of this process can directly be used into implementation in programming languages.
Phase 2 - Task 1
Task Type:
Discussion Board
Deliverable Length:
400–600 words + 2 responses (100–200 words each)
Points Possible:
75
Due Date:
1/18/2015 11:59:59 PM
Primary Discussion Response is due by Wednesday (11:59:59pm Central), Peer Responses are due by Sunday (11:59:59pm Central).
Primary Task Response: Within the Discussion Board area, write 400–600 words that respond to the following questions with your thoughts, ideas, and comments. This will be the foundation for future discussions with your classmates. Be substantive and clear, and use examples to reinforce your ideas.
Library Research Assignment
Translating detailed requirements into a design is the next very important step. An integrated set of computer-aided software engineering (CASE) tools can be very useful in modeling and documenting a software application or system.
Investigate the library and Internet for information on at least 5 CASE tools such as unified modeling language (UML), functional decomposition diagrams, data flow diagrams, object diagrams, entity-relationship (E-R) diagrams, class diagrams, and structure charts.
· Compare and contrast 5 of the CASE modeling tools by giving a brief description, including strengths and weaknesses.
· Based on your research, which subset or individual CASE modeling tool or tools do you plan to use to develop the design for your project in this class, and why?
Responses to Other Students: Respond to at least 2 of your fellow classmates with a reply of 100–200 words about their Primary Task Response regarding items you found to be compelling and enlightening. To help you with your discussion, please consider the following questions:
· What did you learn from your classmate's posting?
· What additional questions do you have after reading the posting?
· What clarification do you need regarding the posting?
· What differences or similarities do you see between your posting and other classmates' postings?
For assistance with your assignment, please use your text, Web resources, and all course materials.
Course Materials
Phase 2 - Task 2
Task Type:
Individual Project
Deliverable Length:
2–3 new pages
Points Possible:
100
Due Date:
1/19/2015 11:59:59 PM
Weekly tasks or assignments (Individual or Group Projects) will be due by Monday, and late submissions will be assigned a late penalty in accordance with the late penalty policy found in the syllabus. NOTE: All submission posting times are based on midnight Central Time.
At this point, you are ready to execute the next phase in system development life cycle (SDLC), which is the design phase. Exploiting the research that you have performed in this week’s Discussion Board on the set of modeling tools, document the design for the application project that you selected.
Assignment
For this assignment, you will use Visio Software Application to develop the design employing the following computer-aided software engineering (CASE) modeling tools:
· Use case
· Functional decomposition diagr.
for coding and implementation, there is a need of more specific and detailed requirements. The output of this process can directly be used into implementation in programming languages.
Phase 2 - Task 1
Task Type:
Discussion Board
Deliverable Length:
400–600 words + 2 responses (100–200 words each)
Points Possible:
75
Due Date:
1/18/2015 11:59:59 PM
Primary Discussion Response is due by Wednesday (11:59:59pm Central), Peer Responses are due by Sunday (11:59:59pm Central).
Primary Task Response: Within the Discussion Board area, write 400–600 words that respond to the following questions with your thoughts, ideas, and comments. This will be the foundation for future discussions with your classmates. Be substantive and clear, and use examples to reinforce your ideas.
Library Research Assignment
Translating detailed requirements into a design is the next very important step. An integrated set of computer-aided software engineering (CASE) tools can be very useful in modeling and documenting a software application or system.
Investigate the library and Internet for information on at least 5 CASE tools such as unified modeling language (UML), functional decomposition diagrams, data flow diagrams, object diagrams, entity-relationship (E-R) diagrams, class diagrams, and structure charts.
· Compare and contrast 5 of the CASE modeling tools by giving a brief description, including strengths and weaknesses.
· Based on your research, which subset or individual CASE modeling tool or tools do you plan to use to develop the design for your project in this class, and why?
Responses to Other Students: Respond to at least 2 of your fellow classmates with a reply of 100–200 words about their Primary Task Response regarding items you found to be compelling and enlightening. To help you with your discussion, please consider the following questions:
· What did you learn from your classmate's posting?
· What additional questions do you have after reading the posting?
· What clarification do you need regarding the posting?
· What differences or similarities do you see between your posting and other classmates' postings?
For assistance with your assignment, please use your text, Web resources, and all course materials.
Course Materials
Phase 2 - Task 2
Task Type:
Individual Project
Deliverable Length:
2–3 new pages
Points Possible:
100
Due Date:
1/19/2015 11:59:59 PM
Weekly tasks or assignments (Individual or Group Projects) will be due by Monday, and late submissions will be assigned a late penalty in accordance with the late penalty policy found in the syllabus. NOTE: All submission posting times are based on midnight Central Time.
At this point, you are ready to execute the next phase in system development life cycle (SDLC), which is the design phase. Exploiting the research that you have performed in this week’s Discussion Board on the set of modeling tools, document the design for the application project that you selected.
Assignment
For this assignment, you will use Visio Software Application to develop the design employing the following computer-aided software engineering (CASE) modeling tools:
· Use case
· Functional decomposition diagr.
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
Event Management System Vb Net Project Report.pdfKamal Acharya
In present era, the scopes of information technology growing with a very fast .We do not see any are untouched from this industry. The scope of information technology has become wider includes: Business and industry. Household Business, Communication, Education, Entertainment, Science, Medicine, Engineering, Distance Learning, Weather Forecasting. Carrier Searching and so on.
My project named “Event Management System” is software that store and maintained all events coordinated in college. It also helpful to print related reports. My project will help to record the events coordinated by faculties with their Name, Event subject, date & details in an efficient & effective ways.
In my system we have to make a system by which a user can record all events coordinated by a particular faculty. In our proposed system some more featured are added which differs it from the existing system such as security.
Immunizing Image Classifiers Against Localized Adversary Attacksgerogepatton
This paper addresses the vulnerability of deep learning models, particularly convolutional neural networks
(CNN)s, to adversarial attacks and presents a proactive training technique designed to counter them. We
introduce a novel volumization algorithm, which transforms 2D images into 3D volumetric representations.
When combined with 3D convolution and deep curriculum learning optimization (CLO), itsignificantly improves
the immunity of models against localized universal attacks by up to 40%. We evaluate our proposed approach
using contemporary CNN architectures and the modified Canadian Institute for Advanced Research (CIFAR-10
and CIFAR-100) and ImageNet Large Scale Visual Recognition Challenge (ILSVRC12) datasets, showcasing
accuracy improvements over previous techniques. The results indicate that the combination of the volumetric
input and curriculum learning holds significant promise for mitigating adversarial attacks without necessitating
adversary training.
Vaccine management system project report documentation..pdfKamal Acharya
The Division of Vaccine and Immunization is facing increasing difficulty monitoring vaccines and other commodities distribution once they have been distributed from the national stores. With the introduction of new vaccines, more challenges have been anticipated with this additions posing serious threat to the already over strained vaccine supply chain system in Kenya.
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSEDuvanRamosGarzon1
AIRCRAFT GENERAL
The Single Aisle is the most advanced family aircraft in service today, with fly-by-wire flight controls.
The A318, A319, A320 and A321 are twin-engine subsonic medium range aircraft.
The family offers a choice of engines
Forklift Classes Overview by Intella PartsIntella Parts
Discover the different forklift classes and their specific applications. Learn how to choose the right forklift for your needs to ensure safety, efficiency, and compliance in your operations.
For more technical information, visit our website https://intellaparts.com
3. Introduction to OOAD
Object Orientated System Development:
⚫ Object oriented method of building software
⚫ Software is a collection of discrete objects that
encapsulates their data and the functionality that
manipulates the data
4. Introduction to OOAD (Contd.)
In OO System,
⚫ Everything is an object(Any real world entity).
Example: Customer, Car, Book, Hotel, Pilot, etc…
⚫ Each object is responsible for itself.
⚫ Each object has an attributes(data) and methods (functions).
Example: Car has an attributes such as model no, color, speed,
cost. It has methods start(), accelerate(), turnright(), turnleft(),
gearup(), geardown(), stop().
⚫ Objects are grouped into classes
⚫ Interactions through message passing (A sender object sends a
request (message) to another object (receiver) to invoke a
method of the receiver object’s)
6. Why Object Orientation? (Benefit of object orientation)
⚫ Higher levels of abstraction
⚫ Objects encapsulates data (attributes) and functions(methods). So
internal details are hidden from outside.
⚫ Support abstraction at object level.
⚫ Seamless transition among different phases of software development
⚫ Reduce the level of complexity and redundancy makes for clearer
and robust system development.
⚫ Encouragement of good programming techniques
⚫ Easy to produce more modular and reusable code through classes
and inheritance using OO language (C++,java…)
⚫ Promotion of reusability
⚫ Classes are designed generically with reuse as a constant
background goal in OO system using inheritance.
7. Why Object Orientation? (Benefit
of object orientation (Contd.)
Object-Oriented Analysis
An investigation of the problem (rather than
how a solution is defined)
During OO analysis, there is an emphasis on
finding and describing the objects (or concepts)
in the problem domain.
For example, concepts in a Library Information
System include Book, and Library.
Also called domain objects, entities.
8. Why Object Orientation? (Benefit of object orientation
Object-Oriented Design
Emphasizes a conceptual solution that fulfills the
requirements.
Need to define software objects and how they
collaborate to meet the requirements.
For example, in the Library Information System, a Book
software object may have a title attribute and a
getBookDetails() method.
• What are the methods needed to process the
attributes?
Designs are implemented in a programming language.
In the example, we will have a Book class in Java.
9. Analysis
investigation
of the problem
Design
logical solution
Construction
code
Analysis, Design and Construction
Book
(concept)
public class Book {
private String title;
public void getBookDetails()
{...}
}
Domain concept Visual Representation of
Domain concepts
Representation in an
object-oriented
programming language.
Book
Title : string
getBookDetails(
)
10. Analysis, Design and Construction (Contd.)
⚫ Analysis: - investigate the problem and the requirements.
⚫ What is needed? Required functions? Investigate domain objects.
⚫ Problem Domain
⚫ The Whats of a system.
⚫ Do the right thing (analysis)
⚫ Design:
⚫ Conceptual solution that meets requirements.
⚫ Not an implementation
⚫ E.g. Describe a database schema and software objects.
⚫ The Solution Domain
⚫ The‘Hows’ of the system
⚫ Do the thing right (design)
11. Analysis, Design and Construction (Contd.)
⚫ OOA: we find and describe business objects or
concepts in the problem domain
⚫ OOD: we define how these software objects
collaborate to meet the requirements.
⚫ Attributes and methods.
⚫ OOP: Implementation: we implement the design
objects in, say, Java, C++, C#, etc.
12. Unified Process (UP)
• The Unified Process is a popular iterative software
development process for building object oriented system.
• Iterative and evolutionary development involves
relatively early programming and testing of a partial
system, in repeated cycles.
• It typically also means that development starts before the
exact software requirements have been specified in detail;
• Feedback (based on measurement) is used to clarify,
correct and improve the evolving specification
• Rational Unified Process (RUP) – Detailed Refinement
of unified process
13. Unified Process (UP) -Advantages
⚫ Iterative and Incremental
⚫ Architecture Centric
⚫ Risk focussed
15. Phases of Unified process (contd.)
Inception
⚫ Communication and Planning
⚫ Feasibility study
⚫ Establish the business case for the project
⚫ Establish the project scope and boundary condition
⚫ Outline the usecases and key requirements
⚫ Outline the rough architecture
⚫ Identify risks
⚫ Prepare rough project schedule and cost estimation.
16. Phases of Unified process (contd.)
Elaboration
⚫ Planning and Modelling
⚫ Refines and expands the preliminary use cases that were
developed as part of the inception phase.
⚫ Expands the architectural representation to include five
different views of the software such as Use case model,
Requirements model, Design model, Implementation
model and Deployment model.
⚫ Establish and validate system architecture through
implementation of executable architecture base line (Partial
implementation of the system contains only core functionality) .
Its built in series of small time boxed iterations.
⚫ Final elaboration phase deliverable is plan for construction
phase (include cost and schedule)
17. Phases of Unified process (contd.)
Construction
⚫ Remainder of the system is built on foundation laid
in elaboration phase
⚫ System features are implemented in series of short
time boxed iterations.
⚫ Each iteration results in executable release of
software
⚫ As components are being implemented, unit tests
are designed and executed for each and Integration
activities are conducted.
.
18. Phases of Unified process (contd.)
Transition
⚫ System is deployed to target users
⚫ Feedback received from initial release may result in further
refinement.
⚫ The software team creates the necessary support information
(e.g., User manuals, Troubleshooting guides, installation
procedures) that is required for the release.
⚫ At the conclusion of the transition phase, the software increment
becomes a usable software release
Production
⚫ The ongoing use of the software is monitored, support for the
operating environment (infrastructure) is provided, and defect
reports and requests for changes are submitted and evaluated.
20. UML Diagrams
(Unified Modeling Language )
⚫ A language for visualizing, specifying, constructing, and
documenting the artifacts of a software-intensive system
⚫ The UML is a very important part of developing object
oriented software and the software development
process.
⚫ UML is a modeling language to express and design
documents, software.
⚫ Particularly useful for OO design
⚫ Independent of implementation language
21. Goals in design of UML
⚫ Provide users a ready – to use expressive visual modeling
language so they can develop and exchange meaningful models.
⚫ Provide extensibility and specialization mechanism to extend the
core concepts.
⚫ Be independent of particular programming language and
development process.
⚫ Provide a formal basis for understanding the m7. odeling
language.
⚫ Encourage the growth of the OO tools market.
⚫ Support higher – level development concepts.
⚫ Integrate best practices and methodologies.
22. Three ways to apply UML and Three perspectives to apply UML
⚫ Three ways to apply UML
⚫ UML as a sketch – informal and incomplete diagram to explore difficult parts
of problem
⚫ UML as blueprint – Detailed design diagrams used either for reverse
engineering(Code to diagram) and forward engineering(diagram to code).
⚫ UML as programming language – complete executatble specification of
software system in UML. Executable code will be automatically generated.
⚫ Three perspectives to apply UML
⚫ Conceptual Perspectives
⚫ Describing things in the domain of interest
⚫ Specification Perspectives
⚫ Describing software abstractions, but no commitment to a particular
implementation
⚫ Implementation Perspectives
⚫ Describing implementations in a particular technology
25. Usecase Diagram:
Use case diagram shows an interaction between users (Actors) and system
Usecase - Scenarios in which your system or application interacts with people,
organizations, or external systems
26. Example use case diagram for passport automation system
login
applicant
submit details
check status
passport
administrator
get details
police verify
regional
administrator
store verification
issue passport
27. Class Diagram:
Class Diagram gives the static view of an application.
A class can refer to another class. A class can have its objects or may inherit from
other classes.
UML Class Diagram gives an overview of a software system by displaying classes,
attributes, operations, and their relationships.
This Diagram includes the class name, attributes, and operation in separate designated
compartments.
29. Object Diagram
Object diagrams are derived from class diagrams so object diagrams are
dependent upon class diagrams.
Object diagrams represent an instance of a class diagram.
Object diagrams also represent the static view of a system but this static view is a
snapshot of the system at a particular moment
30. Activity Diagram:
Activity diagram describe the dynamic aspects of the system. Activity diagram is
basically a flowchart to represent the flow from one activity to another activity.
33. Sequence Diagram: (Interaction Diagram)
Sequence Diagrams depicts interaction between objects in a sequential order i.e. the
order in which these interactions take place
It shows timeline which show the order of the interaction visually by using the vertical
axis of the diagram to represent time what messages are sent and when.
34. 2: give details
4: verify the details
s
6: send details
7: verify details
8: send verification
9: update the details
11: verify the details
12: send verification
13: update the details
14: issue passport
details
10: send
5: update the detail
3: store the details
1: login
database
police
regional
administrator
passport
administrator
applicant
Example sequence diagram for passport automation system
35. Collaboration Diagram (Interaction Diagram)
A collaboration diagram is a type of interaction diagram that shows how various
software objects interact with each other within an overall IT architecture and how
users can benefit from this collaboration. It shows clear view of interaction between
objects. Messages are sequentially numbered. Its generated from sequence diagram
36. police
Example collboration diagram for passport automation system
4: verify the details
1: login passport
7: verify details
2: give details administrat
6
o
:rsend details
8: send verification
4: issue passport
12: send verification
10: send details
regional
3: store tha
ed
d
m
ei
tn
aiis
ls
trator
5: update the details
9: update the details
13: update the details
11: verify the details
1
applican
t
databas
e
37. State Chart Diagram
State chart Diagram describes different states of a component in a system. The
states are specific to a component/object of a system. It describes state machine.
It models dynamic behaviour of class.
38. Example state chart diagram for passport automation system
login give
details
get
details
verificati
on
issue
39. Component Diagram
Component diagram is to show the relationship between different components in a
system.
It model the physical aspects of a system. Physical aspects are the elements such as
executables, libraries, files, documents, etc. which reside in a node.
41. Deployment Diagram
Deployment diagrams are used to visualize the topology of the physical components of a
system, where the software components are deployed.
Deployment diagrams are used to describe the static deployment view of a system.
Deployment diagrams consist of nodes and their relationships
43. Package Diagram
Package diagrams are used to structure high level system elements.
Packages are used for organizing large system which contains
diagrams, documents and other key deliverables.
Package Diagram can be used to simplify complex class diagrams, it
can group classes into packages.
45. Case study: Hospital management system
A system to manage the activities in a hospital:
Patients request for appointment for any doctor. The details of the
existing patients are retrieved by the system. New patients update
their details in the system before they request for appointment with
the help of assistant. The assistant confirms the appointment based
on the availability of free slots for the respective doctors and the
patient is informed. Assistant may cancel the appointment at any
time.
Construct Actors, Use cases, class diagram, Sequence
Diagram and state chart diagram.
46. Case Study: The NextGen POS System
• A POS system is a computerized application used
to record sales and handle payments;
• it is typically used in a retail store.
• It includes hardware components such as a
computer and bar code scanner, and software to run
the system.
• It interfaces to various service applications, such as
a third-party tax calculator and inventory control.
47. Case Study: The NextGen POS System (Contd.)
• These systems must be relatively fault-tolerant. That is, even if remote
services are temporarily unavailable (such as the inventory system), they
must still be capable of capturing sales and handling at least cash
payments.
• A POS system must support multiple and varied client-side terminals and
interfaces. These include a thin-client Web browser terminal, a regular
personal computer with something like a Java Swing graphical user
interface, touch screen input, wireless PDAs, and so forth.
• we are creating a commercial POS system that we will sell to different
clients with disparate needs in terms of business rule processing.
Therefore, we will need a mechanism to provide this flexibility and
customization.
• Using an iterative development strategy, we are going to proceed through
requirements, object-oriented analysis, design, and implementation.
48. Case Study: The NextGen POS System (Contd.)
minor focus
Explore how to
User
interface
Application
Logic and
Domain object
layer
Technical
Services layer
connect to
other layers
Primary focus of
case study
Explore how to
design objects
Secondary focus
Explore how to
design objects
Item ID
Quantity
Payment
Sale
Database Access
Logging
49. Use Case Modelling
⚫ Use Case Model describes the proposed functionality of the new system. It is a
pictorial representation of interaction between user and system.(Usecase
Diagram)
⚫ Use Case represents a discrete unit of interaction between a user (human or
machine) and the system. Example :login to system, register with system and
create order are all Use Cases. It is also called scenarios.
⚫ Each Use Case has a description which describes the functionality that will be
built in the proposed system.
⚫ A Use Case may 'include' another Use Case's functionality or 'extend' another
Use Case with its own behavior.
⚫ Use Cases are typically related to 'actors'. An actor is a human or machine entity
that interacts with the system to perform meaningful work.
⚫ Actors An Actor is a user of the system. This includes both human users and
other computer systems. An Actor uses a Use Case to perform some piece of
work which is of value to the business.
50. Use Case Modelling (Contd.)
Components of Use case Diagrams
⚫ Use cases: A use case describes a sequence of actions
that provide something of measurable value to an
actor and is drawn as a horizontal ellipse.
⚫ Actors: An actor is a person, organization, or external
system that plays a role in one or more interactions
with your system. Actors are drawn as stick figures.
⚫ Associations: Associations between actors and use
cases are indicated by solid lines. An association
exists whenever an actor is involved with an
interaction described by a use case.
52. Use Case Modelling (Contd.)
Actors
• An actor models an external entity which communicates
with the system:
– User
– External system
– Physical environment Passenger
• An actor has a unique name and an optional description.
• Examples:
– Passenger: A person in the train
– GPS satellite: Provides the system with GPS coordinates
53. Use Case Modelling (Contd.)
Use Case
• A use case represents a class of functionality provided by
the system as an event flow.
A use case consists of:
• Unique name
• Participating actors
• Entry conditions
• Flow of events
• Exit conditions
• Special requirements
PurchaseTicket
56. Use case Modelling
Use Case: Process Sales
⚫ Customer arrives at POS checkout with goods to purchase.
⚫ Cashier starts a new sale.
⚫ Cashier enters item identifier.
⚫ System records sale line item and presents item description, price, and
running total. Price calculated from a set of price rules.
⚫ Cashier repeats step 3-4 until done with all items.
⚫ System presents total with taxes calculated.
⚫ Cashier tells Customer the total, and asks for payment.
⚫ Customer pays and System handles payment.
⚫ System logs completed sale and sends sale and payment information to
the external Accounting system (for accounting and commissions) and
Inventory system (to update inventory).
⚫ System presents receipt.
⚫ Customer leaves with receipt and goods.
57. Relating Use Cases
There are three other types of relationship
between usecases.
⚫ Extends
⚫ Includes
⚫ Generalization
58. <<extends>> Association (Relationship)
• <<extends>> relationship
represent exceptional or
seldom invoked cases.
• The exceptional event
flows are factored out of
the main event flow for
clarity.
• Use cases representing
exceptional flows can
extend more than one use
case.
• The direction of a
<<extends>> relationship is
to the extended use case
59. <<includes>>Association(Relationship) or
<<uses>> relationship
• <<includes>> relationship
represents behavior that
is factored out of the use
case.
• <<includes>> behavior is
factored out for reuse,
not because it is an
exception.
• The direction of a
<<includes>> relationship
is to the using use case
(unlike <<extends>>
relationships).
60. Generalization relationship
⚫ Use case generalization can be used when one use case that is similar to
another, but does something slightly differently or something more.
⚫ Generalization works the same way with use cases as it does with
classes.
⚫ The child use case inherits the behavior and meaning of the parent use
case.
⚫ Base and the derived use cases are separate use cases and should have
separate text descriptions
⚫ Represented by a line and a hollow arrow from child to parent
62. Applications
⚫ Software development
⚫ Solving any real world problems
⚫ Understanding the essential requirements of the customer to
ss.atisfy their business need