[go: up one dir, main page]

0% found this document useful (0 votes)
65 views5 pages

SIA Week 5

This document discusses objects, classes, attributes, methods, class diagrams, object modeling, generalization and inheritance in object-oriented systems. It provides definitions and examples of key concepts in object-oriented analysis and design including: - Objects and classes group common properties and behaviors and promote understanding of real-world systems. - Attributes store data values for object instances while methods implement operations for a class. - Generalization extracts shared characteristics into superclasses while specialization creates subclasses. - Prototyping produces interactive versions of ideas to allow evaluation and exploration of design alternatives.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views5 pages

SIA Week 5

This document discusses objects, classes, attributes, methods, class diagrams, object modeling, generalization and inheritance in object-oriented systems. It provides definitions and examples of key concepts in object-oriented analysis and design including: - Objects and classes group common properties and behaviors and promote understanding of real-world systems. - Attributes store data values for object instances while methods implement operations for a class. - Generalization extracts shared characteristics into superclasses while specialization creates subclasses. - Prototyping produces interactive versions of ideas to allow evaluation and exploration of design alternatives.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Objects and Classes

●Object can be a concept, abstraction or thing with crisp boundaries and meaning for the problem at hand.
●They promote understanding of the real world and provide a practical basis for computer implementations.
●A class describes a group of objects with similar properties (attributes), common behavior (operations),
common relations to other objects and common semantics.
●The objects in a class share a common semantic purpose.

Attributes
●An attribute is a data value held by the objects in a class.
●Each attribute has a value for each object instance.
●Different object instances may have same or different values for a given attribute.
●Each attribute name is unique within a class.
●An attribute should be a pure data value, not an object.                                   

Methods
●A method is the implementation of the operation for a class.
●An operation may have arguments in addition to its target object. Such arguments parameterize the
operation but do not affect the choice of method.
●The method depends only on the class of the target object.
●When an operation has methods on several classes, it is important that the methods all have the same
signature.
Class Name
Notations for Class Diagram
●Place the name of the class in the first partition (centered, bolded, & capitalized), list Attribute: Type = Value
the attributes in the second partition, and write operations into the third.
Operation(arg_List):
Object Modeling return type
●What is a model?
● They are used synonymously and mean they provide a simplified view of a complex system that we cannot
understand by looking at all of its components simultaneously.
Example:
●Clay model concentrates on the form of the car, nobody can sit in it.
●Prototypes are models.

An overview of OOSE development activities

Generalization, Inheritance and Specialization


 Generalization is used to refer to the relationship among classes, while inheritance refers to the
mechanism of sharing attributes and operations using the generalization relationship.
 Generalization and specialization are two different viewpoints of the same relationship, viewed from
superclass or from the subclass.
 Generalization is the process of extracting shared characteristics from two or
more classes, and combining them into a generalized superclass. Shared
characteristics can be attributes, associations, or methods.
 the classes Piece of Luggage (1) and Piece of Cargo (2) partially share the same
attributes. From a domain perspective, the two classes are also very similar.
During generalization, the shared characteristics (3) are combined and used to
create a new superclass Freight (4). Piece of Luggage (5) and Piece of Cargo (6)
become subclasses of the class Freight.
 specialization means creating new subclasses from an existing class. If it turns out
that certain attributes, associations, or methods only apply to some of the objects
of the class, a subclass can be created.
 class Freight (1) has the attribute Degree of Hazardousness (2), which is needed
only for cargo, but not for passenger luggage.
 Obviously, here two similar but different domain concepts are combined into one
class. Through specialization the two special cases of freights are formed: Piece of
Cargo (3) and Piece of Luggage
must provide its own
Abstract class
implementation.
●An incomplete superclass that defines common
Concrete class
features to several classes.
●Is a complete class.
●Not instantiated.
●Describes a concept completely.
●Frequently used to define methods to be
●Is intended to be instantiated.
inherited by subclasses.
●It may have abstract subclasses (but they in turn
●It can define the protocol for an operation
must have concrete descendants).
(abstract operation) without supplying a
●Only concrete classes may be leaf classes in the
corresponding method, for which each subclass
inheritance tree
Metadata
Data about data. ●Parts catalogs, blue-prints, dictionaries etc.
●Models are inherently metadata. ●Patterns and Metadata
What is a prototype?
For users to effectively evaluate the design of an interactive product, designers must
produce an interactive version of their ideas, this activity is called prototyping.
●In other design fields a prototype is a small-scale model:
●a miniature car ●a model of a building
●In interaction design it can be
●a series of screen sketches ●a PowerPoint slide show
●a video simulating the use of a system ●a lump of wood, e.g. hand-held computer
●a cardboard mock-up ●a piece of software with limited functionality
Why prototype?
●Evaluation and feedback:
      allows stakeholders to interact with an envisioned product, to gain some experience of using it in realistic
