The term software engineering first appeared in the late 1950s and early 1960s. Programmers have always known about civil, electrical and computer engineering and debated what engineering might mean for software.
The exponential rise of the Internet led to very rapid growth in the demand for international information display systems on the World Wide Web. Programmers were required to handle illustrations, maps, photographs, and other images, plus simple animation, at a rate never before seen, with few well-known methods to optimize image display/storage.
Also Read: Top 250+ Technical Software Engineering Interview Questions
With the expanding demand for software in many smaller organizations, the need for inexpensive software solutions led to the growth of simpler, faster methodologies that developed running software, from requirements to deployment, quicker and easier.
Here are some important terms related to Software Engineering are:
- Abstraction – Generalization, ignoring or hiding details
- Abstract Class – In object-oriented programming, a class designed only as a parent from which sub-classes may be derived, but which is not itself suitable for instantiation. Often used to “abstract out” incomplete sets of features which may then by shared by a group of sibling sub-classes which add different variations of the missing pieces.
- Abstract System – An Abstract system is the system defined by a functional design. It is not a physical system to be found in the real world, but a conceptual system behaving as specified in the functional design. It is our understanding of the abstract system that enables us to reason about the specified behavior and verify that it will satisfy the functional requirements.
- ActiveX – A software development kit from Microsoft for development of Internet applications and content.
- Ada – A high-level computer language sponsored by the US Department of Defense. It has a multitasking mechanism, and a number of features useful for software engineering.
- ADT – Abstract Data Type: a class of data structures described by means of a set of operations rather than by physical representation, such as a class in object-oriented programming.
- Agent – An independent process capable of communicating with other processes and interacting with its environment.
- Agent – A computer program that communicates with external programs exclusively via a predefined protocol. An agent has the capability to respond to all messages defined by the protocol, and it uses the protocol to invoke the services of other agents.
- AI – Artificial Intelligence.
- Algorithm – A Systematic procedure guaranteed to produce a result after a finite number of steps.
- Applications Programmer Interface (API) – The interface (calling conventions) by which an application program accesses operating system and other services.
- ASCII – American Standard Code for Information Interchange.
- Boehm B. – Proposed the COCOMO technique for evaluating the cost of a software project.
- Black box – A component or system of components with known inputs, outputs, and functions and with unknown or ignored internal structure or implementation.
- Black box specification – A description of a software component relative to externally observable behavior and independent of any design or implementation decisions.
- Black box testing – A method of generating rest cases not based on implementation. A black box test can be derived from requirements, functional specifications, possible errors, tester’s intuition, or a random number generator.
- Box structure – A standard, fine-grained description of software modules in three forms; black box, clear box, and state box.
- CAD/CAM – Computer Aided Design/Computer Aided Manufacturing
- CASE – Computer Aided Software Engineering (CASE) is a technique for using computers to help with one or more phases of the software life-cycle, including the systematic analysis, design, implementation and maintenance of software.
- CISC – Complex Instruction Set Computer
- Class – A class defines an software object’s interface and implementation. It specifies the object’s internal representation and defines the operations that the object can be instructed to perform Cleanroom.
A software development approach aimed at producing software with the minimum number of errors. - Cleanroom engineering – Scientific application of methods and tools to assess and control the quality of incrementally developed software products and to certify the fitness of software products for usage at the time of delivery.
- Cleanroom engineering approach – Software development with four primary activities: formal specification of software increments, design, implementation, and team review.
- Clear box – Internal view of a module relative to usage control structures and paths through the code of a module. Syn. “White box”.
- Client-server architecture – Synonymous with request-reply processing schemes. A client requests a service, and a server responds by providing the requested service.
- CMM – Capability Maturity Model.
- Cognitive engineering – A form of applied behavioral science concerned with the study and development of principles, methods, tools, and techniques that guide the design of computerized systems intended to support human performance.
- COBOL – Common Business Oriented Language
- COCOMO – Constructive Cost Model. Constructive Cost Model: a method for evaluating the cost of a software package proposed by B.Boehm
- Cohesion – A measure of the level of functional integration within a module.
- COM – Component Object Model Compound documents and component software define object-based models that facilitate interactions between independent programs.
- Coupling – The degree to which components depend on one another.
- DARTS – Design Approach for Real-time Systems.
- Data Definition Language – A language enabling the structure and instances of a database to be defined in a human-and machine-readable form.
- Data dictionary – A set of data descriptions that can be shared by several applications.
- Data Flow Diagram (DFD) – A graphical notation used to describe how data flows between processes in a system. An important tool of most structured analysis techniques.
- Data Model – A set of data structures with manipulation and validation operators for general purpose usage.
- DEC – Digital Equipment Corporation: a computer manufacturer and software vendor.
- Design Pattern – A design pattern systematically names, motivates and explains a general design that addresses a recurring design problem in object-oriented systems.
- Encapsulation – The result of hiding a representation and implementation in an object.
- Engineering – Application of scientific principles in the design, manufacture, and operation of structures and machines.
- Entity – In object-oriented programming, an entity is part of the definition of a class (group) of objects.
- Forward Engineering – The set of engineering activities, using the output of software reengineering.
- Flexible software structure – A software architecture that facilitates refinement.
- Flowchart – A control flow diagram with blocks annotated to represent operations and data and arrows to represent sequential flow from one block to another.
- Framework – A combination of components (e.g., class library) that simplifies the construction of applications and can be plugged into an application.
- FSM – Finite State Machine.
- Function points – External inputs, external outputs, user inquiries, external files, internal files.
- Gantt chart – A bar chart showing task schedules for a project.
- GUI – Graphical User Interface.
- HTML – Hyper Text Markup Language
- HTTP – Hyper Text Transfer Protocol
- IEE – Institute of Electrical and Electronic Engineers.
- IEEE CS – IEEE Computer Society.
- Interface – A boundary across which two systems communicate.
- ISO – International Standards Organization.
- KLOC – One thousand lines of code.
- Legacy System – A typical computer legacy system may be 10-25 years old, have been developed using archaic methods.
- LOC – Number of non black, non commented line of code.
- Metric – A measure of software quality which indicate the complexity, understandability, testability, description and intricacy of code.
- MIS – Management Information Systems
- Object – In object-oriented programming, an instance of a data structure defined according to the template provided by its class, and which can respond to the messages defined by its class.
- PDF – Portable Document Format. Also written pdf. A variation of the postscript printing language that makes it possible to display on screen, edit, and print documents created with Adobe Acrobat software. Acrobat documents end with the suffix .pdf.
- PERT – Project Evaluation and Review Technique.
- Quality – The totality of features and characteristics of a product or service that bear on its ability to satisfy stated or implied needs.
- Re-engineering – The examination and modification of a system to reconstitute it in a new form and the subsequent implementation of the new form.
- Requirements – The first stage of software development should be to define requirements with the potential users.
- Reuse – Using code developed for one application program in another application. Traditionally achieved using program libraries.
- Software Engineering – A systematic approach to the analysis, design, implementation and maintenance of software.
- Software Metrics – Measures of software quality which indicate the complexity, understandability, testability, description and intricacy of code.
- VAX – A range of 32-bit computers manufactured by DEC.
- YACC – Yet Another Compiler Compiler.
- Introducing ChatGPT Search – Your New Gateway to Instant, Up-to-date Information
- Python Has Surpassed JavaScript as the No. 1 Language on GitHub
- [Solution] Missing logstash-plain.log File in Logstash
- Top 7 Essential Tips for a Successful Website
- Sample OSINT Questions for Investigations on Corporations and Individuals
- Top 10 Most Encryption Related Key Terms
- Top 10 Key Guidelines For Designing A Robust Web Application
- The Rise of Online Shopping – Convenience, Risks, and Safety Measures
- WiFi Suspended at Major UK Train Stations Following Cybersecurity Incident
- The Coolest GitHub Hack You Should Know