Software System Design Methods Software Systems: Planning & Design 27/06/2016 Remember, Dilbert is real life 1 Haiku for CMSCD3005 Weak sun rises late Melancholic hearts are warmed By S.S.P.D. 27/06/2016 Remember, Dilbert is real life 2 27/06/2016 Remember, Dilbert is real life 3 Overview of Part II Historical review Yourdon System Method Jackson System Development SSADM STRADIS Information Engineering 27/06/2016 Remember, Dilbert is real life 4 Aims Deepen your understanding of system design philosophy/methodology Understand the roles of different methods and know where & when to apply them 27/06/2016 Remember, Dilbert is real life 5 Caution We are dealing with opinion (and some facts). Opinions vary. For matters relating to truth see your metaphysician or spiritual advisor. 27/06/2016 Remember, Dilbert is real life 6 Suggested Reading Brooks, F.P, The Mythical Man Month, Addison-Wesley, 1995 Davies, C.G. and Layzell P.J., The Jackson Approach to System Development, Chartwell-Bratt, 1993 Jackson, M.A. Software Requirements & Specification, ACM Press, 1995 27/06/2016 Remember, Dilbert is real life 7 More Suggested Reading Yourdon Inc, Yourdon Systems Method, Prentice-Hall International, 1993 Avison, D.E. & Fitzgerald G, Information Systems Development, McGraw-Hill, 1995 Adams, D, Dirk Gently’s Holistic Detective Agency,Pan, 1988 Asimov, I., Prelude to Foundation, Voyager, 1989 27/06/2016 Remember, Dilbert is real life 8 27/06/2016 Remember, Dilbert is real life 9 Historical Development Development of design methods followed a much criticised path (unfairly) Methods allow building of large & complex systems Problem is that user requirements for change have occured at an alarming rate. 27/06/2016 Remember, Dilbert is real life 10 Problems of System Design What are the data to be stored? How, when & where to capture & check the data? How many processes to provide info & keep data current Matching h/ware & s/ware to the desired solution 27/06/2016 Remember, Dilbert is real life 11 A little problem In environment where there is little change, these factors give us something of a problem. But... 27/06/2016 Remember, Dilbert is real life 12 Dynamic Environment New data requirements = many changes (esp. to s/ware) Effect of new processes unpredictable Business environment is not as simple a structure as collect data & transform it into information 27/06/2016 Remember, Dilbert is real life 13 Emergence of Graphics Helped to focus thinking & express ideas unambiguously (?) – e.g. JSP diagrams – E-R diagrams – DFDs – State Transition Diagrams Emergence of C.A.S.E. 27/06/2016 Remember, Dilbert is real life 14 What is a SSDM? “A collection of procedures, techniques, tools and documentation aids which will help the systems developers in their efforts to implement a new system.” 27/06/2016 Remember, Dilbert is real life 15 6 Reasonable Objectives – Accurate recording of requirements – A systematic development method that allows effective progress monitoring – Provision of an I.S. in reasonable time at reasonable cost – Production of well-documented & easily maintainable system – Identification of changes early in the development process – Final system to be liked by users 27/06/2016 Remember, Dilbert is real life 16 3 Design Philosophies Over time, three philosophies to system design have emerged: – Data-flow oriented – Data-structure oriented – Object oriented JSD fits into #2 but also, in part, in #3. SSADM sits in #1. 27/06/2016 Remember, Dilbert is real life 17 NCC Bastion of Tradition The National Computing Centre (NCC) in Manchester devised an approach to system development. This method is often known (in the UK) as the traditional approach. Follows a waterfall lifecycle model 27/06/2016 Remember, Dilbert is real life 18 NCC Outline Feasibility study System investigation System analysis System design Implementation Review and maintenance 27/06/2016 Remember, Dilbert is real life 19 Criticisms of the approach – Fails to meet management needs – Unambitious system design – Models of processes are unstable – Output-driven design inflexibility – User dissatisfaction – Documentation problems – Incomplete systems – Application backlog – Maintenance workload 27/06/2016 Remember, Dilbert is real life 20 SSDM Domain Which aspects of lifecycle are covered? Is a lifecycle=SSDM? 27/06/2016 Remember, Dilbert is real life 21 Functional Decomposition Most early methods and many of today’s are based around the notion of development by functional decomposition. What is functional decomposition? 27/06/2016 Remember, Dilbert is real life 22 27/06/2016 Remember, Dilbert is real life 23 Functional Decomposition Also known as top-down development Widely deemed to be a “good thing” Regard thing to be developed as a hierarchy State top level, and decomposing into smaller objects. Decomposition continues until code level. 27/06/2016 Remember, Dilbert is real life 24 Scenario A car hire firm recently installed a terminal which is used to record the dates when cars are hired out and returned. When a car is taken out the reg. no. is keyed in prefixed by ‘[‘ and the date (no. of days since system commissioning) is automatically entered. For returns, no. is keyed in with a ‘]’ and date added. 27/06/2016 Remember, Dilbert is real life 25 Functional Requirements Manager wants a system to: – display number of separate hire contracts – display the average number of days for which a car is hired. Thus we need to: – Compute the information – Output it 27/06/2016 Remember, Dilbert is real life 26 Computation Computation comprises three parts: – Count number of separate contracts (i.e. count the ‘[‘s). – Total the number of days for which cars are hired – Compute the average. Now write the structured English... 27/06/2016 Remember, Dilbert is real life 27 BEGIN Initialise #contracts, total days = 0 Get 1st transaction WHILE not end of transactions DO IF car taken out THEN Inc #contracts total days = total days - taken out date ELSE total days = total days + return date Get next transaction Display #contracts IF #contracts <> 0 Display total days/#contracts END 27/06/2016 Remember, Dilbert is real life 28 Changed Requirements Now amend the system so that it also displays the longest period of hire. 27/06/2016 Remember, Dilbert is real life 29 Changed Requirements #2 Now produce two separate reports: – 1 for hire periods < 1 week – 1 for hire periods >= 1 week 27/06/2016 Remember, Dilbert is real life 30 Changed Requirements #3 Now allow the system to run even when there are contracts outstanding. 27/06/2016 Remember, Dilbert is real life 31