settings and to explore imagined uses
●Communication among team members: ●Validation of design ideas:
      clarifies vague requirements       test out the technical feasibility of an idea
●Choosing between alternatives:
      provides multiple designs for the application
What to prototype?
●Technical issues ●Screen layouts and information display
●Work flow, task design ●Difficult, controversial, critical areas
Low-fidelity Prototyping
●Does not look very much like the final product
●Uses materials that are very different from the intended final version, such as paper and cardboard rather
than electronic screens and metal, e.g. palm pilot
●Used during early stages of development
●Cheap and easy to modify so they support the exploration of alternative designs and ideas
●It is never intended to be integrated into the final system. They are for exploration only.
Examples of Low-fidelity prototyping
●Storyboards ●Sketching ●Index cards ●‘Wizard of Oz’
High-fidelity prototyping
 Choice of materials and methods -similar or identical to the ones in the final product
 Looks more like the final system -appearance, not functionality
 Common development environments
-Macromedia Director, Visual Basic, Smalltalk, -Web development tools
 Misled user expectations -users may think they have a full system*
System concepts for Object Modeling
●Object Oriented Concepts:
 Encapsulation  Inheritance  Polymorphism
Encapsulation
●Is an Object-Oriented Programming concept that binds together the data and functions that manipulate the
data.
●It Keeps Same type of Data.
●A language construct that facilitates the bundling of data with the methods (or other functions) operating on
that data
●Encapsulation can be used to hide data members and members function... Under this definition,
encapsulation means that the internal representation of an object is generally hidden from view outside of the
object's definition.
Types of Inheritances
Single Inheritance:
In this type of inheritance one derived class inherits from only one base class. It is the simplest form of
Inheritance.
Multiple Inheritance
In this type of inheritance, a single derived class may inherit from two or more than two base classes.
Hierarchical Inheritance
In this type of inheritance, multiple derived classes inherit from a single base class.
Multilevel Inheritance
In this type of inheritance, the derived class inherits from a class, which in turn inherits from some other class. The
Super class for one, is sub class for the other.
Hybrid Inheritance
Hybrid Inheritance is combination of Hierarchical and Multilevel Inheritance

Polymorphism
●Polymorphism means Many Shapes
●Polymorphism is the ability of an object to take on many forms. The most common use of polymorphism in
OOP occurs when a parent class reference is used to refer to a child class object.
●It is used by Virtual keyword.
Fast Software Design Method
Software Design Method
1.Joint Application Development (JAD) is a technique that complements other systems analysis and
design techniques by emphasizing participative development among system owners, users, designers, and
builders.
2.Rapid application development (RAD) is the merger of various structured techniques (especially the data-
driven information engineering) with prototyping techniques and joint application development techniques to
accelerate systems development.
RAD calls for the interactive use of structured techniques and prototyping to define the users’ requirements
and design the final system
3.Object-oriented design (OOD) techniques are used to refine the object requirements definitions identified
earlier during analysis, and to define design specific objects.
RAD calls for the interactive use of structured techniques and prototyping to define the users’ requirements
and design the final system.
4.Modern Structured Design
●Structured design seeks to factor a program into the top-down hierarchy of modules.
●The software model derived from structured design is called a structure chat
Representing Design Specifications
•Structure Charts
–Shows how an information system is organized in hierarchical modules
–Shows how parts of a system are related to one another
–Shows breakdown of a system into programs and internal structures of programs written in third and fourth
generation languages
Procurement Phase and Systems Design
- Procurement Phase - Software Design
What is Systems Design?
●Systems design is the specification of a detailed computer-based solution. It is also called physical design.
●The purpose of the systems design phase is to create a print that will satisfy all requirements for the system.
Hardware and Software Acquisition (Procurement Phase)
●Research technical criteria (if necessary)
●Ask proposals and/or quotes from vendors (a letter)
●Evaluate vendor proposals and a congratulation letter
Design and Integration Phase
●Analyze and Distribute Processes ●Design Computer Outputs and Inputs
●Analyze and Distribute Data ●Design User Interfaces
●Design Files and Database(s) ●Present and Review Design
Highly Cohesive and Loosely Coupled
●Modules should be highly cohesive; that is, each module should accomplish one and only one function.
●Modules should be loosely coupled; in other words, modules should be minimally dependent on one
another.
*
Difference

You might also like