You are on page 1of 4

1- Suppose you design an architecture for an application for college

registration. What is a good style to use? Give your justification.

(Answer) Object-Oriented architecture is a suitable architecture for designing an application


for college registration. The properties of Object-Oriented architecture are as follows:

 Object-Oriented architecture maps the application to real world objects for making it
more understandable.
 It is easy to maintain and improves the quality of the system due to program reuse.
 This architecture provides reusability through polymorphism and abstraction.
 It has ability to manage the errors during execution. (Robustness)
 It has ability to extend new functionality and does not affected on the system.
 It improves testability through encapsulation.
 Object-Oriented architecture reduces the development time and cost.

In an application for college registration, the following use cases are required:

 Login

- Register for Courses

- Maintain Student Information

- Maintain Professor Information

- Select Courses to Teach

- Submit Grades

- View Report Card

- Close Registration.

Figure 1 is the use -case diagram of a college registration application. [2]


Figure 1 : Use -case diagram of a college registration application.

One of the major advantages of object oriented architecture is program reuse. This is
especially significant in a college registration application. A student selecting any
course/stream would have a number of core courses to enroll in. Since all the students
enrolling for a particular course are expected to enroll in the same core courses, program reuse
can be used to design the records for the students enrolling in the same program by making the
core courses common for all the students and hence reducing the time and space required for
the architecture and design. Also, different subjects will have the same professor teaching the
subject. The procedure for submitting the grade and close registration are same for all the
students irrespective of the program enrolled in. Hence program reuse is useful in these
scenarios also.
Another advantage of object-oriented architecture is that it’s highly malleable in that it
can easily accommodate modifications/ changes should the need arise for them. During a
registration procedure, it is highly common for students to add, drop or change the courses as
per his/her requirements. It’s imperative that the changes should be accommodated in the
least stressful and easy way. New courses are also added periodically, hence, the functionality
is also extended periodically. Hence, object oriented architecture is a good style to use to
design the college registration application

2- Suppose you design a software architecture for a new self-driving car. Is


the pipe and filter style good for this purpose? Give the reasons to use or
not use the pipe and filter style.

(Answer) The pipe and filter style architecture is a good candidate as a suitable style for the
software architecture of a self-driving car. It has the advantages of throughput, latency, parallel
programming, deadlock and concurrent execution. These properties are suitable for its
applications in a new self-driving car. However, whether the style is the most suitable one is a
subjective choice and decision.
At the heart of the RCS (Radio Computing Services) control loop, there exists a
representation of the external world, the world model, which provides a site for data fusion,
acts as a buffer between perception and behavior, and supports both sensory processing and
behavior generation. Sensory processing performs the functions of windowing, grouping,
computation, estimation, and classification on input from sensors. World modeling maintains
knowledge in the form of images, maps, events or relationships between them. Value judgment
provides criteria for decision making. Behavior generation is responsible for planning and
execution of behaviors . A design was proposed for a node in a hierarchical control structure,
where perception at lower level nodes generates inputs for higher level nodes, thus increasing
the level of abstraction and cognition.
However, in the automotive context it is not always a requirement for lower node’s output
to be input of higher nodes. It may be such that nodes at different hierarchical levels process
the same sensor data. Moreover, low level control loops such as longitudinal or lateral control,
which need basic sensor input to execute their tasks, need no world modeling capacity. Their
structure is thus reduced to flat, simple, control loops with multiple processing steps (e.g. noise
filtering, data comparison).
From an architectural point of view, a flat stream of data which passes through different,
individual, processing steps can be represented as a pipe-and-filter pattern . The pattern divides
a process into several sequential steps, connected by the data flow - the output data of a step is
the input to the subsequent step. Each processing step is implemented by a filter component.
In its pure form, the pipe-and-filter pattern can only represent sequential processes. For
hierarchical structures, a variant of the pattern, called tee-and-join pipeline, is used . In this
paradigm, the input from sensors is passed either to a low level pipeline corresponding to a low
level control loop, to a higher level pipeline, or both.
An alternative to the chosen architectural style is a component-based architecture. This style
specifies that all components can be interchangeable and independent of each other. While it is
a popular choice for functional software architecture description , it reveals no information
about functional hierarchies. Another alternative, the layered architectural style, would limit
component communication because the commands have to flow strictly from the higher layer
to the lower one, thus grouping all decisions at a layer.

REFERENCES:

(1) https://drive.google.com/file/d/0B18FH3NJiMhZVU9FdG92RTNuUEE/view

(2)
https://sceweb.uhcl.edu/helm/RUP_course_example/courseregistrationproject/artifacts/analysisndesig
n/sadoc.htm

You might also like