1.7 software engineering Flashcards

1
Q

what are the facilities typically available in CASE (computer aided software engineering) tools

A
  • these are software tools to help developers
  • form designer (interface generator) to create the interface quickly (like the vb form designer)
  • report generator to create reports quickly and easily (eg. charts/tables)
  • data flow diagram/ flow chart design software
  • source code generator to allow some of the code to be automatically written, possibly from the data floe diagrams or forms from the form designer software
  • debugging tools
  • project management tools which allows access to calendar tools, Gantt charts, critical path analysis tools etc, to keep the project on track and allocate jobs to team members
  • version control which keeps track of program versions
  • repositories of reusable code, which allows repositories/ libraries of useful code to be created and used
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

what software packages are used to assist system analysis

A
  • a flowchart software or a UML software can be used to analyse an existing system structure - these pieces of software allow the developers to produce complete planning and design documents for individual cases such as the end use of another developer
  • analysis software tools are also available to be used in requirements engineering and management - this software can be used to record and monitor requirements, use and test cases
  • other examples: data floe diagrams, entity relationships can be created using Microsoft Visio - it is easy to move the elements around the screen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

what software packages are used to assist system design

A
  • designing a system structure can be completed using flow chart software or UML software
  • UX and UI designers use wireframing and mock up tools for user interfaces and experience
  • collaborative code editors could be used to produce pseudocode for review by developers
  • other examples: visio and gliffy
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

what software packages are used to assist version management

A
  • program version management software is store, record and analyse different stages of code development
  • version software can be submitted through a version control system (eg. Git to an online repository hosting solution to track and records the changes in projects and file, eg. GitHub)
  • version management software is useful when multiple developers are working on a single project, it ensures one developer does not overwrite another developers code
  • version management software can also be used to roll-back software if a program becomes corrupt during the development process
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

what software packages are used to assist system testing

A
  • quality assurance/ control software to test that a solution conforms to internal and external standards
  • test environments can be used to test the portability of software on different platforms such as Linux and Windows
  • version control repository can be used to report, monitor and analyse code errors, defects and bugs
  • built in automated testing features within IDESs, such as breakpoints, to generate unit and system performance testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

what does the case complete software do

A
  • allows test cases/ scenarios to be created as requirements are entered, that can then be used during the coding and testing phases, to ensure that each step works as expected
  • can be used to record user requirements, prioritise them, keep track of changes to requirements and version numbers
  • they can be used to produce complete planning and design documents for the end user or other developers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

what is bug tracking and examples

A
  • software such as Bugzilla and Jira allow issues/ bugs with software to be recorded and tracked
  • programmers can add feedback to these issues and log their progress towards a solution
  • once an issue is resolved, the final solution can be 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 and test automation

A
  • in modern programming, (normally agile), unit tests are defined before the code is written
  • these unit tests specify the tests that will need to be carried out and the expected results that will need to be achieved in order to prove the code works correctly
  • this acts as quality assurance that a solution conforms to expected standards
  • programmers are expected to not only write their subroutines and modules but also ensure that the routines to test them are kept up to date
  • many of these tests can be automated using software that carries out each of the tests, often daily and certainly before any new versions are released
  • unit testing is often built into modern programming IDEs such as Visual Studio
  • test environments might also be used to test 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
9
Q

explain the typical features of an IDE

A
  • an IDE consists of various tools that a programmer needs to create programs and usually other features to help them to be more productive:
  • an editor to develop programming code:
    • keywords may be highlighted in different colours
    • code might be automatically indented
    • intellisense can automatically suggest code you
      could chose to enter
    • automatically creates an ‘end if’ when an ‘if’ is
      entered
  • automated error checking (highlighting coding errors)
  • usually buttons or menu items to allow code to be compiled or interpreted and run
  • tools for debugging
  • links to libraries of useful routines
  • options to allow unit testing
  • editor: this allows the programmer to enter, format and edit source code to produce a program
  • compiler: this converts source code into executable machine code to allow a program to run, once complied, a program can run at any time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

IDE TOOLS : Error reports

A
  • when you try to run a program (that might be complied or interpreted), a log of errors is displayed explaining why the program will not run
  • will include line numbers, details of errors, perhaps advice as to the possible reasons for the error
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

what are the debugging tools provided by the IDE

A
  • program trace/ step through
  • break points
  • conditional break points
  • variable watch
  • store dump
  • error diagnostics
  • post-mortem routines
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

DEBUGGING TOOLS: breakpoint

A
  • the programmer can set a breakpoint on a line of code, when the line is reached, the program will pause
  • the current values of the variables can then be examined and then execution continued
  • allows the programmer to temporarily halt execution in order to ascertain the value of variables at that point
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

DEBUGGING TOOLS: program trace/ step through

A

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

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

DEBUGGING TOOLS: variable watch

A

the programmer can specify a particular variable/s 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

DEBUGGING TOOLS: conditional breakpoint

A

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

DEBUGGING TOOLS: store dump

A

view the contents of memory when a program crashes

17
Q

DEBUGGING TOOLS: post-mortem routines

A

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

18
Q

DEBUGGING TOOLS: error diagnostics

A

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

19
Q

what are the typical features of the IDE

A
  • editor
  • compiler
  • interpreter
  • linker
  • loader
  • debugger
  • trace
20
Q

IDE FEATURES: Editor

A

this allows a programmer to enter, format and edit source code to produce a program

21
Q

IDE FEATURES: Compiler

A

this converts source code into executable machine code to allow a program to be run

once compiled, a program can run at any time

22
Q

IDE FEATURES: Interpreter

A

this converts each line of source code into machine code and executes it as each line of code is run

the conversion process is required for a program to run and is performed each time the program needs to be run

23
Q

IDE FEATURES: Linker

A

this is a program which allows a previously complied code from software libraries to be linked together to produce a single executable program

24
Q

IDE FEATURES: Loader

A

this is program which loads previously compiled code into memory allowing a program to execute

25
Q

IDE FEATURES: Debugger

A

this is a program that assists in error checking by helping locate, identify and rectify errors in a program

26
Q

IDE FEATURES: Trace

A

this is a facility that assists in error checking by displaying the order in which the lines of a program are executed, and possibly the value of variable as the program is being run