Unit 1 Flashcards

1
Q

AAFRUU

List six characteristics that a good software system should possess.

A

A good software system should be:

  • Affordable
  • Available
  • Flexible
  • Reliable
  • Usable
  • Useful
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

CMS

What are the three characteristics of software that affect its development and likelihood of errors, and why?

A
  1. Complexity
    • Generally, the more complex software is, the higher number of errors
  2. Malleability
    • Software is easy to change, creating a pressure for software to be changed rather than replaced, introducing the possibility of new errors
  3. Size
    • There will usually be more errors in a large piece of software than a small one
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

OCCULT LM

What are the 8 characteristics of legacy systems?

A
  1. old
  2. large
  3. developed using outdated techniques
  4. implemented with old programming languages
  5. critical to the business
  6. changed a number of times since their inception
  7. difficult to understand because of either a lack of documentation about their internal structure or a lack of experience within the group responsible for them
  8. difficult to maintain because of the above factors
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is software architecture?

A

The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both.

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

DR DIT

What are the 5 typical technical activities for the development of software?

A
  1. Domain modelling
  2. Requirements
  3. Design
  4. Implementation
  5. Testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Agile development?

A

Agile development is an approach to software development that puts people and working software at the forefront of the development process.

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

What are the 4 values mentioned in the Agile manifesto?

A
  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the Unified Process (UP)?

A

The Unified Process (UP) is a popular iterative and incremental development process for building enterprise systems based on an object-oriented approach, and using UML.

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

What are the 5 best practices promoted by the Unified Process (UP)?

A
  1. Development should be organised in short timeboxed iterations (three to four weeks)
  2. Development should be adaptive to accommodate inevitable change
  3. High risk issues should be dealt with in early iterations
  4. The user’s perspective should be prioritised by involving users in requirements, evaluation and feedback
  5. A view of the system’s architecture should be built in early iterations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

IECT

What are the 4 phases of the Unified Process (UP)?

A
  1. Inception
    • Business case is developed
    • An idea of the scope is realised
    • Rough estimate of the effort required is made
  2. Elaboration
    • Core of the system is developed in an iterative fashion
    • All major risks are addressed and resolved
    • Most of requirements are identified and dealt with
    • More realistic estimate of effort required is made
  3. Construction
    • Final product is constructed, including the remaining lower risk and easier elements of the system, again in an iterative fashion
  4. Transition
    • Beta testing the system
    • Deploying the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the 5 views in the Unified Process (UP)?

A
  1. Use case view
    • Basic scenarios that describe the users and tasks they need to perform with the aid of a software system
    • Scenarios are partitioned into use cases
  2. Logical view
    • Functional requirements of the software system
    • Involves the construction models that represent the main elements of a system and how they interact
  3. Implementation view
    • Concerned with the organisation of the code modules that comprise a software system
    • Addresses the management of source code, data files and executables
  4. Deployment view
    • Concerned with the relationship between the various executables and their intended computer systems
  5. Process view
    • Concerned with aspects of concurrency, including how processes and threads interact
    • Deals with such things as response time, deadlock and fault tolerance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

DR A DIT D

What are the 7 core activities that follow the Unified Process (UP) discipline?

A
  1. Domain modelling
    • Modelling what already exists in the domain
  2. Requirements
    • Identifying, categorising, prioritising and modelling what the system must do
  3. Analysis
    • Modelling how the structure and behaviour of the system will meet its specification from a user’s perspective
  4. Design
    • Deciding on the distribution of responsibilities to fulfil that specification
  5. Implementation
    • Producing code that will meet the user requirements
  6. Testing
    • Ensuring that the software does meet its requirements
  7. Deployment
    • Configuring the code to give a runnable system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the purpose of domain modelling?

A

Domain modelling is concerned with gaining an understanding of the environment in which any system that is designed must operate.

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

What are the 5 artefacts produced during domain modelling?

A
  1. Initial problem statement
    • A description of the problem
  2. Behaviour model
    • A description of the business processes and behaviour of the domain
  3. Business rules
    • Constraints on the way the behaviour model operates
  4. Glossary
    • Definitions of relevant terms
  5. Structural domain model
    • An initial structural model representing the concepts relevant to the domain
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the purpose of the requirements phase?

A

The requirements phase is concerned with establishing and modelling what a software system must do.

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

What are the 3 artefacts produced during the requirements phase?

A
  1. Use case model
  2. Elaborated use cases
  3. Functional and non-functional requirements
17
Q

What is the purpose of the analysis phase?

A

Analysis starts modelling the structure and behaviour of a software solution from a user’s perspective.

18
Q

What are the 2 artefacts produced during the analysis phase?

A
  1. System operations
  2. Analysis structural model
19
Q

What is the purpose of the design phase?

A

Design is concerned with making decisions concerning how a system will meet its specification.

20
Q

What are the 2 artefacts produced during the design phase?

A
  1. Behavioural model
    • Shows how objects in the system will interact and behave internally, and also how functionality will be distributed across the system
  2. Design structural model
    • An updated model version to the one produced during analysis, but with its operations specified
21
Q

What is the implementation model?

A

The implementation model is a description of the assembled components that comprise the working version of the software. It describes how classes are packaged together and shows some of the relationships between such packages of classes. These relationships are modelled using a component diagram.