Presentation is loading. Please wait.

Presentation is loading. Please wait.

INTRODUCTION TO SOFTWARE DEVELOPMENT

Similar presentations


Presentation on theme: "INTRODUCTION TO SOFTWARE DEVELOPMENT"— Presentation transcript:

1 INTRODUCTION TO SOFTWARE DEVELOPMENT
BY: Hafeez Ahmed Khokhar

2 MODELS WATER FALL MODEL INCREMENTAL MODEL EVOLUTIONARY MODEL
SPIRAL MODEL PROTOTYPING MODEL EXTREME PROGRAMMING (X . P) RAD MODEL

3 1. WATER FALL MODEL Waterfall model or classic life cycle.
Waterfall model sometimes called life cycle. Waterfall model is oldest paradigm for software engineering The waterfall model is a sequential design process, used in software development process in which progress is seen as flowing

4 1. WATER FALL MODEL The waterfall development models originates in manufacturing and construction industries , highly structured physical environments in which after the fact changes are prohibitively costly if not possible The waterfall model is consists of five and major phases are as under

5 1. WATER FALL MODEL COMMUNICATION PLANNING MODELING CONSTRUCTION
DEPLOYMENT

6 1. WATER FALL MODEL 1. COMMUNICATION:
Communication is the first phase of every model In communication the team communicator communicate with the customer for taking the requirements from the customer about his particular product or project that he wants for his oganization.

7 1. WATER FALL MODEL 2. PLANNING:
Planning is 2nd and most important phase of every phase. After gating the requirements the project team have to plan about how to work “IF YOU PLAN TO FAIL THEN YOU FAIL TO PLAN”

8 1. WATER FALL MODEL 3.MODELING:
After the planning now there is the work of modeler or we can say designer that makes the complete design of the project. And in design he shows how your project will work in the actual condition.

9 1. WATER FALL MODEL 4. CONSTRUCTION:
After designing of the project now the work of programmer starts It codes the whole project to see the design given by the designer

10 1. WATER FALL MODEL 5.DEPLOYMENT:
This is final and the most important phase of every project. Because in this phase the team leader is going to handover the project to the customer and he have to satisfy 100% to his customer.

11 1. WATER FALL MODEL

12 When to use the Waterfall Model
Requirements are very well known Product definition is stable Technology is understood New version of an existing product Porting an existing product to a new platform.

13 Advantages of a Waterfall Model
A waterfall model helps find problems earlier on which can cost a business less than if it was found later on. Requirements will be set and these wouldn't be changed. As everything is documented a new team member can easily understand what's to be done. Implementers have to follow the design accurately

14 Disadvantages of a Waterfall Model
If requirements may change the Waterfall model may not work. Many believe it is impossible to make one stage of the projects life cycle perfect. Difficult to estimate time and cost for each stage of the development process. Constant testing of the design is needed.

15 1. WATER FALL MODEL

16 2. INCREMENTAL MODEL In incremental model the whole requirement is divided into various builds. Multiple development cycles.  Each module passes through the some phases. Incremental model is consists of five and major phases are as under

17 2. INCREMENTAL MODEL Communication Planning Modeling Construction
Deployment

18 2. INCREMENTAL MODEL 1. COMMUNICATION:
Communication is the first phase of every model In communication the team communicator communicate with the customer for taking the requirements from the customer about his particular product or project that he wants for his oganization.

19 2. INCREMENTAL MODEL 2. PLANNING:
Planning is 2nd and most important phase of every phase. After gating the requirements the project team have to plan about how to work “IF YOU PLAN TO FAIL THEN YOU FAIL TO PLAN”

20 2. INCREMENTAL MODEL 3.MODELING:
After the planning now there is the work of modeler or we can say designer that makes the complete design of the project. And in design he shows how your project will work in the actual condition.

21 2. INCREMENTAL MODEL 4. CONSTRUCTION:
After designing of the project now the work of programmer starts It codes the whole project to see the design given by the designer

22 2. INCREMENTAL MODEL 5.DEPLOYMENT:
This is final and the most important phase of every project. Because in this phase the team leader is going to handover the project to the customer and he have to satisfy 100% to his customer.

23 ADVANTAGES OF INCREMENTAL MODEL:
Generates working software quickly and early during the software life cycle. This model is more flexible – less costly to change scope and requirements. It is easier to test and debug during a smaller iteration. In this model customer can respond to each built. Lowers initial delivery cost. Easier to manage risk because risky pieces are identified and handled during it’d iteration.

