Professional Documents
Culture Documents
2) Data Modeling The information collected from business modeling is refined into a set of
data objects that are significant for the business
3) Process The data object that is declared in the data modeling phase is transformed
Modeling to achieve the information flow necessary to implement a business
function
4) Application Automated tools are used for the construction of the software, to convert
Generation process and data models into prototypes
5) Testing and As prototypes are individually tested during every iteration, the overall
Turnover testing time is reduced in RAD.
iv) PROTOTYPING
A prototype is an incomplete system design that represents the initial working version of the system.
Entails models (pictorial representations of the system) which prepared after detailed structured
methods or JAD sessions.
During prototyping team members take ownership of the system and commit themselves to its
successful implementation.
It is a screen-based development tool, with 2 main features i.e.:
i) Users should be involved in development.
ii) Users do not know what they want until they see it.
By manipulation of a screen interface, the data and the data structures are fashioned to particular
requirements.
Users are actively involved in the development hence can commit themselves fully to ensure
successful completion.
Results in higher user satisfaction especially if it grows out of JAD sessions, as users are fully
involved
Since a working model of the system is provided, the users get a better understanding of the system
being developed.
Errors can be detected much earlier hence corrected before it is too late/ Missing functionality can be
identified easily
Quicker user feedback is available leading to better solutions/ system developers receive quantifiable
user feedback.
Confusing or difficult functions can be identified
Reduces development time and costs since only necessary documentation & training occurs during
prototyping sessions.
Exposes developers to potential future system enhancements.
It may increase the complexity of the system as scope of the system may expand beyond original
plans.
It can lead to insufficient/incomplete/inadequate problem analysis.
Can cause systems to be left unfinished and/or implemented before they are ready
It is difficult to prototype large systems because of their complexity;
Sometimes it leads to incomplete documentation.
Developers can become too attached to their prototypes
If sophisticated software prototypes (4th GL or CASE Tools) are employed, the time saving benefit of
prototyping can be lost.
Types of Prototyping
i) Throw away prototype: first prototype used to define user requirements and is abandoned after
forming final system.
ii) Evolutionary/ incremental prototyping: This is repeatedly refined prototype until the final system is
formed.
v) WEB INFORMATION SYSTEMS DEVELOPMENT METHODOLOGY (WISDM)
It is derived from Multiview, a methodology which attempts to fuse soft systems approaches with hard
approaches.
In WISDM, a project is considered as being made up of five aspects, each of which can be treated
alone or together with the others at different stages of a project.
These aspects are:
i) Organizational analysis – involving a range of stakeholders and concentrating on strategy
ii) Information analysis – really a specification of requirements
iii) Work design – attempting to address user satisfaction
iv) Technical design – designing the software
v) Human-computer interface (HCI) – which addresses the user interface and relates work design and
technical design
This methodology is much more comprehensive and all-encompassing than the other design
methodologies.
However, it remains to be seen which approach becomes the most successful.
It is made up of the following stages/phases:
i) Requirements Analysis
ii) Conceptual Design
iii) 3Navigation Design
iv) Adaptation Design
v) Presentation Design
b) What are the benefits of OOAD over other approaches in terms of strengths and
weaknesses?
Strengths
i) The principles of encapsulation and data hiding help the developer to develop systems that cannot be
tampered by other parts of the system. In this case attributes and methods (functions) are bound
together ina class. The elements hidden in class are only accessible through an interface. Also, hidden
data does not overload the system hence efficiency in operation as opposed to structured analysis and
design.
ii) It enables reuse of code through inheritance. In this case, programmers are able to create classes from
existing classes (parent class/ bases class/ generic class/ super class) to specify a new implementation
while maintaining the same behaviours. It facilitates independent extension of original software
through public classes and interfaces. For example, one generic class (Car) can be created and then
subclasses (RaceCar and Limousine) be defined from it such that they inherit the generic class’s traits.
iii) It allows flexibility through polymorphism. In this case an object can take multiple forms. Also, one
function can be applied to several objects e.g. drive function can be used to drive a RaceCar and
Limousine objects.
iv) Easy to Understand: Since OOAD principles are fundamentally based on real world objects, it’s quite
easy for everyone on the team to quickly understand what an object name means or how a particular
behavior behaves. This makes the overall development life cycle a much smoother process.
v) Employs the aspects of modularity hence effective in problem solving. In thi case the software is to
break down into smaller problems that are solved independent of each other..
vi) Employs the aggregation technique: the relationship between objects and classes is possible
Weaknesses o of Object-Oriented Analysis and Design
i) Ill-Suited to Procedural Applications: due to the object-oriented nature of OOAD, it is quite difficult to
practice OOAD techniques within a procedural programming language, or often to apply the
techniques to non-object business logic.
ii) All the interfaces between the objects cannot be represented in a single diagram.
iii) Functionality is restricted within objects. This may pose a problem for systems which are intrinsically
procedural or computational in nature.
iv) It is too Complex for simple applications
Assignment 2
a) Draw 3 examples of UML class diagram. Include 3 attributes and 2 operations.
The Unified Modeling Language (UML) class diagram with a static structure that is used to describe the
structure of a system by showing its classes, attributes, methods (operations), and the relationships among
objects.
Example 1