Degree of Difficulty
CharacteristicLowModerateHigh
Number of Functions PerformedSmallMediumLarge
Novelty of FunctionStandardSimilar to existingNew theory or Approach
Number of users requiring access or concurrent access1severalmany
Multi-taskingnosomeyes
Interactive vs. batchbatch or minimal interactionhighly interactivehighly interactive
Response-timeOff-line; non-criticalInteractive; moderate response timereal-time
Need for distributed processingnone2 computers3 or more computers
Amount of Data Storedwill fit on single diskrequires 2 or more disksrequires system to manage disk access
Structure of dataSimple data relationshipsModerately complex relationshipsHighly complex relationships
Accuracy of DataLow ModerateHigh
Transaction SizeSmallMediumLarge
Remote vs. localLocal OnlyRemoteRemote
CriticalityCan tolerate several hours downtimeCan tolerate short periods of downtimeCan tolerate no downtime
Securitynonemoderatehigh
Interaction with Other systemsNoneSome, but well-definedMuch; possible parallel development
Number of Phases of Developmentnonefewmany
Need for Manual Overridenonoyes
Dependence On HardwareIndependentSomeTied to specific Hardware constraints
Stability of SpecificationFixedSome changesFrequent changes
User SophisticationFamiliarity with systemssome familiaritynaive
Developer SophisticationHas developed similar systems with similar toolsExperience with tools, no with applicationno experience

from S. Pfleeger (1987) Software Engineering. New York: Macmillan. p. 29.