24 DISADVANTAGES OF INCREMENTAL MODEL
Needs good planning and design. Needs a clear and complete definition of the whole system before it can be broken down and built incrementally. Total cost is higher than waterfall. initial product delivery is faster. Risk of changing requirement is reduced Work load is less. With each release a new feature is added to the product.

25 When to use the Incremental model:
This model can be used when the requirements of the complete system are clearly defined and understood. Major requirements must be defined; however, some details can evolve with time. There is a need to get a product to the market early. A new technology is being used Resources with needed skill set are not available There are some high risk features and goals.

26 2. INCREMENTAL MODEL

27 3.EVOLUTIONARY MODEL  Evolutionary Process Models Allows the software to evolve as need grows or become better understood, or become defined Each delivery becomes more complex, with addition of new features/functions Goal of Evolutionary Models is Extensibility Evolutionary Process Models Some Evolutionary Models are Prototyping Model .

28 EVOLUTIONARY MODEL  Prototyping Model Used when Short amount of time for product Needs revisions done after release Requirements are fuzzy Developer is unsure of The efficiency of an algorithm The adaptability of the OS User interface is not well defined  Time by time changes

29 EVOLUTIONARY MODEL

30 EVOLUTIONARY MODEL An evolutionary process model is a model whose stages are combines elements of waterfall model and prototypes model. It develops the whole project as a number of stages, with the outcomes of one stages serving to identify the conceptual solutions for the next stage. The development proceeds in a series of implementations, each of which meets those requirements that are recognized and understood at the time of implementation .

31 USES OF EVOLUTIONARY MODELS
1. These models are used to develop the artificial intelligence systems , it needs the use of very high level programming languages. 2. Evolutionary model is now commonly used for developing business application using a fourth generation language (4DL) $GL are successful because there is a great deal of commonality across data processing applications.

32 ADVANTAGES OF EVOLUTIONARY MODEL
Risk analysis is better. It supports changing requirements. Initial Operating time is less. Better suited for large and mission-critical projects. During life cycle software is produced early which facilitates customer evaluation and feedback.

33 DISADVANTAGES OF EVOLUTIONARY MODEL
Not suitable for smaller projects. Management complexity is more. End of project may not be know which is a risk. Can be costly to use. Highly skilled resources are required for risk analysis. Project's progress is highly dependent upon the risk analysis phase

34 PHASES OF EVOLUTIONARY MODEL:
Communication Planning Modeling Construction Deployment

35 4. SPIRAL MODEL The spiral model, also known as the spiral lifecycle model, is a systems development method (SDM) used in information technology (IT). This model of development combines the features of the prototyping model and the waterfall model. The spiral model is used for large, expensive, and complicated projects.

36 4. SPIRAL MODEL The spiral model was defined by Barry Boehm in 1988 .
It was not the first model to discuss iterative development, but it was the first model to explain why the iteration matters. The iterations were typically 6 months to 2 years long.  The process of repeating a set of instructions  or until a specific result is achieved.

37 PHASES OF SPIREL MODEL Communication Planning Modeling Construction
Deployment

38 WHEN TO USE THE SPIRAL MODEL
The user has experience to refine the requirements . Some parts of the implementation may depend on future technology. New user requirements are anticipated but not yet known. Some user requirements may be more difficult to meet than others, and it is decided not to allow them to delay a usable delivery.

39 WHEN TO USE THE SPIRAL MODEL
When costs and risk evaluation is important. For medium to high-risk projects. Long-term project commitment unwise because of potential changes to economic priorities. Users are unsure of their needs. Requirements are complex. New product line. Significant changes are expected (research and exploration)

40 ADVANTAGES OF SPIRAL MODEL:
High amount of risk analysis hence, avoidance of Risk is enhanced. Good for large and mission-critical projects. Strong approval and documentation control. Additional Functionality can be added at a later date. Software is produced early in the software life cycle.

41 DISADVANTAGES OF SPIRAL MODEL:
Can be a costly model to use. Risk analysis requires highly specific expertise. Project’s success is highly dependent on the risk analysis phase. Doesn’t work well for smaller projects.

42 DIAGRAM

43 PROTOTYPING MODEL Prototyping is the process of quickly putting together a working model (a prototype) in order to test various aspects of a design, illustrate ideas or features and gather early user IEEE defines prototyping as “ A type of development in which product is placed on developing prototypes early in the development process to permit early feedback and analysis in support of the development process

44 PHASES OF PROTOTYPE MODEL
Communication Planning Modeling Construction Deployment

