Download presentation
Presentation is loading. Please wait.
Published byCornelia Carson Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.