1/21
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
IDE.
A single software package that combines tools needed for software development.
What an IDE contains.
Code editor.
Compiler/interpreter.
Debugger.
Build tools.
Version control integration.
Roles in software engineering.
Increase productivity.
Reduce syntax errors.
Simplifies testing and debugging.
Help manage large projects efficiently.
Examples of IDEs.
Visual studio.
Eclipse.
Replit.
Two examples of a debugging tool.
Breakpoints.
Variable watch.
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.
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.
Examples of build tools in an IDE.
Emulators.
Linkers.
Compilers.
Interpreters.
Editors.
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.
Linkers.
Allow previously compiled code (found in libraries) to be combined with new code, in order to produce a single executable program.
Compilers.
Convert source code (what the developer writes) into object code (which computer can run).
Interpreters.
Translates and runs code one line at a time.
Editors.
Where bulk of the work is done. Code may be entered and visual components may be manipulated.
Program version management.
Tracking, storing, and managing changes made to a program over time.
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.
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.
Software engineering tools.
Software engineering tools help developers plan, design, build, test, and maintain software efficiently and accurately.
4 stages of software engineering.
Systems analysis.
Systems specification.
Systems design.
Testing.
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
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.
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.
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.