Custom Essays and Free Coursework

The UK's Favourite Provider of Custom Essays, Custom Dissertations, Free Coursework, Model Answers, University Assignments.

degree essays logo

Introduction:

The impressive improvements that are continuously being made in cost-effectiveness of computer hardware are causing an enormous expansion in the number of application for which computing is becoming a feasible and economical solution. This in turn is placing greater and greater demands for the development and operation of computer software systems. The growth of software industry has not however been painless. Statistics shows that the development of software has been marked by cost over-run, late deliveries, poor reliability and users dissatisfaction. In an effort to bring discipline to the development of software systems, attempts have been made since 1970s to apply the rigours of science and engineering to the software production process (Tarek K. Abdel-Hamid and Madnick 1989).The methodologies have matured from the introduction of Structured Analysis method in late seventies to the Object Oriented Analysis of eighties.

Structured System Analysis and Design:

Structured Systems Analysis/Structured Design, abbreviated SSA/SD, (also called Structured Analysis and Design, abbreviated SA/SD) has been the most popular and widely used analysis and design method since the 1970s. Although it is being superseded by object-oriented approaches, many of the notations, processes, and heuristics of this method have been adopted by later methods.

Structured Systems Analysis and Design Methodology is the most sophisticated of the function-oriented analysis and design methods. Structured Systems Analysis (SSA) was originally developed by Yourdon and DeMarco and refined several times. SSA formed the mainstream of Systems Analysis from the late 1970’s into the 1990’s. SSA is still the preferred systems analysis for a lot of people.

Principles of Structured Methodology:

Since its introduction in the late seventies, Structured Analysis has undergone a considerable amount of changes, however the underlying principles have more or less remained the same. It belongs to a broad family of design methods based on hierarchical decomposition of function, often referred to as functional analysis.
Structured analysis and design is an approach that emphasizes analysis of data flows and processes rather than control flows or functional hierarchies.
This approach uses data flow diagrams, data dictionaries, minispecs, and structure charts to produce and document analyses and designs.The method was pioneered by Larry Constantine in 1974 and documented in a variety of books. The best modern treatment of structured analysis is Edward Yourdon, “Modern Structured Analysis”,

Yourdon Press, 1992 (Yourdon 1992). Modern treatments of structured design are rare (probably because the design process and heuristics are not very useful), so the best introduction is Edward Yourdon and Larry Constantine, “Structured Design”, Prentice-Hall, 1979.(Yourdon and Constantine 1979)
The methodology since its inception has influenced other design methods and is also supported my most CASE tools.

The Notations used in the Structured Methodology are,[1]

Data flow diagrams (DFDs) show functional decomposition, with an emphasis on the transfer of data in and out of the system and between program units.

A context diagram is a special kind of data flow diagram used to depict the inputs and outputs of a system as a whole.

Pseudocode/Minispecs is English written with programming constructs as a means of easily but precisely describing processing.

A data dictionary is a master list of all the data flows, stores, terminators, processes, minispecs, attributes, and data elements in a system.

According to Demarco (DeMarco 1978), the Analysis should include four steps modeling the current physical, current logical, new logical and new physical. Each step should consist of a complete description of the system by DFDs, the data dictionary and minispecs. Although there has been a lot of debate on the usefulness of a current physical model and has resulted in many recommendations like building an “Essential Model” (Palmer and McMenamin 1984) or skipping the building of a current physical model (Yourdon 1992)

Structured Analysis/Structured Design contained a practice known as “The Transform Analysis” [2], which was used to convert the diagrams representing a Structured Analysis into the diagrams that represented a Structured Design. This practice, and indeed much of the documentation of the period, established the notion that the design was directly derivable from the analysis by applying some simple transformation rules. This meant that the analysis was really a preliminary description of the design, requiring only a mapping operation to complete. In SASD it was necessary to finish the analysis before the Transform Analysis could be applied to translate the analysis into a design. Thus, SASD strongly reinforced the waterfall model of systems development.

Critical Assumptions Underlying Structured Analysis (Bansler and Bodker 1993)
· Structured Methodology is representative of a “Functionalist”[3] or a “System-Structural” approach to the study of organizations. So the organization is seen as a “machine” designed to perform a given function optimally.
· The problem that is to be solved is clearly defined, and will not change during the process. It is possible to verify if the solution obtained meets the initial design criteria.
· The designer is assumed to be completely rationale i.e., he has complete knowledge as to what the final solution should look like.
· It is possible to separate function from implementation, i.e. decisions about the new physical model must be postponed until after the new logical model has been determined.

