Consider a car manufacturer that can make cars that comes with many different, optional features. A customer first chooses a basic version of the car, and he can add in any features that he likes, e.g. leather seats, sports rims, heated steering wheel, etc.. Design a software system that can create a car with any combination of features easily without changing the structure of any software classes. What design pattern will you use? Draw the class diagram. You may give your classes any names that you like.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
Consider a car manufacturer that can make cars that comes with many different, optional
features. A customer first chooses a basic version of the car, and he can add in any features
that he likes, e.g. leather seats, sports rims, heated steering wheel, etc..
Design a software system that can create a car with any combination of features
easily without changing the structure of any software classes. What design pattern
will you use? Draw the class diagram. You may give your classes any names that you
like.
Transcribed Image Text:Consider a car manufacturer that can make cars that comes with many different, optional features. A customer first chooses a basic version of the car, and he can add in any features that he likes, e.g. leather seats, sports rims, heated steering wheel, etc.. Design a software system that can create a car with any combination of features easily without changing the structure of any software classes. What design pattern will you use? Draw the class diagram. You may give your classes any names that you like.
car manufacturer decides to introduce different trim levels of the car where each trim
level corresponds to a pre-determined set of features a fixed number of pre-
selected features). For example, there may be three trim levels, Basic, Extra and
Ultimate, which contains 5, 10 and 20 pre-selected features respectively.
However, the car manufacturer wants to retain the flexibility of being able to change
what features go into which trim. For example, in the 2023 model year, the Basic
trim does not have leather seats, but in the 2024 model year, the manufacturer may
want to include leather seats in the Basic trim. The customers cannot choose what
features to be included; they can only choose which trim level to buy.
Design the software system so that there are fixed trim levels for the customer, and
the manufacturer can easily change what features go into which trim level at any
time. What design pattern(s) will you use? (HINT: finite number of combinations =
finite number of 'states'). Draw the Class diagram. Include all attributes or
operations that are essential to the Design Pattern(s) you have chosen. Any other
attributes or operations are optional. You can give them any names that you like.
Transcribed Image Text:car manufacturer decides to introduce different trim levels of the car where each trim level corresponds to a pre-determined set of features a fixed number of pre- selected features). For example, there may be three trim levels, Basic, Extra and Ultimate, which contains 5, 10 and 20 pre-selected features respectively. However, the car manufacturer wants to retain the flexibility of being able to change what features go into which trim. For example, in the 2023 model year, the Basic trim does not have leather seats, but in the 2024 model year, the manufacturer may want to include leather seats in the Basic trim. The customers cannot choose what features to be included; they can only choose which trim level to buy. Design the software system so that there are fixed trim levels for the customer, and the manufacturer can easily change what features go into which trim level at any time. What design pattern(s) will you use? (HINT: finite number of combinations = finite number of 'states'). Draw the Class diagram. Include all attributes or operations that are essential to the Design Pattern(s) you have chosen. Any other attributes or operations are optional. You can give them any names that you like.
Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY