System software
System software
System software sits between the computer hardware and the application software. Users don't
interact directly with system software as it runs in the background, handling the basic functions
of the computer. This software coordinates a system's hardware and software so users can run
high-level application software to perform specific actions. System software executes when a
computer system boots up and continues running as long as the system is on.
System
software and application software differ in some key ways.
The next is step is implementation, where development work is completed, and then software
testing happens. The maintenance phase involves any tasks required to keep the system running.
Software design includes a description of the structure of the software that will be implemented,
data models, interfaces between system components and potentially the algorithms the software
engineer will use.
The software design process transforms user requirements into a form that computer
programmers can use to do the software coding and implementation. Software engineers develop
the software design iteratively, adding detail and correcting the design as they develop it.
Architectural design. This is the foundational design, which identifies the overall
structure of the system, its main components and their relationships with one another
using architectural design tools.
High-level design. This is the second layer of design that focuses on how the system,
along with all its components, can be implemented in forms of modules supported by a
software stack. A high-level design describes the relationships between data flow and the
various modules and functions of the system.
Detailed design. This third layer of design focuses on all the implementation details
necessary for the specified architecture.
There are
six main steps in the software development lifecycle.