Classification and Introduction of Software Engineering:
Classification and Introduction of Software Engineering: A programme or set of programmes containing instructions that offer desired functionality is referred to as software. And engineering is the process of creating something that fulfils a specific function and solves problems in a cost-effective manner.
Software Engineering Classification and Introduction of Software Engineering is a study and approach to the design, development, operation, and maintenance of software systems that is methodical, disciplined, and quantitative.
- As a product
- It distributes computational power across hardware networks.
- It makes it possible for the Hardware to perform as planned.
- Because it creates, maintains, acquires, edits, displays, or transmits data, it functions as an information transformer.
- As a vehicle for delivering a product –
- It is responsible for system functionality (e.g., payroll system)
- Other software is controlled by it (e.g., an operating system)
- It aids in the development of other software (e.g., software tools)
Objectives of Software Engineering:
- Maintainability –
Classification and Introduction of Software Engineering The programme should be able to evolve in response to changing requirements.
- Efficiency –
The software should not waste computational resources such as memory, processor cycles, or other resources.
- Correctness –
A software product is correct if all of the requirements listed in the SRS document have been implemented correctly.
- Reusability –
A software product’s reusability is high if its many modules may be easily reused to create new products.
- Testability –
In this case, software aids in the creation of test criteria as well as the evaluation of the software against those criteria.
- Continuity –
It’s a criterion for software quality. Over an indeterminate time period, the extent to which a software may be expected to accomplish its desired function.
- Convenience –
The software can be moved from one computer system or environment to another in this situation.
- Adaptiveness –
In this example, the programme provides for a variety of system constraints, and the user’s needs can be met by altering the software.
- Interoperability –
is the capacity of two or more functional units to work together to process data.
Program vs Software Product:
- A programme is a set of instructions provided to a computer to accomplish a certain purpose, whereas software is when a programme is made available for commercial use and is properly documented, including licensing. Software=Program+documentation+licensing.
- A programme is one of the stages in the development of software, whereas software development typically follows a life cycle that includes a feasibility study, requirement collecting, prototype development, system design, coding, and testing.
Classification of Software
The programme is widely utilized in a variety of industries, including hospitals, banks, schools, defense, finance, and stock markets. It can be divided into several types:
1. System Software –
System software is required to manage computer resources and facilitate application programme execution. This category includes operating systems, compilers, editors, and drivers, among other things. These are required for the operation of a computer. Operating systems are required to connect a program’s machine-dependent requirements to the capabilities of the machine on which it runs. Compilers convert high-level programming languages into machine language.
2. Networking and Web Applications Software –
Computer networking software offers the necessary functionality for computers to communicate with one another and with data storage facilities. When software is operating on a network of computers, networking software is also used (such as the World Wide Web). It comprises all network administration software, server software, security and encryption software, and web-based application development tools such as HTML, PHP, and XML, among other things.
- Embedded Software –
This form of software is embedded within the hardware, usually in Read-Only Memory (ROM), as part of a larger system, and is used to support specific functions under controlled settings. Software used in instrumentation and control applications such as washing machines, satellites, microwaves, and so on are examples.
- Reservation Software –
A reservation system is generally used to store and retrieve information about air travel, vehicle rentals, hotels, and other activities, as well as to conduct transactions. They also provide you access to bus and train reservations; however, they aren’t always linked to the main system. These are also used in the hotel business to communicate computerized information to users, such as making a reservation and ensuring the hotel is not overbooked.
- Business Software –
This is the most extensively used category of software, and it is used to support commercial applications. Inventory management, accounting, banking, hospitals, schools, stock markets, and other software are examples.
- Entertainment Software –
Education and entertainment software is a valuable tool for educational organizations, particularly those who work with young children. Computer games, instructional games, translation software, mapping software, and other forms of amusement software are available.
- Artificial Intelligence Software –
Expert systems, decision support systems, pattern recognition software, artificial neural networks, and other types of software are included in this area. Sophisticated problems are involved, and complex computations employing non-numerical algorithms have little impact.
- Scientific Software –
Scientific and engineering software serves the requirements of a scientific or engineering user in order to complete enterprise-specific tasks. Such software is created for specialized purposes utilizing industry-specific ideas, techniques, and equations. Software such as MATLAB, AUTOCAD, PSPICE, ORCAD, and others are examples.
- Utilities Software –
This category includes programmes that perform specific jobs that differ in size, cost, and complexity from other software. Anti-virus software, speech recognition software, compression programmes, and other programmes are examples.
- Document Management Software –
In order to reduce paperwork, document management software is used to track, manage, and store documents. Such systems can maintain track of all the many versions created and edited by different users (history tracking). Storage, versioning, metadata, security, as well as indexing and retrieval are all typical features.
As a result of copyright:
- Commercial —
This refers to the vast majority of software that we buy from software firms, computer retailers, and so on. When a user buys software, they are given a license key that allows them to use it. Users are not permitted to duplicate the software. The firm owns the rights to the programme.
- Shareware –
Shareware software is also covered by copyright, but consumers are allowed to make and distribute copies with the caveat that if the purchaser adopts the software for use after testing it, they must pay for it. Changes to the software are not permitted in either of the above categories of software.
- Freeware –
Freeware software licenses often allow copies of the software to be generated for both archival and distribution reasons, although distribution cannot be for profit. Modifications to the software and derivative works are permitted and encouraged. Without the specific consent of the copyright holder, decompiling of the programme code is also permitted.
- Public Domain –
The original copyright holder explicitly relinquishes all rights to the software in the case of public domain software. As a result, copies of software can be generated for both archive and distribution purposes, with no constraints on dissemination. Reverse engineering and software modifications are also permitted.