<<

Past, Present & Future of & Design

Nicholas Dass Dragan Kovacevic Sheridan College Sheridan College 1430 Trafalgar Road 1430 Trafalgar Road Oakville, Ontario, Canada Oakville, Ontario, Canada 905 845 9430 905 845 9430 [email protected] [email protected]

ABSTRACT summarized in the phrase do the right thing (analysis), and do the This paper will discuss the development methodology, thing right (design) [9]. structured analysis and design. During this period, structured To understand why SSAD works, the type of problem it analysis and design was used to realize software that solves needs to be understood. Dooley [5], defines characteristics simulate real world functions. In order to understand the need for of a “tame” problem to include the following; this methodology, it is imperative to examine the historical 1. Distinct problem statements. environment that created the need for structured analysis and 2. Established stopping points when a solution is reached. design. Software applications are also discussed in present day, to 3. Single distinguished goal to the tame problem examine the outcomes of using this methodology. As well as a 4. Solution lies among similar discussion on the evolution from structured analysis and design into 5. Trial applications are easily tested for functionality. the future. 6. A select amount of correct and applicable solutions. CCS Concepts Structured Analysis and Design uses a Waterfall methodology sequence, which is illustrated below;  Software and its engineering ➝ Software creation and management ➝ Designing software ➝ Software implementation planning ➝ techniques. Keywords Structured analysis and design; software development life cycle; evolution; application. 1. INTRODUCTION The purpose of examining structured analysis and design is to understand the context which created the need for this methodology, and how it helped with creating software systems that were more representative of business needs during the 1980’s. The discussion will begin with an overview of Structured Analysis and design, and progress into the evolution of the methodology. It will then proceed to examine the outcomes of two scenarios; a Figure 1. Waterfall Development Model [7]. successful and unsuccessful application of the methodology applied to two developed applications, before concluding. While Figure 1. helps to visualize the sequential steps executed in Structured Analysis and design, the meaning of these While structured analysis and design was used as a standard steps are as follows; methodology for software development during the 1980’s, it does  not serve larger and more complex software applications that are o Documenting and analyzing requirements. developed in today’s business environment. Structured Analysis  Design and Design can be categorized as a methodology that serves “tame” o Converting requirements into concepts to be software development problems. understood by stakeholders and developers. 2. METHODOLOGY OVERVIEW  Implementation o Software and hardware is selected, required Structured analysis and structured design are coupled functionality begins to be created. methods used since the 1980’s to assess requirements as well as creating blueprints for computer functions. According to Larman  Verification [9], analysis as an evaluation of exactly what is needed in a o Ensures project requirements are being met. program. He also explains that design does not refer to any sort of  Maintenance implementation rather that it solely focuses on hardware and o Patching problems after distribution. software needs. He states “Useful analysis and design have been

1

According to Kwasa [8], Structured Analysis and Design encompasses three main techniques, which are illustrated below; 1. Logical Modeling; requirements of a process are identified, documented and modeled. Based of the requirements, entities which consist of players and actors are created. The relationships, which refer to the association between these entities are then defined.

Figure 4. An example of an Entity Event Model for a member’s Figure 2. An example of a Logical that depicts a user’s interaction with a facility booking system [13]. interaction with an ATM system [11].

2. Data Flow Modeling; movement of data within the system are 3. EVOLUTION identified, modeled and documented. An examination of the During the early 1970’s, Kwasa [8] describes a period model’s processes occurs. More specifically the system’s activities when an emerging trend of large scale computer systems were that transform data into other data forms, data stores and external needed to manage various business functions such as accounting, entities that send and receive data from the system. The model also billing and human resource. However, a lack of standard examines directional flow of data. development methodologies lead to analysis, that involved soliciting feedback from a small set of users. The requirements gathered did not fit the problem that was trying to be solved. This ultimately led to systems not meeting business needs. The evolution of the first generation methodologies of structured analysis, focused on trying to mimic the logical flows of a business in order to produce a . Furthermore, in order to support structured analysis and design, Ross and Schoman [10] present 6 overarching conditions, they are;

