3.1 System Analysis Flashcards

1
Q

2 categories of software

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

What are the steps of software development

A
  • Analysis
  • Design
  • Implementation
  • Evaluation
  • Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Systems development life cycle

A
  • Analysis
  • Design
  • Implementation
  • Evaluation
  • Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Analysis

A
  • Gathers information about what the current system does if there is one, and what the new system needs to do
  • Analysts may interview people who will use the software, use questionnaires to get information from large groups of people, observe how the current system works, look at existing documentation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are some outputs from analysis?

A
  • System spec, user requirements
  • Can define what the system will do, but not how it will do it
  • Is used to create the design and to evaluate the finished product
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Features of the design testing

A
  • A description of the data
  • Database design
  • Input screens
  • Output screens and reports
  • How the data will be porcess
  • How the software will be tested
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Implementation

A
  • Coding and testing the software
  • Writing user and technical documentation
  • Installing the software for the user
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Black box testing

A
  • Carried out independently of the code used in the program.
  • It looks at the program specification and create a set of test data that covers all the inputs, outputs and program functions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

White box testing?

A

Depends on the code logic and devised which test each path through code at least once

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

Alpha testings

A
  • Carried out by the software developer’s in-house team and by the user
  • It can reveal errors or omissions in the definition of the system requirements
  • The user may discover that the system does not do exactly what they wanted
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Beta testing

A
  • This is used when a a commercial software is being developed
  • Software is given to a number of potential users, who agree to use the software and report any faults
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Evaluation

A

Acceptance testing evaluates the product against the specification document

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

Give 3 different types of maintenance

A
  • Corrective
  • Adaptive
  • Perfective
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Corrective maintenance

A

Bugs will usually be found when the software is put into action, no matter how thoroughly it was tested

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

Adaptive maintenance

A

Over time, user requirements will change and the software will have to be adapted to meet new needs

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

Perfective maintenance

A

Even if the software works well, there may be ways of making it even better - faster, easier to use, more functionality

17
Q

Waterfall model

A
  • Each stage is completed and documented before the next is begun
  • The customer doe snot see the end product until it is completed
  • Any changes the project has to be started again
18
Q

Advantages of the waterfall model

A
  • Simple to understand and use
  • Each stage is separate and self-contained with well defined outcomes and written documentation
  • This makes the project relatively straightforward to manage
  • The model works well for smaller projects where requirements are very well understood
19
Q

Disadvantages of the waterfall model

A
  • There is not much user involvement after the analysis stage, when the specification document is agreed
  • No working software is produced until late in the cycle
  • The user is presented with the finished product if it is not quite what was required, it is generally too late to make changes
20
Q

When to use the waterfall model

A
  • The requirements are very clear and fixed
  • There are no ambiguous requirements
  • The technology is well understood
  • The project is short
21
Q

4 basics steps of spiral model

A
  • Analysis
  • Design
  • Implement
  • Evaluate
22
Q

What does each successive loop do around the spiral

A

Generates a more refined prototype until the software meets all the requirements

23
Q

Advantages of the spiral model

A
  • Well-defined steps make the project easy to manage
  • Software is produced at an early stage so problems and issues can be identified early
  • The user gives feedback on each prototype and any required cjamges can be amde early in the process
  • ADded functionality can be made early in the process
  • The end result is more likely to be what the user wants
24
Q

Disadvantages of spiral model

A
  • Process of developing prototype, getting feedback and refining the prototypes is time-consuming so the finished product takes longer to develop
  • A system is more costly to develop because of the time involved
  • Not suitable for smaller projects
25
Q

When to use the spiral model

A
  • Medium to high-risk projects
  • When users are unsure of their needs and what the possibilities are
  • When the requirements are complex
  • For large projects over time
26
Q

Agile model

A
  • Software is developed in rapid incremental cuycles
  • Each version builds on previous functionality
  • Each version is thoroughly tested before release
  • Good for small time-critical projects
  • Limited planning is needed to get started
27
Q

Advantages of the agile model

A
  • Rapid, continuous delivery of useful software leads to customer satisfaction
  • Customers, developers and testers constantly interact with one another
  • Working software is delivered frequently, within weeks rather than months
  • Software is easily adapted to changing circumstances
  • Even late changes in requirements can be implemented
28
Q

Disadvantages of the agile model

A
  • There is a lack of emphasis on necessary design and documentation
  • The project can fail to deliver if the customer is not clear about the desired final outcome
  • Not suitable for novice programmers - experienced programmed capable of making good decisions are required
29
Q

When to use the agile model?

A
  • When new changes need to be implemented
  • In an expanding or developing business where users’ needs are continuously changing and developing
30
Q

Extreme programming (XP)

A
  • A software method methodology which is intended too improve software quality and responsiveness to changing customer requirements
  • A type of agile software development in which frequent “releases” of the software are made in short development cycles
31
Q

What are some of the ideas used behind RAD (Rapid Application Development)

A
  • Workshops and focus groups to gather requirements rather than a formal requirement document
  • The use of prototyping to continually refine the system in response to user involvement and feedback
  • Producing within a strict time limit each part of the system, which may not be perfect but which is good enough
  • Reusing any software components which have already been used elsewhere