Software Engineering Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What does CASE stand for and what does it do, name some of the features

A

Computer aided software engineering

Software tools to help programmers

Some features are:

-form designer (interface generator) to create interfaces quickly and easily

-report generator to create reports

-source code generator (allows some code to be automatically written, possibly from dfd or form designer software)

-debugging tools

-project management tools

-version control

-repositories of reusable code

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

What are the two tools designed to help the software engineering process

A

CASE tools

Analysis and planning tools

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

What is included in analysis and planning tools?

A

Diagrams

Recording requirements

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

What do diagrams do in analysis and planning tools?

A

e.g. flow charts, data flow diagrams, UML, entity relationships etc.

Created by a software e.g. gliffy or Microsoft visio

Easy to move the elements around the screen and the arrows will automatically move and reroute the boxes they are attached to change location (intelligent connectors)

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

What do recording requirements do in analysis and planning tools?

A

Software that records user requirements, prioritise them, keep track of changes to requirements and version numbers:

Case complete
Jira

Used to produce complete planning and design documents for the end user or other developers

Allows test cases/scenarios to be created as requirements are entered, that can then be used during the coding and testing phases to ensure each step works as expected

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

What is interface design and what are examples of software used to do it

A

E.g. visio, gliffy

Used to draw UI, sometimes known as wire framing to give an idea of what the screens will look like and the flow between them

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

What is bug tracking and give examples of software used

A

E.g. bugzilla, Jira

Allows issues/bugs with software to be recorded and tracked

Programmers can add feedback to these issues and log their progress towards a solution

Once resolved the final solution is documented and the issue closed

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

What is unit testing

A

Unit tests - specify the tests that will need to be carried out and the expected results that will need to be achieved to prove that the code works correctly

Acts as quality assurance that will conform to expected requirements

These tests can be automated using software that carries out each of the tests, often daily and before any new versions are released

Unit testing is often built into IDEs (e.g. visual studio)

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

Why might test environments be used

A

To test the portability of software between different platforms such as Linux and windows

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

What is an IDE and what does it include

A

Integrated development environment

Consists of various tools that a programmer needs to create programs

And other tools to help them be more productive:

An editor to develop programming code

Automated error checking (highlighting code errors)

Tools for debugging code

Links to libraries of useful routines

Perhaps options to allow unit testing

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

What is a breakpoint

A

Used in debugging tools

The programmer can set a breakpoint on a line of code. When the line is reached the program will pause.

The user can check the current values of variables which can be examined and execution continued

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

Error reports in IDE tools

A

An error log is displayed when you try and run a program

Will include line numbers, details of errors, advice to the possible reason of the error

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

What is program trace/step through

A

Following a breakpoint the value of variables can be examined and then a button clicked to step through one line of code at a time

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

What is variable watch

A

Debugging tool

The programmer can specify a particular variable or variables to monitor and is informed when the value changes

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

What is a conditional breakpoint

A

Debugging tool

Breakpoint occurs when it is set to a particular value.

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

What is store dump

A

Debugging tool

View the contents of memory when a program crashes

17
Q

What are post-mortem routines

A

Debugging tool

View the values of variables at the point where a program crashed

18
Q

What are error diagnostics

A

Debugging tools

Useful error messages, advice or links to help pages/articles related to an error that occurs

19
Q
A

Different versions of computer software are usually given version numbers

20
Q

What is version control software

A

Many software development teams use VCS (version control software)

This assigns version numbers to each module following a change and to the program when compiled

It keeps a copy of each version so it is possible to access the code as it was at each stage.

Means that if a problem occurs with a particular version, you can roll it back to an earlier version that was working and start development again

Ensures that only one programmer can be editing a module at a time to avoid work being lost if two programmers were editing a copy at the same time

Essential for tracking bugs and issues in source code

21
Q

version control software

A

E.g. Git

Can be local to a machine, stored on a sever or be distributed (cloud)

Each file is given a version number

Different developers can upload changes/revisions to a file and will be saved as two copies. Later, the changes can be merged together without losing any work along the way

Each file committed should have comments included to specify the changes made

Users of git Can revert back to earlier version at any times as git keeps a snapshot of every change made

Version management tools are commonly integrated into IDEs e.g. visual studio can communicate directly with github