CS: Software Engineering (7)

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/21

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 10:10 PM on 5/23/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

22 Terms

1
New cards

IDE.

A single software package that combines tools needed for software development.

2
New cards

What an IDE contains.

  • Code editor.

  • Compiler/interpreter.

  • Debugger.

  • Build tools.

  • Version control integration.

3
New cards

Roles in software engineering.

Increase productivity.
Reduce syntax errors.
Simplifies testing and debugging.
Help manage large projects efficiently.

4
New cards

Examples of IDEs.

Visual studio.
Eclipse.
Replit.

5
New cards

Two examples of a debugging tool.

Breakpoints.
Variable watch.

6
New cards

Breakpoints.

Insert a break point at a certain line of source code, when reached during execution the code will pause.
This will allow the programmer to examine the state of the program at this particular point in its execution, such as checking the value of all variables.

7
New cards

Variable watch.

Allows the developer to keep track of a specific variable.
It will alert the programmer anytime the variable is changed, allowing the programmer to see if its correctly manipulated by the program.

8
New cards

Examples of build tools in an IDE.

Emulators.
Linkers.
Compilers.
Interpreters.
Editors.

9
New cards

Emulators.

Programs that take on the behaviour of other devices, e.g. an android emulator on a computer pretending to be a mobile/tablet, responding to user input in the same way the actual device would.

10
New cards

Linkers.

Allow previously compiled code (found in libraries) to be combined with new code, in order to produce a single executable program.

11
New cards

Compilers.

Convert source code (what the developer writes) into object code (which computer can run).

12
New cards

Interpreters.

Translates and runs code one line at a time.

13
New cards

Editors.

Where bulk of the work is done. Code may be entered and visual components may be manipulated.

14
New cards

Program version management.

Tracking, storing, and managing changes made to a program over time.

15
New cards

Role / advantages of program version management.

  • Keeps a history of changes.

  • Allows developers to revert to previous versions.

  • Enables multiple developers to work on the same project.

  • Prevents accidental loss of code.

  • Supports branching and merging.

16
New cards

Program version management mark scheme.

  • Program version management is an approach used to track and save source code throughout the software development process.

  • Program version management tools are commonly integrated into IDEs e.g. Visual Studio.

  • Examples of program version management tools include Git and Mercurial. (1 mark for any correct example)

  • These version management tools create different versions (or commits) of source code to track changes and development.

  • These versions can be stored on a local machine which known as local version control.

  • Or the versions can be stored on a local server which known as centralised version control.

  • Each version can include comments on what has been developed in that particular version and how.

  • Version management tools can also be used to roll-back to a previous version if a program becomes corrupt or an bug is found

    during the development process.

  • Version management tools also allows code to be reviewed and checked before they committed to a master version.

  • Cloud-based repositories can also be used to provide distributed (cloud-based) version control e.g. GitHub or BitBucket.

  • Using cloud-based distributed version control will ensure developers always have access to the most up-to-date versions of the

    source code.

  • Distributed version control is useful when a software development team are working on different aspects of a single project.

  • Using version control is an essential maintaining quality control and assurance in software development

  • Version control is also essential for tracking bugs and issues in source code.

17
New cards

Software engineering tools.

Software engineering tools help developers plan, design, build, test, and maintain software efficiently and accurately.

18
New cards

4 stages of software engineering.

Systems analysis.
Systems specification.
Systems design.
Testing.

19
New cards

System analysis.

Understand the current system.
Identify problems and user requirements.

Appropriate software packages & their role:

Word processors

  • Document interviews, questionnaires, and requirements

Spreadsheets

  • Analyse existing data, costs, and workflows.

Diagramming tools

  • Create DFDs and flow charts.

Survey tools / databases

  • Store and analyse user responses

20
New cards

Systems specification.

Define exactly what the new system must do.
Create a formal specification.

Appropriate software packages & their role:

Word processors

  • Produce requirements specifications & describe inputs, outputs, processing, and constraints.

Presentation software

  • Present system proposals to stakeholders.

Diagramming software

  • Use case diagrams & system models.

21
New cards

Systems design.

Plan how the system will be built.
Design structure, interfaces, and data.

Appropriate software packages & their role

CASE tools (Computer-Aided Software Engineering)

  • Can design UML diagrams, class diagrams & sequence diagrams.

GUI design tools

  • Create interface mock-ups and prototypes.

Database design software

  • Design tables, relationships, and schemas.

22
New cards

Testing.

Ensure the system works correctly.
Identify and fix errors.

Appropriate software packages & their role

Testing frameworks

  • Automate unit and integration testing.

Debuggers (within IDEs)

  • Step through code & inspect variables.

Test management tools

  • Record test cases and results.

Version control systems

  • Track changes and roll back faulty versions.