These assumptions have led to a number of deficiencies with regard to the practical application of the method:
· Structured Analysis underrates the skill of the workers and workers or people are made into objects, perceived as system components comparable with tools, machines and raw materials.
· In real life design situations, problems are ill defined more often than not, Objectives and goals are vague and keep changing constantly which undermines the assumptions of the Structured Method.
· Usually the design process is a collective process where interactions between several actors take place and not just by a rational designer. The Structured method overlooks the fact that some form of active user participation is indispensable when objectives and evaluation criteria are not explicit and fixed at the outset.
· It is less likely that the user will be able to imagine how the system will function only by looking at formal descriptions such as the data flow diagrams.
· The data flow diagrams and the various types of formal notations are not designed with the user in mind, and hence causes difficulties in communicating with the users

Structured Methodology thus needed a lot of refinement to be actually used in theory, there was a need for a more user-centered approach to Systems Analysis and Design.

In the late 1980’s a new set of ideas arrived in the field of systems analysis and design – Object Oriented Analysis and Design.

Object Oriented Methodology:

Though object-orientation (OO) was invented in the sixties, it languished for two
decades, before rising to popularity in the nineties. At first, there was just object-oriented programming (OOP). Soon, however, the OO prefix was applied to both analysis (OOA) and design (OOD).
The goal for OOA was to eliminate the Transform Analysis that was used in structured methods, or its equivalent. Instead of having to translate the finished analysis into a design, an OOA could be elaborated into an OOD through the addition of extra detail. This meant that the analysis and design could be performed in the same notation, and at the same time.
Object-oriented analysis examines system requirements from the perspective of classes and objects found in the specified domain. It looks at the behaviour of the system independent of its domain. Object-oriented analysis looks at the real-world environment, in which a system will operate, with this environment consisting of people and things interacting to create some result. The people and things are first analysed in the most abstract form and these abstractions become the class. The abstraction is analysed and reanalysed in multiple iterations until all objects are uniquely identified. Object characteristics and their behaviours are then analysed to establish the various states an object can have and to define the methods the object will use to create action. This analysis effort will identify the objects that will need to be created and supported as well as the methods and the messages used by the objects to cause actions. How does this differ from traditional analysis methods? In the traditional method, the focus is on business processes and the data needed to support the process. Traditional methods describe the system in terms of inputs, outputs and data flows -- starting with a structured analysis and developing procedural programs. Object-oriented analysis shifts the focus to an effort to combine processes and data into objects to de-emphasise the focus on procedures. The object knows how to accomplish a task or behaviour; therefore, it is not important to the analysis effort to focus on the processes associated with the behaviour, shifting the focus from how to what a system is supposed to do. Object-oriented analysis models the concepts of behavioural and interaction within a system rather than the processes and procedures.
Object-oriented development is not a new technology but it has not had widespread use and is still maturing. Object-oriented analysis starts you on a path that can lead to benefits not only in the analysis process but also in subsequent development phases.

Benefits of Object Oriented Methods:

Proponents of the object-oriented approach list the benefits as
· An easier way to promote the understanding of a system,
· Reusability of models and programming, modifiability
· Reduced costs associated with change
· Reduced development risk
· High quality of the models
· High productivity
· The development speed, degree of organization, robustness, and code reuse have all been enhanced so much that going back to any other way of doing things is completely unthinkable.
· Encapsulation of data and behaviour into a single entity (i.e., the object)

These benefits lead to a superior method of analysing business processes and requirements. Finally, because the contemporary view of development is from the object-oriented perspective, object-oriented analysis allows us to take advantage of the contemporary programming languages, operating systems and associated tools.
Objects are said to replicate what humans see in real life and, therefore, appeals to human cognition.
The object-oriented paradigm views the world as composed of objects with well-defined properties, with objects replicating things in an environment. It is easier to promote a user's understanding when the user is presented with objects describing things found in the normal course of conducting business. Reusability is a desired goal of all development and is based on the reluctance of reinventing something when it has already been invented. Object-oriented development supports this, especially in the concept of abstraction. Abstraction supports continual iterations of analysis until unique objects are found in a class hierarchy. These unique objects inherit characteristics from the higher-level classes and this allows you to reuse information from the previously defined classes, eliminating the need to reinvent it. The use of objects makes it easier to change and modify systems.
While the proponents of object-oriented analysis detail the benefits discussed above, critics have maintained that it is not the solution to all problems.
Criticisms of object-orientation include
· lack of standardization,
· the costly nature of adopting this paradigm,
· problems associated with the concept of reusability,
· applicability of adopting it for legacy systems
· confusion of too many OOA/D methods[4]
Changing from a traditional development model to an object-oriented approach is costly and should not be dismissed lightly.
This change requires the infamous paradigm shift, meaning you have to completely change your way of thinking and change your business processes as well as invest in training in order to ensure the staff is ready to accommodate the changes. This requires an investment in not only money but also time. Critics of object-oriented development contend reusability is very difficult to employ in both new development and the continual development of systems.

