AS1: Approaches to system development 2 Flashcards
What is a technical documentation and what’s it use
It is created in every large phase of development
For anyone designing, building and maintaining the system e.g. analysts, technicians, programmers etc.
It describes how the system works ….eg analysis report, design spec and test plan
What is user documentation
For the end user of system (not for technical people)
Describes how to use it- the system…. no technical language
User guide, installation instructions.
What is the purpose of maintenance
To keep the system working and for it to remain fit for purpose
So it can meet any new requirements needed, remain efficient/useable
Some requirements may have been missed during development
What are the types of maintenance and explain them.
CORRECTIVE: Fixing bugs and other known issues.
Updates and patches applied
Reactionary (Reacting to known issues)
ADAPTIVE: new requirements happen
Internal-New products, changes to procedures acquiring new business
External- Laws changing, competitors changing procedures, new h/w and s/w
PERFECTIVE: Taking steps to stop problems before they occur
Making code more efficient
Increase Network capacity before needed
Less chance of an error
Describe a waterfall model
It consists of a number of distinct phases…eg Design
Each stage must be fully completed before moving on to the next
If a problem is found in one stage you can move back to a previous stage.
Each stage has specific deliverables-outlets eg user requirements from analysis
What’s the advantages and disadvantages of a waterfall model
ADV
Rigid development model
Easy to plan, implement, cost etc…
All requirements are met
DisADV
Very little or no user involvement between requirements and testing. If requirements where misunderstood they wont be discovered until very late Lot of money and time wasted so RISK
Rigid/Inflexible- Not easy to change requirements.
Describe RAD (Rapid Application Development)
Its an incremental development model (Builds on top)
Focus is on quick delivery of working code,
Requirements are prioritized, essential, non essential
Parts are created in parallel.
What are the different processes in RAD
Business model- Analysing the business requirements and data flows
Data Model- Identifying data objects (entity/data stores) and relationships between them
Process modelling- What processing happens? e.g. calculations updating
Application Generation- Producing working code. parts of system (evolutionary prototyping)
Testing and turnover- Complex test plan testing… Reduce amount/ need for testing/ feedback already occurred application generation prototype iteration
What’s the advantages and disadvantages of RAD
ADV
Flexible- Deal with changes to requirements
Lot of user involvement during development. Low risk of misunderstood requirements
Focus on highest priority needs
Reuse code/components
DisADV
Not suitable to all project types
Can be expensive due to costs of automated tools (Code generation and modelling)
What are essential and non- essential requirements
Essential Requirements - are requirements that must be met
Non-Essential requirements - are requirements that are met if time and money is available
What does the term MOSCOW
Must
Should (time and money)
Could (If there is time and money)
Won’t (not happening
What is a constraint
Restrictions which are placed on the limitations of the project.
What is a Gantt chart
A Gantt chart is a type of bar chart which shows all tasks and subtasks to be done. It also shows the start and finish dates.
What are the advantages and disadvantages of a Gantt chart
Adv.
Provides clarity as we can see all tasks that have to be done and when they have it be done
Helps eliminate idle time in project
Helps with the time management because we can track our progress against the Gantt chart eg see what deadlines that have to be completed on time.
DisADV.
Large project- The Gantt charts will be large and more complex
Limited- Because the size of bar doesn’t reflect the amount of work cannot see dependency’s between tasks
Difficult to show lead/lag time.
What is CPA
It is a model of a project that shows the following things:
A list of all activities required to complete the project
The time that each activity will take in consideration
The dependence between the activities
Why do we use CPA
Allows us to calculate
- The critical path - a path of activities which if delayed will affect the overall project finish time
- The shortest possible time to complete the project
- The earliest and latest that each activity can start and finish without making the project longer
- The float time for any activities not on critical path
What are the advantages of CPA
ADV
Gives good overview of project can easily see dependencies etc.
Easy to see impact of schedule revisions - Critical path times change
Helps with effective allocation of resources - e.g. can see activities with ‘float’ so can reallocate resources to activities on critical path if needed
What are the disadvantages of CPA
DisADV
Can be difficult to create and use on larger more complex projects - individual activities must be broken down into sub tasks
Success is based on accurate initial estimates of time/resources needed for each task.