Asoftware system is asystem of intercommunicatingcomponents based onsoftware forming part of acomputer system (a combination ofhardware and software). It "consists of a number of separateprograms, configuration files, which are used to set up these programs,system documentation, which describes the structure of the system, anduser documentation, which explains how to use the system".[1]
A software system differs from a computer program or software. While a computer program is generally a set of instructions (source, orobject code) that perform a specific task, a software system is more or an encompassing concept with many more components such as specification,test results, end-user documentation, maintenance records, etc.[2]
The use of the term software system is at times related to the application ofsystems theory approaches in the context ofsoftware engineering. A software system consists of several separate computer programs and associatedconfiguration files,documentation, etc., that operate together.[1] The concept is used in the study of large and complex software, because it focuses on the majorcomponents of software and theirinteractions. It is also related to the field ofsoftware architecture.
Software systems are an active area of research for groups interested insoftware engineering in particular andsystems engineering in general.[3] Academic journals like theJournal of Systems and Software (published byElsevier) are dedicated to the subject.[4]
The ACMSoftware System Award is an annual award that honors people or an organization"for developing a system that has had a lasting influence, reflected in contributions to concepts, in commercial acceptance, or both".[5] It has been awarded by theAssociation for Computing Machinery (ACM) since 1983, with a cash prize sponsored byIBM.
Major categories of software systems include those based onapplication software development,programming software, andsystem software although the distinction can sometimes be difficult. Examples of software systems includeoperating systems,computer reservations systems,air traffic control systems, military command and control systems,telecommunication networks,content management systems,database management systems,expert systems,embedded systems, etc.