SCC141: term 1 Flashcards
Professionalism (112 cards)
What describes a system?
- a collection of interrelated parts that form a whole
-a change in any part can lead to change in other parts
what is the systems development lifecycle?
-process of designing, creating and delivering a system to a client, that meets the specifications set out by the client
what are the stages of the systems development lifecycle?
-planning
-analysis
-design
-implementation
what is the purpose of the planning stage in the systems development lifecycle and what are it’s typical outputs?
-why does system need to be developed
-how will it be developed
-calculate resource requirements
-project goals, initial work plan
in the planning portion of systems development lifecycle, what is a cost-benefit analysis?
breaks down total system costs:
-development costs
-operational costs
-tangible benefits (revenue)
-intangible benefits (not quantifiable)
what is the purpose of the analysis stage of the systems development lifecycle and what does it involve?
-who will use the system?
-where/when will it be used?
-understand existing systems
-identify improvements/define requirements
-gather data from prospective users
what are requirements?
-statements of what the system should do and characteristics it should have
what does PACT stand for?
-People: who will use the system
-Activities: what will it be used for?
-Context: in what environment will it be used?
-Technology: what tech is currently used/ could be used?
what are some examples of traits of prospective users that need to be acknowledged?
-language
-skill
-cognitive state
-physical abilities
-emotion
-in/frequent user?
what aspects of activities needs to be acknowledged in analysis?
-in/frequently done activities
-continuous/interrupted processes
-individual or cooperative?
-time requirements
-error tolerance
what aspects of context need to be considered in analysis?
-physical environment
-social environment
-organisational context
what aspects of technology should be considered?
-inputs/outputs
-communications
-networked?
what is the purpose of the design portion of the systems development lifecycle and what is the output of this stage??
-how will the system operate?
-design architecture/interface/databases/file specifications
-interface design
-system specification
what are aspects of interface design that should be considered?
-how will users interact with the system?
-navigation mechanisms
-input mechanisms
-storage mechanisms
-output mechanisms
what are the key aspects of the Implementation portion of the systems development cycle?
-building the system
-testing it’s function
-installation
-system maintenance
what are the stages of testing?
-unit testing: testing each module on its own
-integration testing: do components work together
-acceptance testing: does the system meet the user requirement
-user testing: seeing how users interact with the system.
what does maintaining a system involve?
-responding to issues/errors that are encountered
-keeping software up to date
-not just maintaining original functionality, but improving it too
what are some models for system development?
-waterfall development
-rapid application development
what does waterfall development involve?
-sequentially moving through planning/analysis/design/implementation
what does rapid application development involve?
-development is centred around features/goals instead of working sequentially through stages
-work through each stage for one feature, then each stage for another feature etc….
what are the advantages of waterfall development?
-requirements are identified early in development with limited change
-supports high security needs for a system
-easy to arrange, as tasks are completed sequentially
what are the disadvantages of waterfall development?
-time consuming
-inflexible
-software not developed until late
-high overhead
what are the advantages of rapid application development?
-easier to make changes mid way through, more flexible
-requirements can change
-user feedback obtained earlier in development
-software delivered very quickly
what are some key features of rapid application development?
-feature oriented, not activity oriented
-rapid development
-work in small iterations
-deliver version of software at each iteration
-review/adapt/make changes