Examine the object-oriented programming paradigm


Course Learning Outcome:

LO1 Examine the key components related to the object-oriented programming paradigm, analyzing design pattern types

Assignment Brief and Guidance:

You are recently hired by NetSolace as Trainee Developer under the Mentorship program. You are deployed with Team Echo as your start.

Team Echo is currently working on a Project that involves Object Oriented Programming skills, hence, the team leader has assigned you the task to develop a report comprising of the following:

I) Examine the object-oriented programming paradigm characteristics and develop a professionally formatted report that would include these characteristics (i.e. Encapsulation, polymorphism, constructors/destructors, sub objects, abstract/concrete, interface, method, redefinition, generics/templates, containers etc. Also include the information about class relationships like generalization/Inheritance, realization, dependency, aggregation, composition etc. (P1)

II) Determine the design patterns from each of the creational, structural and behavioral pattern types (M1)

III) Analyze the relationship between OOP paradigm and the design patterns (D1)

Assignment - UML Documentation

L02 Design a series of UML class diagrams

Assignment Brief and Guidance:

You are working in NetSolace to help improve their documentation for their in-houses software libraries which were developed with very poor documentation. As a result it has been very difficult for the company to utilize their code in multiple projects due to poor documentation. Your role is to alleviate this situation by developing a series of UML diagrams to reflect the existing code and to develop new diagrams for future implementation.

You will be required to analyze the existing code and then build accurate UML class diagrams based on the existing code. Once completed you will also need to identify possible situations where design patterns would be beneficial and then develop the UML diagrams reflecting the design patterns.(P2)

Develop the UML diagrams and compile them into a PDF reference guide, with each set of diagrams paired with the respective code (M2) and include a relationship between the actual OOP paradigm and its corresponding design pattern in this report (D2)

L03 Implement code by applying design patterns.

Assignment Brief and Guidance:

You are required to implement design patterns using an IDE such as Eclipse. Tasks related to LO3 are following:

  • Setup of a project with version control in bitbucket. Use an IDE (Eclipse) to develop a small application that implements few examples of creational, structural and behavioral design patterns. (P3)
  • Develop code based on the solution you proposed as UML diagrams in D2. (M3)
  • Evaluate the use of design patterns for the given purpose specified in M3. Discuss trade- offs / consequences by applying design patterns. (D3)

LO4 Investigate scenarios with respect to design patterns code by applying design patterns.

Assignment Brief and Guidance:

You are given here several scenarios. You are required to analyze them and suggest a suitable pattern for them.

Scenarios:

1. You are a member of a programming team, and have been asked to design the class structure for a custom aircraft design system in a computer game. An aircraft will have two basic properties: its name and capacity. Each aircraft can then be customized with various additions. An aircraft may optionally have one or all of a first-class cabin, a viewing area, a communications system and/or a booster rocket. A first-class cabin means the aircraft can have first-class passengers, a viewing area is a place where passengers can watch the scenery below, a communications system is so passengers can talk to people on the ground, and a booster rocket enables the aircraft to move twice as fast. For example, the aircraft GoodCruiser has a capacity of 100 passengers, a first-class cabin and a booster rocket. The aircraft RuthlessRogue has a capacity of 20 passengers, a viewing area and a communications system. One member of your team quickly begins outlining a set of classes on the whiteboard:

// The generic aircraft

class Aircraft { private int capacity; private String name; }

// An aircraft with an added first-class cabin

class FirstClassCabinAircraft extends Aircraft { }

// An aircraft with an added viewing area

class ViewingAreaAircraft extends Aircraft { }

// An aircraft with an added communications system

class CommunicationsSystemAircraft extends Aircraft { }

// An aircraft with an added first-class cabin and communications system class FirstClassCabinCommunicationsSystemAircraft extends Aircraft { }

What is wrong with the design? Which design pattern would be suitable to remove deficiencies in the design.

2. Consider a scenario of a database server. We want to efficiently manage and restrict the number of connections to databases. Which design pattern would be suitable in this case?

3. Consider a scenario of database transactions. There are different types of database transactions, e.g. add record, update record and delete record etc. If transaction fails, then there is an option of rollback transaction. Which design pattern is suitable to handle these types of transactions and also provides the ability to encapsulate these processes?

4. Consider a scenario of house building. There are two options to build house i.e. Wooden House and Glass House. However, the processes / steps for building any two of them are same which include operations such as build foundation, build pillars, build walls and build windows etc. Although, the processes / steps are same but implementation is different for wooden and glass houses. Which design pattern would be suitable to implement this scenario?

5. Consider an example of online taxi services (i.e. Cream). The company has list of customers and drivers. When a customer requests for a cab, then a driver accepts and visits customer for a ride. Which pattern can be used to implement this scenario. Explain with UML diagram

and also explain list of classes and methods involved in this pattern.

LO4 Tasks:

Following are the tasks related to LO4.

  • Discuss a range of design patterns with relevant examples of creational, structural and behavioral pattern types. (P4)
  • Reconcile the most appropriate design pattern from a range with a series of given scenarios above. Apply the pattern using UML diagram for each scenario. (M4)
  • Critically evaluate a range of design patterns against the range of given scenarios with justification of your choices. (D4)

Don't waste your valuable time in roaming here and there and avail our Advanced Programming Assignment Help service and get benefited in the most precise and professional manner.

Tags: Advanced Programming Assignment Help, Advanced Programming Homework Help, Advanced Programming Coursework, Advanced Programming Solved Assignments, Object-Oriented Programming Paradigm Assignment Help, Object-Oriented Programming Paradigm Homework Help

Attachment:- Advanced Programming.rar

Request for Solution File

Ask an Expert for Answer!!
C/C++ Programming: Examine the object-oriented programming paradigm
Reference No:- TGS03035665

Expected delivery within 24 Hours