Tải bản đầy đủ (.pdf) (20 trang)

Software design: Lecture 1 - Sheraz Pervaiz

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (246.59 KB, 20 trang )

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 V­Model)
 Drawbacks in Classic Models
 Agile Process Models
 Extreme Programming (XP)
 Problem Discussion
 Review


Course Information
Course Name: Software Design
Pre­Requisites
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 model­based 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



V­Model – Extension of Water Fall 
Model


Features of V­Model
 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.



×