SIA Week 5
SIA Week 5
●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.
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