Designing software

Cards (87)

  • Information systems

    Comprise people, data, processes and digital systems
  • Digital systems

    • Networks
    • Protocols
    • Application architecture patterns
    • Software
    • Hardware
  • Hardware
    Requires software instructions to control it
  • Software
    Requires hardware to carry out instructions
  • Hardware
    • Input devices
    • Output devices
    • Processing hardware
    • Storage hardware
    • Communication hardware
  • Central processing unit (CPU)

    The core processing hardware of a computer system
  • Reduced instruction set computing (RISC) CPUs

    • Have smaller instruction sets than complex instruction set computing (CISC) CPUs
  • Graphics processor units (GPUs)

    Very fast processors designed for high-speed image processing in graphics cards
  • Storage hardware

    • Primary storage
    • Secondary storage
  • Primary storage

    A computer's random-access memory (RAM)
  • Secondary storage

    • Hard disk drives (HDDs)
    • Solid state drives (SSDs)
    • Network-attached storage devices (NASs)
  • HDDs
    • Cheap and reliable long-term storage medium with large capacity
  • SSDs
    • Fast and efficient storage medium that is more expensive than HDDs
  • NAS devices

    • Networked sets of HDDs or SSDs that provide for faster speed, higher capacity and data protection via redundancy
  • Communication
    Used for sending and receiving data and information
  • Ports
    Physical sockets or connectors that carry data between a computer and external devices such as peripherals
  • Software drivers

    Computer programs that control internal and external computer devices
  • Software
    Controls computing devices to process data
  • System software tools

    • Used by a computer to manage hardware and run programs
  • Applications
    Used to perform work or complete larger tasks
  • Utilities
    Single-purpose software tools that complete specific jobs or add functionality to an operating system
  • Operating system

    System software that controls a computer's hardware and runs application software
  • Programming languages

    Used to give instructions to computer processors
  • High-level programming languages

    • Computer-independent and use natural language elements
  • Low-level programming languages

    • Reliant on the architecture of a particular computer and have comments tightly linked to processor instructions
  • Source code editors

    Come with specialist features such as syntax highlighting, code completion and line numbering
  • Compilers
    Convert source code into executable programs
  • Interpreters
    Directly execute source code at run-time without needing pre-compilation
  • Code that has been compiled for one platform will not work on another platform unless it has been re-compiled for that platform
  • Integrated Development Environment (IDE)
    Used by programmers as it provides tools to aid in programming
  • Storage structure

    A location in RAM where data is stored during the execution of a program
  • Data storage structures

    • Variables
    • Constants
  • Variables
    Store values that can be changed by a program
  • Constants
    Store values that are fixed and unchanging during a program's execution
  • Project plan

    Helps track and monitor the progress of a project
  • Tasks
    Activities within a project that take time and resources
  • Task dependencies

    • One task cannot begin until one or more other tasks have been completed
  • Milestone
    A task that takes no actual time but is a significant event within the project timeline
  • Scope of a solution

    Outlines its boundaries or parameters
  • Scope creep

    When a client changes the scope of a project during its life cycle