Software engineering lecture5


Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Software engineering lecture5

  1. 1. SOFTWARE ENGINEERING Lecture 5 By Mehwish Kayani
  2. 2. Contents of Lecture     Recap of previous lecture The RAD Model Concurrent Process Models Specialized Process Models  Component Based Development  The Formal Method Model  Aspect Oriented Software Development   The Unified Process Intro to Agile Development
  3. 3. Recap       Software Process Models Linear Sequential Model Waterfall Model/software development cycle Incremental Model Evolutionary Process Model Prototyping Spiral Process Model
  4. 4. RAD Model      Rapid Application Development is a linear sequential software development process model that emphasises an extremely short development cycle. A component-based construction approach is used. To use this approach, the project scope must be constrained and the requirements should be well understood. A task that should take no more than ninety days to complete is modelled, generated and implemented. There can be several teams working on different components during this ninety day time-box.
  5. 5. RAD Model Team 1 Team 2 Team 3 Business modelling Business modelling Business modelling Data modelling Data modelling Data modelling Process modelling Process modelling Process modelling Application Generation Application Generation Application Generation Testing & Turnover Testing & Turnover Testing & Turnover 90 day s
  6. 6. Problems with RAD For large, scalable projects, RAD requires sufficient human resources to create the right number of RAD teams  RAD requires developers and customers who are committed to the rapid-fire activities necessary to complete a system in this time frame, or failure will result.  RAD is not suitable for many project types. 
  7. 7. Concurrent Process Models    Also known as concurrent engineering Concurrent process model can be represented schematically as a series of major technical activities, tasks, and their associated states. For example a design activity may be in any one of the states in any given time. State is some externally observable mode of behavior such that activities could be in under development, awaiting changes, under revision, under review etc states.
  8. 8. Concurrent Model: Advantages     Applicable all types of software To give accurate picture of current project easy to understand easy to use
  9. 9. Component Based Development This incorporates many of the characteristics of the spiral model.  It is evolutionary in nature, demanding an iterative approach to the creation of software.  However, it composes applications from pre-packaged software components. 
  10. 10. Component Model Identify candidate component s Construct nth iteration of system Look up component s in library Put new component s in library Extract component s if available Build components if unavailable
  11. 11. The Formal Methods Model Encompasses a set of activities that leads to formal mathematical specification of computer software  Specify, develop and verify a computer based system by applying a rigorous mathematical notation. 
  12. 12. The Formal Methods Model: Advantages  Mechanism for eliminating ambiguity, incompleteness, and inconsistency  Formal methods provide mathematical analysis for ensuring correct analysis and design
  13. 13. The Formal Methods Model: Disadvantages  Quiet expensive and time consuming  Extensive Training required  Difficult to communicate for technically unsophisticated customer
  14. 14. Aspect Oriented Software Development    A relatively new software engineering paradigm. Seeks modularization of software systems in functional and non functional concerns. Aspect Oriented Software Development focuses on the identification, specification and representation of cross-cutting concerns and their modularization into separate functional units.
  15. 15.  Once a process model has been used to develop a system; documentation style, organisation and structure should either remain in the format of that process model, or all be converted to a different process model.
  16. 16. Unified Process  It is an attempt to draw on the best features and characteristics of traditional process models.
  17. 17. Agile Software Development   Agile methods were developed to overcome perceived and actual weaknesses in conventional software engineering. It can provide important benefits but its not applicable to all projects, all products, all people and all situations.