Software design - Lecture 1: Agenda. The main topics covered in this chapter include: course information; software crisis; software process models – an overview; classic models (water fall and V-model); drawbacks in classic models; agile process models; extreme programming (XP); problem discussion;...
Software Design Sheraz Pervaiz MS – Germany BS Canada Lecture – 1 : Agenda Course Information Software Crisis Software Process Models– An Overview Classic Models (Water Fall and VModel) Drawbacks in Classic Models Agile Process Models Extreme Programming (XP) Problem Discussion Review Course Information Course Name: Software Design PreRequisites Software Engineering I and II, Object Oriented Programming, Object Oriented Analysis and Design Programming Language Java in the Lectures Students can use any OOP based language to solve the assignments and write answers in exams Software Crisis Term by F. L. Bauer at the first NATO Software Engineering Conference in 1968 at Garmisch, Germany It refers to the difficulty of writing correct, understandable, and verifiable computer programs Exceeding of the date, budget excess, failure of the project IT projects are not realized as planned realized Unmethodical procedure, unplanned activities, double work History of Software Crisis Advances in hardware capability have enabled increasingly complex software Our ability to intellectually manage this complexity has always lagged the advances in software complexity We continually require better tools (CASE etc) Software CHAOS Report Standish Group Study 1995 46 % date or budget excess 28 % failure Only 9 % of all large IT projects in time and budget Reasons Unclear, unstable, misunderstood and missing requirements To late integration of results of working and components, thus to late recognition of risks and errors Fast changing technologies Missing Quality Management Overvaluation of documents No modelbased process Examples of Software Bug and Failures Buggy Computer Club, in 1945 engineers found a moth in Panel F, Relay #70 of the Harvard Mark II system. The computer was running a test of its multiplier and adder when the engineers noticed something was wrong. The moth was trapped, removed and taped into the computer's logbook with the words: "first actual case of a software bug being found." NASA : Mariner Failure in 1962 A bug in the flight software for the Mariner 1 causes the rocket to divert from its intended path on launch. Mission control destroys the rocket over the Atlantic Ocean. The investigation into the accident discovers that a formula written on paper in pencil was improperly transcribed into computer code, causing the computer to miscalculate the rocket's trajectory Korean Airline Crash The Korean Airlines KAL 801 accident in Guam killed 225 out of 254 aboard. A software design problem was discovered in barometric altimetry in Ground Proximity Warning System (GPWS) Software Process – An Overview • “Software Processes model models desired phases or activities in the project” Water Fall Model By Winston Royce 1970 Originate from Manufacturing and Construction Industry where requirements are stable Due to lack of any standard software process this model was adopted as standard for software development Change is a costly issue Water Fall Model Draw Back of Classic Models Highly structured and expect stable requirements Too rigid to later changes in Software Clients don’t know exact requirements VModel – Extension of Water Fall Model Features of VModel Instead of going down the waterfall in a linear way the process steps are bent upwards at the coding phase, to form the typical V shape Traceability down the left side of the V Draw Backs of V Model Has the reputation of being ponderous and document heavy Unsuitable for small and middle projects (leads to software bureaucracy) Not manageable without suitable tools Many different roles (25) Agile Processes – Light Weight Methodologies Slogan : “Change is the only Constant” Focuses on Agility and adaptability Software Design is never frozen !! Core Values of Agile Methods Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan .. .Lecture? ?–? ?1? ? : Agenda Course Information Software? ?Crisis Software? ?Process Models– An Overview Classic Models (Water Fall and VModel)... the computer's logbook with the words: "first actual case of a? ?software? ?bug being found." NASA : Mariner Failure in? ?19 62 A bug in the flight? ?software? ?for the Mariner? ?1? ?causes the rocket to divert from its intended path on launch. Mission ... Students can use any OOP based language to solve the assignments and write answers in exams Software? ?Crisis Term by F. L. Bauer at the first NATO? ?Software? ?Engineering Conference in? ?19 68 at Garmisch, Germany It refers to the difficulty of writing correct, understandable,