In spite of these criticisms, Object Oriented Approaches are better suited than Structured approaches, an important reason being the fact that it reduces complexity, which has been the root cause of many IS failures in the past. Coad and Yourdon suggest 7 aspects of complexity any form of analysis needs to address, and which the OO approach embodies,
· Abstraction
· Encapsulation
· Inheritance
· Association
· Communication
· Pervading Methods of Organisation
· Scale
· Categories of Behaviour

Most importantly OO approach is an incremental and iterative approach thus it takes into consideration the aspects of risk involved in the development process unlike the structured approaches.

Should businesses adopt object-oriented analysis? There is no clear-cut answer to this because it is dependent upon business needs, and the willingness of the business to make the investment necessary to adopt this methodology. In order to adopt this methodology, the business should invest in training for all individuals involved in the analysis process and slowly integrate the process by using it in low-risk projects first to allow the analysts to learn from their mistakes. Successful adoption of this methodology lies in commitment, training, and experience.

Conclusion:

It is clear that the Object Oriented paradigm and technologies are with us to stay and will help us create the application systems of the next century. Object Oriented Development (OOD) has been touted as the next great advance in software engineering. It promises to reduce development time, reduce the time and resources required to maintain existing applications, increase code reuse, and provide a competitive advantage to organizations that use it. There are many pitfalls and traps involved in using OOD technologies[5] , just like there are in using traditional methodologies for systems development. However, if OOD is used properly, the rewards and benefits can be greater than using traditional approaches and this would definitely lead to a reduction of Information Systems Failures.

  1. Palmer and McMenamin supplement Structured Analysis with tools to describe data relationships at a higher level in entity-relationship diagrams (Palmer and McMenamin 1984) . To describe time-dependent behavior, Yourdon has added State Transition Diagrams to Structured Analysis (Yourdon 1992).[Return]
  2. Refer paper written by Robert C. Martin at http://www.objectmentor.com/resources/articles/On_Analysis[Return]
  3. From the Burrell and Morgan Paradigm of classification of Organisational Theories.[Return]
  4. There are a number of OOAD Methodologies, some of the major methodologies include Booch OOMD, Coad and Yourdan OOMD, Fusion, Jacobson Objectory, LBMS SE00Rumbaugh OMT[Return]
  5. Refer “Pitfalls of Object Oriented Development” by Shah, Sivitanides and Martin[Return]
  • BIBLIOGRAPHY:
  • Avison, D and Fitzgerald, G., (1995). Information Systems Development: Methodologies, Tools and Techniques. 2/E. McGraw Hill, Maidenhead
  • Bansler , J. and K. Bodker (1993). "A Reappraisal of Structured Analysis: Design in an Organizational Context." ACM transactions on Information Systems 11: 165-193.
  • DeMarco, T. (1978). Structured Analysis and System Specification. New York, Yourdon Press.
  • Palmer, J. and S. McMenamin (1984). Essential Systems Analysis. New York, Yourdon Press/ Prentice-Hall.
  • Tarek K. Abdel-Hamid and S. E. Madnick (1989). "Lessons Learned from Modelling the Dynamics of Software Development." Communications of the ACM 32(12).
  • Yourdon, E. (1992). Modern Structured Analysis. New York, Yourdon Press/Prentice Hall.
  • Yourdon, E. and L. Constantine (1979). Structured Design, Prentice-Hall.



IT Essays






order personalized it computing  essay today



No Plagiarism Guarantee



Fully confidential Service



3 Hour and Next Day Rush Service



Delivered on Time or Free



Free Plagiarism Report with Every Essay Order



Your essay will never be resold



7 Days for Amendment Requests



1st Class or 2:1 standard guaranteed



All essays written to exact specifications



All Essays are Fully Referenced



100% Complete Satisfaction Guaranteed

Custom essays | Free coursework essays | Our guarantees | Our essay prices | Essay writing tips | Vacancies for essay writers | FAQs

Sister sites: Law Articles | Term Papers | Essays | Law Essays | English Literature Essays

© 2008 Academic Answers Limited | Get Verified | Custom Essays and Free Coursework | RSS | Sitemap

Safe Purchasing Guarantee

A UK Based Company Registered in England and Wales - Registration No: 4964706 - VAT Registration No: 842417633