Get Instant Help From 5000+ Experts For
question

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing:Proofread your work by experts and improve grade at Lowest cost

And Improve Your Grades
myassignmenthelp.com
loader
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Guaranteed Higher Grade!
Free Quote
wave
Social Ads Development: Patterns, Implementation, and Sequences

Question:

Software Design: The Social Ads System Project

The case study

Online Social Advertisement is a marketing agency that wishes to establish an online system | Social Ads | to host advertisements about businesses’ services: location, o erings, opening hours, promotional deals and updates on their ser-vices. Social Ads is made up of two sub-systems: the advertiser sub- system and the consumer system. Your task for deliverable D2 Part 2 involves enrich-ing a partial class diagram of Social Ads with design patterns and extending the provided Java implementation from D2 Part 1 to implement these design patterns.

Problem Narrative

Within Social Ads, consumers who wish to bene t from discounts on advertised services can subscribe to Social Ads. A consumer can subscribe and create a pro le in their own name as an individual consumer, or in the name of a business that the consumer works for, as a corporate consumer. The consumer subscrip-tion is subject to a monthly fee. Once they are subscribed, consumers can rank/provide reviews on services, search for services in di erent search modes. Upon subscription, the consumer receives a loyalty card which will be used as a veri cation when they are trying to claim bene ts from their account. Inter-nally, the system also uses that loyalty card to check that a consumer is only allowed to upload a review or ranking on a service.

In return for the monthly subscription that they pay, consumers (both cor-porate and individual) would get discounts on the products they buy (in the case the advertiser sells actual physical products), getting higher priority in bookings, and discounts on gym memberships for example. Assumptions about the scope of Social Ads are presented in the next section. Requirements of the consumer sub-system are detailed in Table 1.

Assumptions

The use of the word \system" throughout this document refer to the web-site of Social Ads available to its advertisers and consumers.

"Rank"/"Rate" refers to giving a star rating/ranking to on an advertise-ment without a written review. "Review" refers to leaving a written review on the service being advertised.

Social Ads maintains a database made up of advertisements and reviews/ratings. The advertisers are developed pro t organisations rather than companies that are still under development or non-pro t organisations.

The system con rms the age limit of the individual consumers is above 18 by requesting a driving license number or passport number in order to check the date of birth.

In the case of a corporate consumer, his/her age is assumed to be over 18 and it is further assumed that he is in fact an employee of the organisation he/she claims when creating a corporate consumer pro le.

Verifying the bank details and completing nancial subscription payments is outside the scope of Social Ads.

The system uses an external mail server to handle e-mails sent to adver-tisers and consumers.

Upon the completion of any transaction made, the Social Ads is noti ed of its completion.

The system only hosts advertisements for services in the UK.

All subscription payments are assumed to be made in British sterling pounds.

Tasks

A simple implementation of the requirements in Table 1 is provided on Moodle under the Resources section (the same source code used for D2 Part 1). A partial class diagram is also available under in the Resources Moodle section as a Draw.io le. Use these resources to complete the following tasks.

Extend the Provided Class Diagram

Extend the provided class diagram using the classes in Figure 1 to show the following:

RRDatabase and RRDisplay to implementing the interface "Observer" 

LoyaltyCard to implementing the interface "Subject" ReviewDatabase as a Singleton

IndividualConsumer and CorporateConsumer as subclasses of Consumer with suitable methods

 Individual Consumer and Corporate Consumer

Figure 1: Classes to be used in extending the partial class diagram provided on Moodle

Note this will require the alteration of some methods in the provided class diagram. Show associations (with their multiplicity, labels, and navigabilities). Save a clear image of the extended class diagram in a Word document of PDF le. Add 3-5 sentences explaining what changes you made to the class diagram to accommodate the design patterns listed above.

Extend the Implementation

Use the Integrated Development Environment (IDE) of your choice, extend/change the implementation on Moodle under the Resources section to accommodate the design patterns you added in the class diagram. The following scenarios should be then be implemented.

Create ReviewDatabase as singleton

In SignUp(), the system should ask the consumer to identify as an indi-vidual or corporate consumer. The appropriate object type should then be created.

After the consumer reviews or rates an advertisement the loyaltyCard should update rrDatabase(display reviewed/rated advertisements) and rrDis-play(store all reviewed/rated advertisements) in accordance with the Ob-server pattern.

Put the Java class les of the whole extended system a zip le.

Produce Output Trace

In your extended implementation change the simulation() method to show out-put for the following scenario.

The customer is an individual consumer The details of the consumer are printed The consumer searches

{ ("Double Glazing","B42 2SU") { ("Books","DY1 4YP")

{ ("Books","DY1 4VP")

The consumer displays all searches Activity is registered on

{ "Smiths:Bay Window" { "Johnsons:Bay Window"

The consumer displays all reviewable/ratable advertisements The consumer selects the following to review

{ "Smiths:Bay Window" { "B&Q:Hammer"

The consumer displays all reviews from rrDisplay The consumer selects the following to rate

{ "Smiths:Bay Window" { "Screw x:Screw Driver"

The consumer displays Reviews from rrDisplay

The reviewed/rated advertisements are printed from rrDattabase

Save the output traces to the same Word document/PDF le used in Task 3.1.

Produce Sequence Diagrams

Draw the sequence diagrams for the following methods:

  1. Class:Adminstration Method: SignUp(String title) - Include object inter-actions up to the call "consumer.simulation()". You do not need to show the sequence of calls inside the simulation() method.
  1. Class:LoyaltyCard, Method; rateAd(String title)

Save the sequence diagrams in the same Word document/PDF le used in Tasks 3.1 and 3.3. 

  • D2 Part 2 Speci cation

Deliverable D2 Part 2 is worth 30% of the coursework for the Software Design module.

Table 2 prescribes what should be included in the submission.

Each pair should make one zip le submission including all the contents in Table 2. The zip le should contain:

{ A zip le containing the Java class les of the extended implementa-tion

{ A single word document or PDF containing the output of Tasks 3.1, 3.3 and 3.4 above. Make sure the Word document/PDF le has the student names and IDs of both pair members.

You can use the tool of your choice when drawing the diagrams and IDE of your choice when extending the implementation.

support
Whatsapp
callback
sales
sales chat
Whatsapp
callback
sales chat
close