Technical Assignment Help,top grade assignment help, PHP Assignment help, Top Grade Assignment, Assignment help australia, online assignment help, java assignment help

Understand object oriented design concepts

 In this given case study is discussed about object oriented design, Class diagram, Architecture Diagram, Use case, Activity, sequence 

Introduction

Object oriented design is one approach of designing software and it is the process of planning a system of interacting objects for the purpose of solving a software problem. In Object oriented design object contains encapsulated data and procedures grouped together which will represent an entity. Association between object is also defined. Object-oriented design is the discipline of defining the objects and their interactions to solve a problem that was identified and documented during object-oriented analysis.

Object oriented design

Understand object-oriented design concepts

Applying Principles of good object oriented practice

object-oriented design

Object Orientation addresses the main topics things which influence the rate of success for the developer or team of developers:

  • How easy is it to understand and implement a design
  • How understandable an existing code set is,
  • How much pain one has to go through to find and fix a bug, add a new feature as part of software change management, etc.

Most end users and stakeholders are not concerned with whether or not a system is designed with Object Oriented principles or Object Oriented Programming System. They are concerned with the end result of the process. Good Object Oriented design is very much beneficial for the development team.

Object oriented best-practice principles that arose from the wise dons of procedural programming. The three pillars of “good code” or design are

  • Strong cohesion,
  • Loose coupling, and
  • the elimination of redundancies,

All above are supported by OOD.

Object, Class and Object oriented principles

With reference to the use case given, following is description of use of principles of good object oriented practice

Object oriented design

The software design that makes use of classes and objects along with their interaction/communication with each other is object oriented design. In the use case solution, Customer, Order, OnlineOrders, OfflineOrders are used as classes.      The classes are instantiated to get their objects. For example, Customer c=new Customer() will give “c” as object of class. The communication between each of these entities is governed by standard OOD principles as mentioned below

Objects / classes

Class is an entity that is responsible for a task. In use case, all attributes (variables) and operations (methods) related to task of customer are enveloped within Customer class while all attributes (variables) and operations (methods) related to task of order are enveloped within Order class. An object is a copy of class that is used to invoke attribute all attributes (variables) and operations (methods). For example, c.getFirstName(); will give us customer’s first name

Relationship (generalisation, aggregation)

An association (“simple association”) between two peer classes. It represents a pure structural relationship between two peers. Both classes are conceptually at the same level, neither being more important than the other. Graphically, an association is rendered as a solid line connecting two classes

A generalization is a relationship between a general element (superclass or parent) and a more specific kind of that element (subclass or child). Also a generalization is used to point the inheritance relationship between two             interfaces (a child and a parent). Generalization means that a child inherits the properties (attributes, operations, and others) of its parents and that objects of the child element may be used anywhere the objects of the parent element may appear. Graphically, a generalization is rendered as a solid directed line with a large closed arrowhead, pointing to the parent

Methodologies

The Unified Modelling Language (UML) is an Object-Oriented language for specifying, visualising, constructing, and documenting the artefacts of software systems, as well as for business modelling [Also Read:- Translation Memory Database Assignment Help]

Object Oriented Design principles

Encapsulation

Encapsulation is the hiding of data implementation by restricting access to accessors and mutators. Accessor is a method that accesses data for example, Getter method. Mutator is a method that changes values of data for example, setter method

Inheritance

Objects can relate to eachother with either a “has a”, “uses a” or an “is a” relationship. “Is a” is the inheritance way of object relationship. In the use case solution, OnlineOrder “is a” Order

Polymorphism

A method having same name but different functional behaviour is polymorphism. Examples are overloading and overriding

Method AcceptPayment is present in superclass Order. It has been implemented in two sub classes viz. OnlineOrders and OfflineOrders. The implementation of the method differs as per business in online and offline modes.

 Abstraction

It is a way to decompose complex functionality into smaller ones

Applying Inheritance

1.3 Applying Inheritance

Applying Inheritance in software system to help to reuse code. It is a mechanism for code reuse and to allow independent extensions of the original software via public classes and interfaces.

In online store also it is very much used full in which implementation of method or class will be reused in the system viz inheritance

Utilizing Polymorphism

Utilizing Polymorphism

Best designs always contain the more use polymorphism

Read more about Online Assignment Help

Perform object-oriented analysis and design

Suitable static and dynamic models

Design models show the objects and object classes and relationships between these entities.

Below are the static and Dynamic model is identified for the give case study

Static Model: it describes the static structure of the system in terms of object classes and relationships.

  • Class Diagram

The purpose of the diagram is  show classes identified and how it used in the system  – Customer, Web User, Account, Product, Order, Payment, Shopping Cart, etc. and relationships between. It could be used as a common ground between business analysts and software developers which will help for good software system

Below are two Class diagram for the given case study

Class Diagram

Class Diagram

Each customer is identified with id and is linked to account.  Account owns shopping cart and orders. Customer need to register as a web user so that it will search and select and buy items online.