1. “Thinking in a structured way about large and complex problems 2. Working as a team with effective division and coordination of effort and roles 3. Communicating interview, analysis and design results, in clear precise notation. 4. Documenting current results and decisions in a way which provides a complete audit of history. 5. Controlling accuracy completeness and quality through frequent review and approval procedure. Figure 3. An example of a Data Flow Model of a customer’s 6. Planning, managing, and assessing progress of the team interaction with an ordering system [12]. effort. [10, pg11]”

3. Entity Event Modeling; consists of identifying, modeling and Originating from the needs of the UK’s Central documenting events that affect entities and the event sequence. Computer Technology Agency in 1981, the Learmonth & Burchett Management Systems group created what is known now as the first version of SSADM. During the immense growth in terms of computers in the 90’s, the slow and thorough version of the 80’s needed an update to match the then required rapid development

2

cycles needed. As a result of the needs in this era, the Agile and 4.1 Successful Application of Methodology Rapid Application Development systems were created as alternate The ATM Bank application required a fixed set of methodologies to SSADM. business functionality that had to be met in order to complete the The timeline of popular and key methodologies through project successfully. Designing the application began with creating the decades of growth in the field is as follows use-case using the requirements, and a class to [14]; graphically represent the domain model.

 1960s o The introduction of programming structures such as while, for, and if.  1970s o SDM2 follows  1980s o SSADM in 1981 o Soft Systems Methodology  1990s o Rapid Application Development in 1991 o Dynamic System Development Method in 1994 o Object Oriented Programming in 1995 o SCRUM in 1995 o Rational by IBM in 1998 o in 1999 Figure 5. Domain model of the ATM Bank Application.  2000s o Agile Unified Process in 2005 This enabled the team to use concepts from the domain model to o Disciplined Agile Delivery is a current modern create a design model. The design model was then used as a approach to software design. reference point to begin implementation. Verification of the implemented functionality was tested As the 90’s progressed, the Agile method of software through debugging and executing all possible test cases in the development, was the leading methodology used, due to its application. If bugs were discovered, patches were created to characteristics, which include iterative development focused on resolve these issues. risk resolution, rapid testing and quality control. The move to Using Structured Analysis and Design was helpful in iterative instead of waterfall based processes is based on the key creating this application, as the ATM Bank Application consisted disadvantages that the waterfall possesses. Issues that Susan De of a set of clear desired problems to solve a testable final Sousa [4] highlight, such as a fixed project scope and the inability application with full functionality, reaching a final stopping point to change functions unless a full restart occurs, will require once the solution was accomplished. approval from the client or management. The client or management has to communicate changes to the project team, without the 4.2 Unsuccessful Application of Methodology immediate ability to receive feedback for clarification of any When developing the personal assistant application, it misunderstandings that may be present. began with postulating a new way for a calendar application to The benefit of using Structured Analysis and Design is interactively communicate and engage with users, about the that it is a method that provides a correct way to solve software activities they schedule. This application would provide feedback development problems in a sequential process. A clear by offering suggestions, that could help users better cope with their understanding of start and end points, as well as what is to be scheduled activity, or offer alternative activities in the form of expected between stakeholders and developers allows the breaks or recreation. application to be built. The straight forward nature of structured The team began with thinking about the solution from a analysis and design is also friendly to newer developers, as it higher abstraction level. More specifically soliciting answers from provides full scope visibility and documentation in each step of the questions that elaborated on why pursue this new idea? What the process. purpose of this new idea would serve? And how would the personal assistant application be developed and evolve over time? This 4. STRUCTURED ANALYSIS & provided an opportunity as a team to think about how the personal assistant application would interact with the user, the benefits that DESIGN IN PRACTICE it provided, and future functionality that could be discussed and The application of Structured Analysis and Design analyzed. produced a successful and unsuccessful outcome with respect to its As the concept behind the personal assistant application use. The software applications that will be examined here, namely is new, using structured analysis and design would not serve to be an ATM bank application and a personal assistant application, were a successful software development methodology. No clear end developed by the authors of this paper points or existing solutions exists, thus software development had to be executed in an iterative manner. This is to ensure the interim goals of the concept could be reached, when iteratively released. Structured analysis and design also made it difficult to expand the application with new functionality, this is important as it provides

