AS1: Approaches to system development 2 Flashcards

1
Q

What is a technical documentation and what’s it use

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is user documentation

A

For the end user of system (not for technical people)
Describes how to use it- the system…. no technical language
User guide, installation instructions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the purpose of maintenance

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the types of maintenance and explain them.

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe a waterfall model

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What’s the advantages and disadvantages of a waterfall model

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe RAD (Rapid Application Development)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the different processes in RAD

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What’s the advantages and disadvantages of RAD

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are essential and non- essential requirements

A

Essential Requirements - are requirements that must be met

Non-Essential requirements - are requirements that are met if time and money is available

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does the term MOSCOW

A

Must
Should (time and money)
Could (If there is time and money)
Won’t (not happening

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a constraint

A

Restrictions which are placed on the limitations of the project.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a Gantt chart

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the advantages and disadvantages of a Gantt chart

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is CPA

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Why do we use CPA

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What are the advantages of CPA

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What are the disadvantages of CPA

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is version management

A

Ensuring everyone is using the same version of system / software
All changes to system are tracked
…revert back to older versions if necessary eg bug / problem

It allows different teams to work on different parts of a system simultaneously
…without effecting main system use
Merge each teams code/updates back to main system.

20
Q

What does archiving data mean

A

Removing data from the live system to improve its system.

Data is stored on a different medium e.g. optical disks

21
Q

Why do we need a backup

A

If something happens our system and our data is lost then we have another copy.

22
Q

What is recovery

A

Getting the system including the data back to how it was before the error occurred.

23
Q

What is a Full Backup

A

Make a copy of all data
Takes a long time to do
Should only be done at very quiet times

24
Q

What is a differential backup

A

This backs up all the changes to fata since last full backup.
Less time than a full backup
…Only changes are saved eg every weekend

25
Q

What is an incremental backup

A

Backup up all of the changes to data since last back up of any kind
Fastest as it has least amount of changes to back up

26
Q

List some potential disasters

A
Floods
Fire
Natural Disaster
Terrorism / riots
Accidents
27
Q

What’s a disaster recovery plan

A

Its a plank that contains the following
1: Identifying the disaster that could happen
2: Assumption being much in writing the plan i.e. certain staff , back accessible
3: Scope of the plan - identify the areas that are essential for operation
4: Policies / Plan i.e. what we actually going to do so that infrastructure shop etc.
Identify the scope to be able to operate and do their scope
5: Identify staff members for carrying out the plan, for example Network manager is responsible to sources computers, getting the backup and putting into system. Office manager responsible for finding an alternative location for staff and new hardware.
6: Revision + Testing plan - Test run, identifying problems and work around them

28
Q

What is a variable

A

It is named space in memory RAM
Which can store values
That a programme needs while running e.g. score, lives etc.

29
Q

What are the 4 main data types

A

String: Text including uppercase, lowercase, digits, punctuation etc.
Integer : Phone numbers e.g.. 1,9 4278 etc.
Float : Numbers including decimal places e.g. 3.14159, 14.0
Boolean: true/false
Character :Stores a single Unicode character e.g. 1, 2

30
Q

What is an algorithm

A

It is a set of rules/steps designed to solve a problem.
The two types are
1: Flow charts
2: Pseudo code

31
Q

What is a Syntax

A

Syntax is the rules/description of a language

Any syntax errors will cause the programme not to run

32
Q

What is a sequence

A

Order things coming i.e. most algorithms must follow their sequence in particular order

33
Q

What is selection

A

This is where a programme decides - selects which piece of code to run depending on a condition

34
Q

What does iteration mean

A

Iteration - To repeat, do again
In coding, iteration means to repeat the same piece of code until a condition is met or the correct number of iterations is complete

35
Q

What is a Count Controlled Loop

A

Loop over same piece of code
Variable is used as part of a test condition
Need a counter variable

36
Q

What is a Condition Controlled Loop

A

Variable is used as part of a test condition
While that condition is true, the code will repeat
Repeat steps when condition becomes false.
Condition could be tested at start or end of the repeated code.

37
Q

What is a Flow chart

A

Layout the steps of the algorithm
Links the steps together in a particular order
Including decisions which can result in different directions (selection)
Arrows may loop back to do an earlier part of the chart iteration

38
Q

What is Pseudo Code

A

Code design but in more natural language
Key terms area in upper case e.g. IF, WHILE, VARIABLE etc.
SELECTION and ITERATION should always be ended

39
Q

What is an object

A

An object is an element/component within a programme
Objects contain attributes (properties)
-Values that are associated with the objects e.g. form class, name
Objects have methods, methods are action that the object can perform e.g. exam grades, select a class
Method - updating stock, reorder

40
Q

What is a class

A

A class is a design, template or blueprint that described the object.
Define all attributes that the object will have and
Define all of the actions that the object can perform as method

41
Q

What is a method

A
A method is a section of code within a class
Each method defines an ability of that class i.e. method is a function defined within the class.
A class method only has access to data within the class
42
Q

What is inheritance

A
A new class can be derived from an existing class (parent class)
Child class will take on all of the attributes and abilities of the parent class
Further child classes can then derived from this now class to form more specialised versions of objects.
Child classes will have some differences from parent class. e.g. - Child class can have additional methods
Child may have same ability but done in a different way
43
Q

Advantages of the use of the Object Oriented approach

A

Classes and methods created for one object oriented application can be reused in other programs and applications. In addition objects can be extended to include other behaviours and attributes. Re-use enables faster development and lowers the overall cost.
• Encapsulation means that once an object is created, it can be used without knowledge of how it is implemented or coded. In addition, objects can hide aspects of themselves from programmers which means that certain parts of the code cannot be altered.
• Due to the modular nature of OOP, designers go through an extensive planning phase. This means better designs with fewer flaws and less time spent on program maintenance.
• The OO approach can also improve software quality. Firstly, a class can be tested in isolation, away from the application in which it is intended to be used. Secondly, with the use of inheritance, the testing of a derived class can assume the base class is correct and can focus on the additional attributes and behaviours.

44
Q

Disadvantages of use of the Object Oriented approach

A
Object oriented programming has some drawbacks which include:
• Concepts including inheritance and encapsulation can be difficult to understand in the first instance meaning that there is a steep learning curve. This means that programmers must learn extensive class libraries before even beginning to program simple applications.
• Object oriented programs can incur run time cost due to dynamic dispatching. This is where the process selects which particular version of a method to call (polymorphism)
45
Q

What does IDE stand for and what are its main features

A
Integrated Development Environment
-Code editor
-Area where programming code is typed
-Auto completion tools
Outlining - Programmer can collapse areas of code eg a function definition
- Line numbering
-Syntax assistance 
- Coloured lines to show syntax errors
GUI Tool box - Allows interface components to be easily coloured to application e.g. form, add button, drop down etc...
46
Q

What is a solution explorer, debugging tool, and an error message

A

Solution Explorer = Allows programmer to navigate through solution folders, access different parts e.g.
Database
Forms
Code etc
Debugging Tools = Line breaks …. allows code to pause so that variables and other elements can be inspected
Error Messages = Description of syntax errors
Where they can be found (line number)

47
Q

What is the compiler and an interpreter

A

Compile
All other code is translated into machine code stored as a new file
Thus machine code be run at any time
Interpreter
All of code is translated line by line
Each line is run immediately
We must reinterpret every time we want to run this code