| Degree of Difficulty | |||
|---|---|---|---|
| Characteristic | Low | Moderate | High |
| Number of Functions Performed | Small | Medium | Large |
| Novelty of Function | Standard | Similar to existing | New theory or Approach |
| Number of users requiring access or concurrent access | 1 | several | many |
| Multi-tasking | no | some | yes |
| Interactive vs. batch | batch or minimal interaction | highly interactive | highly interactive |
| Response-time | Off-line; non-critical | Interactive; moderate response time | real-time |
| Need for distributed processing | none | 2 computers | 3 or more computers |
| Amount of Data Stored | will fit on single disk | requires 2 or more disks | requires system to manage disk access |
| Structure of data | Simple data relationships | Moderately complex relationships | Highly complex relationships |
| Accuracy of Data | Low | Moderate | High |
| Transaction Size | Small | Medium | Large |
| Remote vs. local | Local Only | Remote | Remote |
| Criticality | Can tolerate several hours downtime | Can tolerate short periods of downtime | Can tolerate no downtime |
| Security | none | moderate | high |
| Interaction with Other systems | None | Some, but well-defined | Much; possible parallel development |
| Number of Phases of Development | none | few | many |
| Need for Manual Override | no | no | yes |
| Dependence On Hardware | Independent | Some | Tied to specific Hardware constraints |
| Stability of Specification | Fixed | Some changes | Frequent changes |
| User Sophistication | Familiarity with systems | some familiarity | naive |
| Developer Sophistication | Has developed similar systems with similar tools | Experience with tools, no with application | no experience |
from S. Pfleeger (1987) Software Engineering. New York: Macmillan. p. 29.