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;...
Trang 1
Sheraz Pervaiz
MS – Germany
BS Canada
Trang 2Course 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
Trang 3 Course Name: Software Design
PreRequisites
Software Engineering I and II, Object Oriented Programming, Object Oriented Analysis and Design
Trang 4Java in the Lectures
Students can use any OOP based language to solve the assignments and write answers in exams
Trang 5 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
Trang 6Advances 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)
Trang 7Standish Group Study 1995
46 % date or budget excess
28 % failure
Only 9 % of all large IT projects in time and budget
Trang 8Unclear, 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
Trang 9Buggy 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."
Trang 10A 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
Trang 11 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)
Trang 12• “Software Processes model models desired
phases or activities in the project”
Trang 13Water 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
Trang 14Water Fall Model
Trang 15Highly structured and expect stable requirements
Too rigid to later changes in Software
Clients don’t know exact requirements
Trang 16VModel – Extension of Water Fall Model
Trang 17 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
Trang 18Has 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)
Trang 19Agile Processes – Light Weight Methodologies
Slogan : “Change is the only
Constant”
Focuses on Agility and adaptability
Software Design is never frozen !!
Trang 20 Individuals and interactions over processes and tools.
Working software over comprehensive documentation.
Customer collaboration over contract negotiation.
Responding to change over following a plan