45 PROTOTYPING MODEL

46 ADVANTAGES OF PROTOTYPE MODEL:
Errors can be detected much earlier. Quicker user feedback is available leading to better solutions. Missing functionality can be identified easily Confusing or difficult functions can be identified. Requirements validation, Quick implementation of, incomplete, but functional, application.

47 DISADVANTAGES OF PROTOTYPE MODEL:
Leads to repairing way of building systems. Practically, this methodology may increase the complexity of the system as scope of the system may expand beyond original plans. Incomplete application may cause application not to be used as the full system was designed Incomplete or inadequate problem analysis.

48 WHEN TO USE PROTOTYPE MODEL:
Prototype model should be used when the desired system needs to have a lot of interaction with the end users. Typically, online systems, web interfaces have a very high amount of interaction with end users, are best suited for Prototype model. Prototyping ensures that the end users constantly work with the system They are excellent for designing good human computer interface systems.

49 EXTREME PROGRAMMING: The first Extreme Programming project was started March 6, 1996. Extreme Programming is one of several popular Agile Processes. It has already been proven to be very successful at many companies of all different sizes and industries world wide. Extreme Programming is successful because it stresses customer satisfaction

50 EXTREME PROGRAMMING Instead of delivering everything you could possibly want on some date far in the future this process delivers the software you need as you need it. Extreme Programming empowers your developers to confidently respond to changing customer requirements, even late in the life cycle.

51 EXTREME PROGRAMMING Extreme Programming improves a software project in five ways;  Communication Simplicity Feedback Respect Courage.

52 EXTREME PROGRAMMING Extreme Programmers constantly communicate with their customers and fellow programmers. They keep their design simple and clean. They get feedback by testing their software starting on day one.  They deliver the system to the customers as early as possible and implement changes as suggested.

53 EXTREME PROGRAMMING Every small success deepens their respect for the unique contributions of each and every team member. With this foundation Extreme Programmers are able to courageously respond to changing requirements and technology. The most surprising aspect of Extreme Programming is its simple rules.

54 EXTREME PROGRAMMING There are many small pieces.
Individually the pieces make no sense, but when combined together a complete PICTURE can be seen.

55 XP: Why? Get all the requirements before starting design.
Freeze the requirements before starting development. Resist changes: they will lengthen schedule. Build a change control process to ensure that proposed changes are looked at carefully and no change is made without intense scrutiny. Deliver a product that is obsolete on release.

56 XP PRACTICES: PAIR PROGRAMMING
All production software is built by two programmers, sitting side by side, at the same machine All production code is therefore reviewed by at least one other programmer Research into pair programming shows that pairing produces better code in the same time as programmers working singly Pairing also communicates knowledge throughout the team

57 PHASES OF XP There are 4 phases Planning Designing coding Testing

58 RAD MODEL Is a software development process model that has been developed to respond to the need to deliver systems very fast Actually it allows usable systems to be built in as little as 3-6 months It has been developed in the early 1990s Its goals are: faster, better.

59 WHEN USE RAD Project scope: focused, where the business objectives are well defined and narrow Project data: already exist Project decisions: can be made by a small number of people who are available and co-located Project team: very small E.G (six people) Project technical architecture: defined and clear and the key technology components are well known

60 RAD MODEL

61 RAD MODEL Because of rapidly changing business environments, businesses have to respond to new opportunities and competition. This requires software and rapid development and delivery is not often the most critical requirement for software systems. Businesses may be willing to accept lower quality software if rapid delivery of essential functionality is possible.

62 ADVANTAGES OF INCREMENTAL DEVELOPMENT
Accelerated delivery of customer services. Each increment delivers the highest priority functionality to the customer. User engagement with the system. Users have to be involved in the development which means the system is more likely to meet their requirements and the users are more committed to the system.

63 ADVANTAGES OF INCREMENTAL DEVELOPMENT
Reduced development time. Increases reusability of components. Quick initial reviews occurs. Encourages customer feedback. Integration from very beginning solves a lot of integration issues.

64 DISADVANTAGES OF RAD MODEL:
Depends on strong team and individual performances for identifying business requirements. Only system that can be modularized can be built using RAD Requires highly skilled developers/designers. High dependency on modeling skills Separated and recombined of the system

65 PHASES OF RAD MODEL COMMUNICATION PLANNING MODELLING CONSTRUCTION
DEPLOYMENT 

66


Download ppt "INTRODUCTION TO SOFTWARE DEVELOPMENT"

Similar presentations


Ads by Google