Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

1- Suppose you were assigned to develop a logical model of the registration syst

ID: 3662370 • Letter: 1

Question

1- Suppose you were assigned to develop a logical model of the registration system at a school or college. Would you be better off using a top-down approach, or would a bottom-up strategy be better? What would influence your decision? Please Explain.

2-You are an IT consultant, and you are asked to create a new system for a small real estate brokerage firm. Your only experience is with the traditional data and process modeling techniques. This time, you decide to try an object-oriented approach. How will you begin? How are the tasks different from traditional structured analysis? Please Explain.

Explanation / Answer

A top-down approach (also known as stepwise design and in some cases used as a synonym of decomposition) is essentially the breaking down of a system to gain insight into its compositional sub-systems in a reverse engineering fashion. In a top-down approach an overview of the system is formulated, specifying but not detailing any first-level subsystems. Each subsystem is then refined in yet greater detail, sometimes in many additional subsystem levels, until the entire specification is reduced to base elements. A top-down model is often specified with the assistance of "black boxes", these make it easier to manipulate. However, black boxes may fail to elucidate elementary mechanisms or be detailed enough to realistically validate the model. Top down approach starts with the big picture. It breaks down from there into smaller segments.

2)

object-oriented
programming (OOP) is used to manage the complexity of software systems.
However, OOP technology provides several advantages. OOP applications
are easier to maintain, have more reusable components, and are more
scalable, to name a few.

Maintainable
OOP methods make code more maintainable. Identifying the source of errors becomes easier because objects are self-contained (encapsulation). The principles of good OOP design contribute to an application’s maintainability.

Reusable
Because objects contain both data and functions that act on data, objects can be thought of as self-contained “boxes” (encapsulation).
This feature makes it easy to reuse code in new systems. Messages
provide a predefined interface to an object’s data and functionality.
If you know this interface, you can make use on an object in any
context you want. OOP languages, such as C# and VB.Net, make it easy to
expand on the functionality of these “boxes” (polymorphism and inheritance), even if you don’t know much about their implementation (again, encapsulation).

Scalable
OO applications are more scalable then their structured programming
roots. As an object’s interface provides a roadmap for reusing the
object in new software, it also provides you with all the information
you need to replace the object without affecting other code. This makes
it easy to replace old and aging code with faster algorithms and newer
technology.

Some Disadvantages
The challenges of OOP exists mainly in the conversion of legacy systems
that are built in structured programming languages. The technical
challenge is not as big as the actual design challenge. The goal when
converting is to minimize the effects of the stuctural systems on the
OO nature of the new design, and this can sometimes be difficult.