Some notes for
Software Engineering
by Herbert J. Bernstein
© Copyright 1999 Herbert J. Bernstein
Needs Analysis
- Business analysis
- Define the business
- By common terminology
- By industry, industry sector(s), function(s)
- Identify business environment and boundary
- Decompositions
- Top-down
- Object-oriented
- Apply both to the business and to the environment
- Identify the flows
- Control, information, goods
- Follow the money
- Identify IT needs
- What does the business use to function AS-IS
- Follow the money
- Look for commonly used IT functions
- Accounting system
- Inventory control
- Payroll
- Taxes
-
- Consideration of Alternatives
- Compare to IT as used by competition
- Consider vendor offerings
- Look for bottle-necks in information flows
- Manual systems amenable to automation
- Mismatched loads vs. service capacity
- Mismatched skills for systems in use
- Incremental change vs. big-bang
- Build vs. buy
- Multiply all build estimates by 3
- Have alternatives if build fails
- Have second sources for buys
- Evaluation of risks
- Minimize maximal losses
Preliminary Design
- Evaluate commercial options
- Hardware
- Mainframe, midrange, personal computers
- Software
- Tools to fit within existing systems
- Full packaged solutions
- Communications
- Services
- Evaluate full life-cycle costs
- Acquisition
- Training, Documentation
- Transition and installation costs
- Support costs
- License fees, rental charges, lease charges
- HVAC, power, service contracts
- Support personnel
- Termination costs
- Evaluate in-house options
- IT as a business system
- For existing, proven system
- evaluate much as from outside vendors
- For new designs
- Evaluate credibility of estimates
- Allow for organizational politics and hidden costs