Presentation is loading. Please wait.

Presentation is loading. Please wait.

Developing Software MGMT 661 - Summer 2012 Night #8.

Similar presentations


Presentation on theme: "Developing Software MGMT 661 - Summer 2012 Night #8."— Presentation transcript:

1 Developing Software MGMT 661 - Summer 2012 Night #8

2 Outline  Types of Software  Critical Success Factors  Phases of Development  Writing Software

3 Context for Tonight  29% of IT project finish on-time, within budget, and meeting all requirements  30% to 40% projects are significantly late  very many projects don't fulfill all requirements textbook section 14.1  WHY?

4 Types of Software  System Software  example: operating system  Middleware  example: network interface software  Embedded Software  example: your car's engine  Application Software  ex: Microsoft Word, a CRM, cellphone apps, etc.

5  new software product  component integration  re-engineered product  heroic maintenance Project Types

6  Stable Requirements  Accurate Estimations  Attention to Risks  Teamwork and Unified Vision Critical Success Factors for Software Projects Source: lots of reading by Dannelly

7 Selecting Critical Success Factors textbook Figure 14-3

8 Goal Statement  Purpose = Managing Expectations  Desirable Properties:  States both why and what  Measurable  Short  Doable  Communicated

9 Life Cycle Models  Waterfall  Incremental

10 Waterfall Model  older style  still used on VERY large projects  works well only when requirements are known at the beginning

11 Spiral Model  well suited to ill- defined problems and new domains  major drawback is little requirements stability

12 Project Initiation  How to decide "go" v "no go"?  standard issues such as ROI, match to corporate strategy, etc  chance of success  Buy It or Build It?  frequently cheaper to buy than to build  use a scoring model to decide which to buy see Table 14-2 in textbook

13 Analysis Problems  Determining what is critical  Avoiding mission creep  Conflicting views  Ease of omitting obvious info  Identifying the experts and getting authority to talk to people  Incomplete understanding of the problem on the part of the user/customer  Being complete, without being constraining  Sticking with “what” and not “how”

14 How Programming Works Development Environment Algorithm Source Code Program Analyze the Problem and Design a Solution Programming Software translates the Source Code into Machine Code (1s and 0s)

15 Example Program Prompt the user Get First number Print total / count Get Next number Is it -1 add one to count add number to total Yes No Information to Track: 1.number that was input 2.count of numbers 3.total of all numbers The Problem: Read a list of numbers then print the average. The list ends with -1.

16 main () { integer: value, count, sum; print "Enter your numbers"; input value; while (value <> -1) sum = sum + value; count = count + 1; input value; end while; print "Average = ", sum/count; } Example: The Source Code Prompt User Get 1 st number Loop to add up the sum and count the number of inputs Print the average Ask the OS for memory

17 Testing, testing, …  Finding errors  User Interface Evaluation  Recovery Testing  Security Testing  Stress Testing  Performance Testing  Beta Testing

18 How much testing  What level of Quality should we shoot for? Quality $ Cost of Software Quality Assurance Cost of Failure Cost of Production and Operation Optimal Quality Level

19 Summary  Software development is part Art and part Engineering  A software project that tries to please everyone is doomed to please no one  Accurate Analysis and Managing Expectations are as important as technical ability  Buying an off-the-shelf software product is almost always cheaper than building your own custom software  Software has bugs because bugless software is too expensive


Download ppt "Developing Software MGMT 661 - Summer 2012 Night #8."

Similar presentations


Ads by Google