3.7 - Software Engineering

Cards (23)

  • Integrated Development Environments (IDEs) are a suite of tools that make the development of systems easier and more efficient
  • IDE tools are designed to help developers complete repetitive or common tasks
    • Error Diagnostics: Produces error messages when a program fails to compile
    • Code Auto Completion: Suggests code based on inputs
    • Syntax Checker: Highlights code that does not comply with the programming language syntax
  • Computer Aided Software Engineering (CASE) tools assist in the design, development, and testing of software
  • Common functions of CASE tools:
    • Providing data dictionaries
    • Code generation
    • Version control
    • Prototyping
    • Analysis and planning tools
  • Analysis and Planning Tools:
    • Help produce design diagrams
    • Example: Draw.IO for creating diagrams easily
    • Record evidence gathered from fact-finding
    • Collaborative working for multiple people to enter information coordinated by a lead manager
    • Project planning tools for GANTT charts and scheduling
  • Testing Tools:
    • Automated testing tools for testing the current build based on pre-designed tests
    • Bug tracking tools for flagging bugs and compiling reports
    • Test planning tools for creating manual test plans
  • Version Management:
    • Allows collaboration with version control
    • Focus on creating stable builds for uploads
    • Keeps logs of changes made for rollback if needed
    • Files are 'checked in' and 'checked out' to track changes and prevent conflicts
  • Editor
    Allows a developer to add, remove and edit code
  • Compiler
    Converts a high level language into machine code. Once compiled, the code can be run at any time
  • Interpreter
    Converts a high level language into machine code line by line each time a program is run.
  • Linker
    Allows compiled code from software libraries to be linked together
  • Loader
    A program which loads previously compiled code into memory
  • GUI Creation
    Allows dragging and dropping of GUI elements so, elements do not need to be created through code
  • Debugger
    Helps to locate, identify and resolve issues in code
  • Trace
    Displays the order in which the lines of code are executed
  • Breakpoint
    Interrupts code at a set point, allowing a programmer to inspect variables during runtime
  • Single Stepping
    Executes code line by line, allowing variables to be inspected
  • Variable Watch
    Displays the current value of a selected variable
  • Memory Inspector
    Displays the contents of a section of memory
  • Error Diagnostics
    Used when a program fails to compile, displaying an error message to help the developer identify why the program failed to compile
  • Code Auto Completion
    Suggests code based on the inputs made
  • Syntax Checker
    Highlights/underlines code that does not comply with the program's syntax rules