Sunday, January 16, 2011

Assignment 2 ( Task 1 ) - EXTREME PROGRAMMING

Extreme Programming (XP)


Extreme Programming (XP) is a method in or approach to software engineering, formulated by Kent Beck, Ward Cunningham, and Ron Jeffries. Kent Beck wrote the first book on the topic, Extreme Programming Explained, published in 1999. It is the most popular of severalagile software development methodologies.


Characteristics 
  • Incremental and iterative developments - small improvements after small ones
  • Continuous, often repeated automated unit test, regression testing.
  • Pair programming
  • User interaction in the programming team (Onsite Customer)
  • Refactoring
  • Shared code ownership
  • Simplicity
  • Feedback
  • Organising the system with a metaphor
  • Sustainable pace

Strength
  • Robustness
  • Resilience
  • Cost savings
  • Lesser risks
  • Better overall satisfaction

Weaknesses
  • Difficulty coordinating larger teams
  • Can result in a never-ending project if not managed properly
  • Tendency to not document thoroughly
  • Predicting the precise features to be accomplished in a fixed time/budget


Applicability
 - Semiconductor IP Development


Saturday, January 15, 2011

ASSIGNMENT 2 Task 2 : Prototyping Model

                                                                      Prototyping Model

                                                                          Definition :
The Prototyping Model is a systems development method (SDM) in which a prototype (an early approximation of a final system or product) is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed. 


 
Prototyping Model graph




Advantages
  • The model can be used when the requirements cannot or will not be specified.
  • The user can experiment with the system to improve the requirements

Disadvantages

  • Use of the method is exploratory in nature and therefore constitutes a high-risk endeavor. Strong management is required.
  • This method is used as an excuse for hacking to avoid documenting the requirements or design, even if they are well understood.  


Characteristic Of Prototyping Model
LOW-FIDELITY versus HIGH-FIDELITY
  1. LOW-FIDELITY
    A set of drawings (e.g., storyboard) that provide a static,
    non-computerized, non-working mock-up of user interface for
    the planned system
  2. HIGH-FIDELITY
    A set of screens that provide a dynamic, computerized,
    working model of the planned system  
      

  1. EXPLORATORY versus EXPERIMENTAL versus OPERATIONAL
    1. EXPLORATORY
      A throw-away prototype used to clarify project goals, to
      identify requirements, to examine alternative designs, or to
      investigate a large and complex system
    2. EXPERIMENTAL
      A prototype used to validate system specifications
    3. OPERATIONAL
      An iterative prototype that is progressively refined until
      it becomes the final system
  2. HORIZONTAL versus VERTICAL
    1. HORIZONTAL
      A prototype that models many features but with little detail
      • a horizontal slice of a system's structure chart from the top down to a specific depth
      • most useful in the early stages of design
      • purpose is to test the overall interaction metaphor, so includes common functions that the user is expected to perform frequently
    2. VERTICAL
      A prototype that models few features but with much detail
      • a vertical slice of a system's structure chart from top to bottom
      • most useful in the later stages of design
      • purpose is to test details of the design
    3. DIAGONAL
      A prototype that is horizontal down to a particular level,
      then vertical below that point
  3. GLOBAL versus LOCAL
    1. GLOBAL
      A prototype of the entire system
      • an expanded horizontal prototype that models a greater number of features and covers multiple levels of the system's structure chart
      • useful throughout the design process
    2. LOCAL
      A prototype of a single usability-critical system component
      • a vertical prototype that is focused on one feature
      • useful at some specific stage of the design process

Assignment 2 ( Task 1)

SPIRAL MODEL

*Click to enlarge.

Monday, January 10, 2011

Friday, January 7, 2011

Assignment 3 (Task 2)

Module 2 : Software Processes.

*click to enlarge.

Assignment 3 (Task 1)

Module 1 : Introduction To Software Engineering.

*click to enlarge