TCA 1 - Software Engineering and Fundamentals Flashcards

1
Q

What is software engineering?

A

Can be thought of as a program (or set of instructions) that ca computer uses to perform a particular action
Software is written in a programming language that a computer understands. The instructions in the language are often called ‘code’.

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

Software Lifecycle

A

Problem Identification
Problem domain characteristic elicitation
Requirements Specification
System Analysis
System Design
System Build
Testing
Evaluation
Implementation
Maintenance

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

Problem identification

A

Fully understanding and gaining a good comprehension of the problem through gaining information from the company in order to provide an accurate and successful solution

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

Problem characteristics

A

Typically we would talk to customers and competitors about the company, the product and where they think the problems lie
As well as speaking to the company about business processes, problems they experience, and investigating similar solution, and checking the feasibility of the development.

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

Analysis

A

A breakdown of what the system will be made up of and how each different required aspects will be built separately

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

Specification

A

4:
Functionality (what it needs to do)
Performance (What performance levels should the software have - speed, storage, platforms)
Client Constraints (what have they requested that the software needs to include
Commercial Constraints (cost and time to build)

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

Design

A

How will all the components fit together for performance and physcially, basically a blueprint of the software before it is implemented

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

Build

A

Using all the previous steps to build the software itself

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

Testing and evaluate the solution

A

Test the software to see if it does everything it should do (according to the specification. Usually by supplying the software with example data, Evaluate performance with the user group

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

Implementation

A

Install the software for the client within the business
Allow them to use the software and evaluate the performance of the software
Has it solved the original problem?

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

Maintenance

A

As the business adapts to the change, we may need to add some new features to the software
We may also identify some errors or faults within the software and will need to put them right.

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

Requirements Engineering

A

Alan Davis - ‘All activities up to but not including the decomposition of software into its actual architectural components’ - 1988
- Bray - An investigation and description of the problem domain and requirements. Followed by the design and documentation of the characteristics for a solution system that will meet those requirements’.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  • Why is it so important?
A
  • Is fundamental to the success of any software engineering project because it provides the foundation upon which the rest of the project is built.
  • Inaccuracies, errors and omissions during this stage can result in problems which may increase cost and duration of the project.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Problem Domain

A
  • The problem domain - The problem domain can be defined as the apart of the universe within which the problem exists (The area of the project by which we gather information in order to fully comprehend the tasks or problem at hand)
  • A problem domain can sometimes be regarded as a set of subsystems, known as terminators, which will eventually interface with the new proposed solution system.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Solution System

A

Is the system that will eventually be built to solve the problems within the problem domain. (Also called the application or product)
- The problem domain and solution system are interfaced by the system specification.

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

Requirements

A

‘Requirements are the effects that the client wishes to be brought about in the problem domain” (Bray)
- ‘ A condition or capability that must be met by the system to solve a problem or achieve an objective’.

16
Q

What is needed in the projects

A

Fundamental Requirements - Describe the required behavior (functionality) on part of the solution system/ Describes everything that the system does.

Performance Requirements - Regarded as the parameters of functionality in that they determine how quickly, how reliably, etc functions must operate.
Speed - Can be viewed in terms of throughput or response times.
Capacity - How much storage is needed, how much are we actually storing. Could also be the number of operations that can be performed concurrently.
Reliability - The mean time between failure or an indication of system availability.
Usability - Simply put it should give some indication of how easy the system is to operate.

Design constraints - Are the non-functional requirements that affect how the system is built but not what the system does.

Commercial Constraints - Costs and project time-scales must also be considered
Essential to show cost as well as the profit within the report not the delivery to the client as they may feel weird about it.

17
Q
A