3

an opportunity to be creative in tandem with the software 6. REFERENCES development life cycle. Using the Agile Unified Process would [1] Brooks, F. P. (2010). The Design of Design: Essays from a have worked best for the personal assistant application project. Computer Scientist. Addison-Wesley Professional.

[2] Clearsoft. (n.d). Agile Development [Online]. Available: http://www.clearsoftinc.com/services.html [3] Dixit J. B. and Kumar R. (2007). Structured System Analysis and Design. Laxmi Publications (P) LTD. ISBN 978-81-318- 0266-3 [4] De Sousa S. (2007). Advantages and Disadvantages of Waterfall Software Development [Online]. Available: Figure 6. An Agile Unified Process Software Development Life http://www.my-project-management-expert.com/the- Cycle [2]. advantages-and-disadvantages-of-waterfall-software-

development.html The Agile Unified Process would enable the team to consider risk while iteratively developing the application, all while [5] Dooley J. (2011). Software Development and Professional managing requirements. Success of the new concept, can be risk Practice [Online]. Available: prone. Therefore, it is paramount to continuously assess the http://proquestcombo.safaribooksonline.com.library.sheridanc application by soliciting feedback from users, on every iteration .on.ca/book/software-engineering-and- that is deployed. This will help improve the application until development/9781430238010 current goals are reached. In addition, the Agile Unified Process will enable the [6] Freeman, E; Sierra, K and Bates, B. (2004). Head First team to focus on building a strong core architecture before Design Patterns. O'Reilly Media. ISBN 0-596-00712-4. progressing onto additional functionality. This ensures the team [7] Kemp, P. & Smith P. (2010). [Online]. Available: can be confident with every iteration that is released. https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/ Being able to model the personal assistant application by Waterfall_model_revised.svg/350px- using graphical representation, helps the team to continuously Waterfall_model_revised.svg.png improve various components of the application and the relationships between these components. Lastly, the Agile method [8] Kwasa, T. (2011, Fall). A History of Structured Systems enables team members to ensure the quality of the application is Analysis & Design Methodologies. [Online]. Available: being tested. http://www.umsl.edu/~sauterv/analysis/termpapers/f11/kwasa. html 5. CONCLUSION [9] Larman, (2004). Applying UML and Patterns. Prentice Hall. Structured analysis and design played an instrumental ISBN 0-13-148906-2 role during the evolution of software development methodology standards. However, the methodology is not suited to solve [10] Ross T. R. and Schoman K. E. JR. (1 January 1977). Structured complex software applications, that are intended to operate in Analysis for Requirements Definition. [Online]. Available: today’s world. http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=17 02398 Structured Analysis and Design's purpose, is to serve a “tame” problem solving technique, which can be used when a [11] Visual Paradigm. (n.d). UML diagram notation guide problem is clearly defined, has an incorrect and correct solution, [Online]. Available: https://www.visual- and belongs to a similar class of problems. This is reiterated in the paradigm.com/support/documents/vpuserguide/94/2575/8425 Bank ATM application, which is a system that can be solved using 7_usecasediagr.html the “tame” problem solving technique. [12] Visual Paradigm. (n.d). Creating data flow diagram [Online]. However, the personal assistant application required an Available: https://www.visual- iterative problem solving technique to realize its potential, namely paradigm.com/support/documents/vpuserguide/285/2145/569 the Agile Unified Process. The evolution of software development 77_creatingdata.html methodologies has progressed into methods that use an iterative as opposed to a sequential approach to creating software systems. [13]Visual Paradigm. (n.d). Sequence diagram [Online]. Available: https://www.visual- In today’s creative driven economy, software not only paradigm.com/VPGallery/diagrams/Sequence.html has to model the real world but it also has to be innovative. This means that software has to anticipate a solution that does not [14] Wikipedia. (n.d). History of Software Methodologies currently exist. Further work into software development [Online]. Available: methodologies that include an innovative aspect would be an area https://en.wikipedia.org/wiki/Software_development_process that should be explored.

4