Shared Content Flashcards

1
Q

What aspects of feasibility must be considered at the analysis stage?

A

Technical, Economic, Legal, Schedule

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

What is technical feasibility?

A

Is the existing technology sufficient - the feasibility study must ascertain what technologies are necessary for the proposed system to work as it should

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

What is economic feasibility?

A

Is the budget sufficient or justified by the expected return - economic feasibility study should include a cost benefit analysis for different options, and an estimate for the break-even point

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

What is legal feasibility?

A

Can the solution be created and adhere to existing laws - legal feasibility study should consider any conflicts that might arise between the proposed system and legal requirements

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

What is schedule feasibility?

A

Is there enough time to complete the project, are the right people and resources available when required to deliver the project on time - schedule feasibility study should consider how long the project will take and which aspects of the project will require different amounts of time, aided using a Gantt chart

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

What is analysis?

A

The process of understanding what it is that the client, users, and stakeholders want from the system, so that a detailed list of requirements can be created as the basis of a legally binding contract between the developer and the client

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

What are the first three things considered in the analysis stage?

A

Purpose, scope, boundaries

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

What is purpose in the analysis stage?

A

A general description of the purpose of the software

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

What is in the scope?

A

A list of deliverables to be handed over to the client/end-user to be stored in the product backlog e.g. design, completed program, test plan, test results, and evaluation report; time limits could also be included in the scope

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

What are the boundaries of a project?

A

A definition of what is and isn’t in the project and clarification of any assumptions of client requirements

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

What is included in the requirements specification?

A

Scope, boundaries, constraints, functional & end user requirements

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

What is detailed in the requirements specification?

A

Basis of payment for the work to be completed, how the software will be designed, tested, documented, and evaluated before the client receives it, along with any longer term maintenance agreement between customer and developer

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

What is defined in the scope?

A

The features that the product must have, what will and will not be included as part of the project

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

What are constraints?

A

Limitations and restrictions that affect and apply to the development of a product

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

Which constraints can apply to a project?

A

Time, scope/technical, budget/cost, legal

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

Besides the main constraints, what should be detailed in the constraints?

A

Which OS the system will work on, what environment should be used for development

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

What are the functional requirements?

A

What the product should do (features and functions that must be delivered by the system) split into three sections - inputs, processes, and outputs

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

What are used to help create the end user requirements?

A

Personas, user stories, user scenarios, use cases, and user devices

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

How is feasibility determined?

A

Through a feasibility study usually undertaken by the project leader to figure out whether the proposed expenditure of time and money are likely to be worthwhile, whether the project is achievable, and which if any possible solutions can be further developed in the design phase

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

Why are user surveys needed?

A

To find out what potential users require, how likely the system is to be used by a specific set of users, who these users are likely to be, or what testers think could be improved

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

What are the columns in a Gantt chart?

A

Task, duration, start date, and then the days with the bars underneath

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

What are the two kinds of actors that can be represented in a UML use case diagram?

A

Primary actors (users) - those that use the system to achieve a goal
Secondary actors (e.g. database, server) - what the system needs assistance from to achieve a primary actor’s goal

23
Q

How are actors represented in a UML use case diagram?

A

Labelled stick figures, primary to the left of the system box and secondary to the right of the system box

24
Q

How is inheritance represented in a UML use case diagram?

A

An arrow pointing from the child actor to the parent actor

25
Q

What are the use cases in a UML use case diagram?

A

Actions or processes that can be initiated by the user or system

26
Q

What relationships can use cases have in a UML use case diagram?

A

Extend - optional
Include - mandatory

27
Q

How are relationships between use cases represented in a UML use case diagram?

A

Extend and include - labelled dashed lines
Generalisation (specific case to general case) - solid lines

28
Q

What is project management?

A

The process of planning and controlling the activities of a project to ensure that required features are delivered at the required quality within the time and budget available

29
Q

What is a project?

A

A specific piece of work which is defined by what it attempts to achieve, judged to be successful if it achieves objectives defined according to some acceptance criteria within an agreed timescale and budget

30
Q

What does the project plan do?

A

Details individual responsibilities, resources available to complete work, the order of work, and the key milestones

31
Q

How do tradeoffs between scope, time, budget, and quality differ between iterative and agile development methodologies?

A

In the waterfall model the requirements are completely known after the analysis phase so changes to scope will add time or cost to the project if quality is to be maintained; changes to cost can lead to changes in quality or scope

For an agile scrum approach time and cost constraints tend to be fixed based on the initial agreement but scope is expected to change throughout development as clients can remove requirements or add new ones or change the priorities of existing requirements, with the evolving list of requirements held in the product backlog and updated prior to each sprint; scrum projects typically don’t have a formal project manager in charge of overall planning and execution as the team is self-organising and supported by the scrum master, however in larger projects with multiple teams the project manager can act as a buffer between outside organisations and the teams, constructing a high-level project management plan based on the product backlog and maintaining this to estimate completion of the project

32
Q

What are the four parts of testing for the whole solution?

A

Integrative testing, usability testing, final/system testing, end-user testing

33
Q

What is the purpose of integrative testing?

A

To check for data integrity in the flow of data between modules and that the modules work together as planned, allowing for the testing of features that can’t be tested at the individual module level

