Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Advanced Computer Programming Project Management: Methodologies Copyright © Texas Education Agency, 2013.

Similar presentations


Presentation on theme: "1 Advanced Computer Programming Project Management: Methodologies Copyright © Texas Education Agency, 2013."— Presentation transcript:

1 1 Advanced Computer Programming Project Management: Methodologies Copyright © Texas Education Agency, 2013

2 Overview What is a Project Management Methodology? Waterfall Rational Unified Process (RUP) eXtreme Programming (XP) 2Copyright © Texas Education Agency, 2013

3 What is a methodology? Project Management methodologies are essentially a set of guidelines to follow to provide a structure for how to develop software. There are numerous methodologies to choose from. The methodology you should use depends on the situation under which you are developing software. 3Copyright © Texas Education Agency, 2013

4 Waterfall The water fall model is one of the most commonly used software development models. The premise is that software should be developed in a series of steps. Each step is to be completed before moving onto the next step. 4Copyright © Texas Education Agency, 2013

5 Waterfall (cont) 5 The purpose for the steps is to find faults early and “plan and design” them out before moving on. For example, if a fault is found in the design phase, more requirements are solicited. Requirements Design Implementation Maintenance Verification Deployment Copyright © Texas Education Agency, 2013

6 Waterfall (cont) Advantages Enforced discipline approach helps find faults more rapidly. Each phase has testing built in to find faults early. There is considerable documentation produced providing a roadmap for development. 6Copyright © Texas Education Agency, 2013

7 Waterfall (cont) Disadvantages Requirements are locked up front making change in the middle of development very difficult The rigor of the process can take an excessively long time. Because requirements are locked, the product may be outdated when completed. 7Copyright © Texas Education Agency, 2013

8 Rational Unified Process The Rational Unified Process (RUP) is a software based, commercial, Iterative Development Process. Design and implementation occur in cycles. This allows both the design and programming team to work in tandem, saving time and effort. 8Copyright © Texas Education Agency, 2013

9 Rational Unified Process An iterative approach gives the RUP an ability to provide support for mid-development changes to the system. 9Copyright © Texas Education Agency, 2013

10 Rational Unified Process Advantages Since development is in cycles, programmers don’t have to wait for completion of design Since requirements aren’t locked, it is easy to implement changes in design 10Copyright © Texas Education Agency, 2013

11 Rational Unified Process Disadvantages Commercial product, not free to use Only available in electronic format Complex Requires special training to use 11Copyright © Texas Education Agency, 2013

12 eXtreme Programming eXtreme Programming (XP) is a process designed to reduce risk by reducing the cost of delaying design decisions. XP is centered around the idea of releases done in iterations very similar to RUP. In XP, the first release is an initial working version of the program and subsequent releases add functionality and correct errors in the system. 12Copyright © Texas Education Agency, 2013

13 eXtreme Programming XP functions almost identically to RUP in that it shares its iterative nature. In addition to iterative design and development, XP also uses a few other performance enhancing tools: Test Driven Design (TDD) Pair Programming User Stories, Use Cases 13Copyright © Texas Education Agency, 2013

14 eXtreme Programming Test Driven Design is a technique of developing software that involves creating and implementing tests to determine the “correctness” of a program BEFORE you write the program. 14Copyright © Texas Education Agency, 2013

15 eXtreme Programming Example of Test Driven Design: Let’s say you wanted to write a program that includes a function to calculate the area of a Rectangle. We already know the area of some rectangles, so we would write a test like this: public void testArea() { double area = areaOfRect(10,5); assert area == 50; } We know the answer to 10 * 5 is 50, so this is a valid test. 15Copyright © Texas Education Agency, 2013

16 eXtreme Programming Once you have a series of tests written, then you write the program and check to make sure all of your tests pass. Many professionals use some type of Unit Testing suite. In Java, the most common Unit Testing suite is JUnit. 16Copyright © Texas Education Agency, 2013

17 eXtreme Programming Pair Programming is a practice of having two people sitting at the same computer working on the same piece of code. 17Copyright © Texas Education Agency, 2013

18 eXtreme Programming One person in pair programming takes the role of “Driver”. The driver types in the code and discusses what they are doing as they work. 18Copyright © Texas Education Agency, 2013

19 eXtreme Programming The other person in pair programming is the “Navigator”. The navigator watches the code as it is being typed in and helps to correct errors as they happen. The navigator should also ask questions like why they chose the solution they did or for clarification on how a solution works if they are unsure. 19Copyright © Texas Education Agency, 2013

20 eXtreme Programming To achieve maximum effectiveness in pair programming, the driver and navigator should periodically exchange roles. 20Copyright © Texas Education Agency, 2013

21 eXtreme Programming User Stories are a technique for gathering requirements from a client. A user story gives an example of how a client might want to use the software. For example: “I open the banking software and I want to transfer money from my savings account to my checking account.” 21Copyright © Texas Education Agency, 2013

22 eXtreme Programming A Use Case is a specific path in a User Story. In the previous example, it might turn out that there aren’t enough funds to make the transfer, so one case would be the “Insufficient Funds” case. Yet another case would be a “Successful Transfer” case. 22Copyright © Texas Education Agency, 2013


Download ppt "1 Advanced Computer Programming Project Management: Methodologies Copyright © Texas Education Agency, 2013."

Similar presentations


Ads by Google