Customer is not required to be a web user because purchases could also be made through offline store.

Login name is used by Web user and it have multiple states states like  – new, active, etc and will be linked to a shopping cart.

Checkout will be done based on step and refer to several payments, possibly none,  Every payment has unique id and is related to exactly one account through credit Card, Cash, Debit Card. Each order has current order status. Customer can see the status at any given time. Out of Stock item handling will be done as per the case study and will be tracked with Order Management workflow.

Architecture Diagram

Dynamic models: it describes the dynamic interactions between objects.

  • Use case diagram
  1. Top level use cases for a customer making purchases online

dynamic interactions

Top level use cases are

  • View Items,
  • Make Purchase and
  • Client Register.

View Item use case is explained with several optional use cases such as

  • customer search for items,
  • browse catalog,
  • view items
  • Add items to shopping cart or wish list.

All these use cases are extending use cases because they provide some optional functions allowing customer to find item.

top grade assignment help

Checkout use case includes several other uses cases.

  • Authentication of customer: It could be done using user login page, and user authentication cookie (“Remember me”) or Single Sign-On (SSO).

Checkout use case also includes Payment use case which could be done either by using credit card and Debit card payment service or cash.

top grade assignment help

  • Activity Diagram

Customer can browse or search items, view specific item, add it to shopping cart, view and update shopping cart, checkout. User can view shopping cart at any time. Checkout is assumed to include user registration and login. Below are the two Activity Diagram produced

Top grade assignment

Interaction diagram

  • Interaction diagram

 Customer may search or browse items, add or remove items from shopping cart, do checkout.

Interaction diagram

  • Sequence diagram: High level sequence diagram is produce

oops assignment help

Allocation of features on selection of suitable classes

oops assignment help

Identify classes and features

 Which classes will you design and what features (states/behaviours) will they have?

Public Class Order

Variables:

Public int id, public int item_ID, public int amount_of_item, item_qty, Date dateOfCapture, Float total_amount, public int CustomerID, public string ShippingAddress, public string NofifyAddress

Methods:

CaptureOrder(), CancelOrder(), CheckStock(), DeleteItem(), makePayment()

Public Class OnlineOrder extends Order ()

Variables:

Public int id, public int item_ID, public int amount_of_item, Date dateOfCapture, Float total_amount, public int CustomerID, public string ShippingAddress, public string NofifyAddress

Methods:

CaptureOrder(), CancelOrder(), CheckStock(), DeleteItem(), makePayment()

Public Class OfflineOrder extends Order ()

Variables:

Public int id, public int item_ID, public int amount_of_item, Date dateOfCapture, Float total_amount, public int CustomerID, public string ShippingAddress, public string NofifyAddress

Public Methods:

CaptureOrder(), CancelOrder(), CheckStock(), DeleteItem(), makePayment()

Justification of classes and their features

Customer class has all the personal information of Customer

Order is a super class that has abstract methods and variables that are reusable in subclasses

OnlineOrders is a sub class of class Order

Offline Orders is a sub class of class Order

Suitable architectural subdivisions

suitable architectural subdivisions

Suitable Architectural subdivision is discussed in the diagram and details entities and processes is discussed in Architecture diagram produced as part of Static Model [Also Read:- Phone Gap Android Assignment Help]

Analysis and Design processes

analysis and Design processes

  1. Object-oriented analysis: builds a real-world model
  2. System design: determines overall architecture of system
  3. Object design :decides upon data structures and algorithms
  4. Implementation: translates design into programming language

Object-Oriented Analysis: Analysis is done and detailed finding and description of the objects or concepts of the problem domain is explained. It is explained what system will do and how it will do the right thing.

Object-Oriented Design: in this emphasis is done on defining software objects and how they collaborate to fulfill requirements mentioned in the case study. Here focus was done on how the system will do it and how it will do it thing right.

System design and all the business process of the system as per case study is evaluated and analyzed, and it is fulfilling all the requirement mentioned and all the detail of Object Oriented Design is produce in the documents

Read more about Assignment Help Australia 

Conclusion

In this task, Object Oriented suitable static and dynamic models for a given case study is discussed, Class diagram, Architecture Diagram, Use case, Activity, sequence and interaction diagram is produces and evaluated. Identification of classes and features is discussed and justification of classes and its features is produced.

Justification of suitable architectural diagram and sub division of diagram is presented, Object oriented Analysis and Design processes is discussed in details

 References

  1. Designing Flexible Object Oriented systems with UML – Charles Ritcher
  2. Object Oriented Analysis & Design, Satinger. Jackson, Burd Thomson
  3. Object oriented Modeling and Design with UML – James Rumbaugh. Micheal Blaha (second edition)

Top Grade Assignment Help provide best quality technical assignment writing service in affordable prices and we are providing most flexible assignment writing according to Students need, so book your Assignment with us, order now 

About the Author

Alice