34
Q

What is the outline of integrative testing?

A

For smaller projects, combining all the modules and testing the system as a whole
For larger projects, testing small groups of modules designed to work together, and then testing everything together

35
Q

What is created before implementing integrative testing?

A

A test plan using the modules tested at the component testing stage as inputs, identifying the original specification, any test documentation from component testing, a list of test data to be used, a list of conditions that must be in place before starting testing, details of what constitutes a successful test

36
Q

What are the stages of integrative testing?

A

Planning - how will it be carried out, will it use drivers/stubs, what does successful completion look like
Test data - designing test cases, what inputs used and what are their expected outputs
Execute test - follow the plan using the test data (including writing any temporary code needed for the test)
Record results - to compare actual and expected outputs
Check for completion - if they don’t match then identify why not and repeat testing after making modifications, if they do then testing is complete

37
Q

Which types of testing are alpha testing and what does this mean?

A

Component, integrative, usability, and final testing are alpha testing as they are done in house by developers

38
Q

What is the purpose of usability testing?

A

To ensure the software is as easy to understand and use as possible, and that the interface is suitable for all users

39
Q

Which type of testing is carried out on prototypes?

A

Usability testing

40
Q

What are the criteria for a system to be usable?

A

Appropriate (to the type of user and tasks being performed, ideally mirroring the real world so concepts and language will be familiar to users, could include skeuomorphism - when a software system tries to mimic its real-world counterpart)
Customisable (can be changed to suit a user’s needs without compromising functionality, could include shortcut keys for experienced users, menus and dialogue boxes for novice users, adding frequently used tools to a menu/toolbar, changing colours/contrast, and changing language or offering regional versions)
Accessible (customisable enough for those who need screen readers or high contrast screens for those with eyesight problems)
Consistent (menus and dialogue boxes so that commands/operations are grouped together in a logical way, e.g. standard file and edit menus)
Controllable (make sure users can undo crucial operations, always have an escape from a sequence of operations)
Helpful (interface should provide help on request for the context of the task being undertaken, documentation should be comprehensive and available when it is necessary)

41
Q

What is the purpose of final/system testing?

A

To be a final internal check carried out on the completely integrated program to ensure it meets the specified requirements

42
Q

Who carries out final testing?

A

Someone in house but independent of the development team to remove any bias of the developers that could prevent the discovery of errors

43
Q

What are the stages of final testing?

A

Planning - how will it be carried out, what does successful completion look like
Test data - design it, design specific test cases, what inputs used and what is the expected output (linked to initial requirements)
Execute test - follow plan using test data
Record results - record outputs to compare actual against expected
Check for completion - if they match, test complete, otherwise identify the error and repeat the testing process from the appropriate point

44
Q

What are other names for end user testing?

A

Acceptance testing, beta testing

45
Q

Who carries out end user testing?

A

The client for bespoke systems and potential customers for commercial systems

46
Q

What is the purpose of end user testing?

A

To check the system is fit for purpose, that it can be used by those unfamiliar with the system or with different software experiences, and that other problems and bugs have not gone unnoticed

47
Q

How could commercial companies carry out end user testing?

A

They may release beta versions of their software to selected users (e.g. computer journalists, current users of previous versions) for free or at a reduced cost in exchange for helping find and record any bugs found

48
Q

What are the five main evaluative criteria?

A

Fitness for purpose, efficiency, maintainability, usability, and robustness

49
Q

What is fitness for purpose and how is it determined?

A

Does the system do everything specified, if not why not, are there extra features
Determined by checking the final program against the specification, with results of testing being key

50
Q

What is efficiency and how is it determined?

A

Are the coding constructs used efficient, are modules used efficiently
Relates to the use of system resources like processor time, memory, and storage
Code should be reused where appropriate, using modularity effectively

51
Q

What is required for maintainability?

A

Modularity - program divided into reusable subprograms so maintenance can be carried out on individual modules without having to adjust other parts of the code
Effective use of internal commentary - to explain the code to anyone who may be maintaining it, clarifying operation of the code
Meaningful variable and module names - so code is readable and anyone maintaining more easily understands the code
Effective use of white space in code - good for readability and to define the structure of the code so anyone maintaining understands what is going on, indentation should be used to align opening and closing structures, blank lines should separate sections of code

52
Q

What are the types of maintenance?

A

Corrective - fixing any bugs uncorrected in alpha and beta testing to make sure the program adheres to the original specification
Adaptive - amend the program to changes in operating environment (e.g. operating system)
Perfective - to improve the program, can add features to better meet user requirements or meet new requirements

53
Q

What is usability and how is it determined?

A

Is the system easy to use and learn, could this be improved
“The extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency, and satisfaction in a specified context of use”
Has to be easy for the user to learn and become competent in using the interface from the initial use, be simple to achieve the intended purpose of the program (guiding the user to complete the task), and be simple to use after the first time (user can recall the interface on future visits and it becomes increasingly familiar with use)

54
Q

What is robustness and how is it determined?

A

Does the system cope with external errors and unforeseen mishaps during execution
Depends on the results of testing
The program could fully meet requirements but not be robust
Program should handle errors “gracefully” - not crash, notify the user and allow them to continue using the program