Changes for page Glossary

Last modified by chrisby on 2024/09/19 10:50

From version 18.15
edited by chrisby
on 2023/10/14 13:09
Change comment: There is no comment for this version
To version 18.11
edited by chrisby
on 2023/10/14 12:27
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -9,7 +9,6 @@
9 9  | Awareness | A class A is aware of class B if it contains a reference to class B in its source code. If no such reference exists, class A is unaware of class B. |
10 10  | Behavior | Counterpart to implementation. It refers to the observable actions performed by a component. For example: A class may have the only observable method `sort(Collection: SomeCollection)`, which says what it does, but no implementation details like what concrete sorting algorithm is used. |
11 11  | Best Practices | Widely accepted guidelines designed to enhance programming productivity and code quality. Adherence can prevent many potential issues. |
12 -| Business | Non-technical decision makers in the organization developing the software. |
13 13  | Business Value | The worth of a feature in terms of its benefit to the business. |
14 14  | Compile Time | The period when the code is compiled. Often used to distinguish from runtime. |
15 15  | Concretion | The counterpart to 'abstraction', also known as 'implementation'. In OOP, refers to non-abstract classes that implement the methods of interfaces or abstract classes. A concretion provides the 'concrete' code defining the workings of these abstract functions. |
... ... @@ -18,7 +18,6 @@
18 18  | Commitment | Binding promise to complete a specific task within a set period of time. |
19 19  | Component | Often used to refer to a set of units, modules, or "architectural" components without a clearer specification. In software architecture, it refers to a module capable of independent operation, often compiled or packaged into an executable such as a `.jar` or `.exe` file. |
20 20  | [[Continuous Integration|doc:Software Engineering.Agile.Extreme Programming.Continuous Integration.WebHome]] (CI) | See link. |
21 -| Customers | Individuals who use the software product, focusing on the value it provides to meet their needs. |
22 22  | Daemon | A program running in the background of a system, often without a GUI. |
23 23  | Data Structure | A class primarily meant to hold data and provide basic operations to access and manipulate that data. May contain only public fields, or private fields with associated getter and setter methods. |
24 24  | [[Definition of Done|doc:Software Engineering.Agile.Extreme Programming.Acceptance Tests.WebHome]] | See link. |
... ... @@ -30,7 +30,7 @@
30 30  | Distribution | A version of an OS packaged with specific software and configurations, designed for specific use cases. Examples: Ubuntu, Fedora, and Arch Linux, all based on Linux. |
31 31  | Dynamic | Behaviors/properties determined at runtime. Examples: dynamic dependencies can be replaced at runtime; dynamically-typed languages determine an object's type at runtime. |
32 32  | Entity | 1) In the OOP context, this means that two separately constructed objects of the same type, even with identical field values, are still distinct entities. 2) In software architecture, refers to classes representing application data models and core business logic. A banking application might have entity classes like Account, Order, Customer, or Employee with methods like `myCustomer.executeOrder(someOrder)`. |
33 -| Estimates | Intelligent guesses about the resources needed to complete a user story. It is not a binding promise as opposed to a commitment. |
31 +| Estimates | Intelligent guesses about the resources needed to complete a task. No binding promises as opposed to commitments. |
34 34  | [[Field Injection|doc:Software Engineering.Architecture.Dependency Injection.Types of Dependency Injection.WebHome]] | A type of dependency injection where a dependency is injected directly into an object's field via reflection, bypassing encapsulation. |
35 35  | Functionality / Feature | An operation that a system can perform from the user's point of view. For example, the "login" functionality/feature on a website. |
36 36  | Graphical User Interface (GUI) | A user interface that allows users to interact with the system through graphical elements like icons, buttons, windows, and menus. |
... ... @@ -40,10 +40,9 @@
40 40  | Integration/Integrated | 1) The opposite of isolation. Integration is the process of combining different software units or components to work together as a single, cohesive system.  For example, component testing is more integrated than unit testing because it involves multiple units working together. Integration testing tests the interaction between two components. 2) (Code) Integration, another term for merging code, usually into the main branch. See also 'Continuous Integration'. |
41 41  | [[Inversion of Control|doc:Software Engineering.Architecture.Dependency Injection.Dependency Injection Explained.WebHome]] (IoC) | A design principle that encourages the delegation of application unit wiring to a computer algorithm that facilitates dependency injection, rather than the developer implementing this logic manually. |
42 42  | Module | A distinct part of a software that encapsulates specific implementation details, such as functions, data structures, classes, interfaces, or even other modules. It exposes a concise API designed to perform specific tasks. These modules are typically crafted for reusability and improved code organization, thereby promoting a modular design. |
43 -| Logic | A set of instructions that determines how a program operates based on given inputs or conditions. Thus, basically any source code can be considered logic. |
41 +| Logic | Any code with non-trivial complexity. For instance, getters and setters have trivial complexity and are usually not considered 'logic'. |
44 44  | Logical | The counterpart to physical. The abstract representation of something in software. For example, deleting a file from the desktop only logically deletes it, but actually moves it to the Recycle Bin, while the file physically remains on disk until the Recycle Bin is emptied. |
45 45  | Magic | Code that performs complex tasks while abstracting away the complexity, presenting a simple interface to the user. |
46 -| Manager | Individuals responsible for planning, organizing, leading, and controlling a software project's resources, schedule, and deliverables to meet stakeholder expectations. |
47 47  | Operating System (OS) | The foundational system software that manages and coordinates all computer resources. Examples are Windows, MacOS and Linux. |
48 48  | Pain | An unpleasant experience caused by unnecessary efforts that could have been mitigated with better design of the original code. |
49 49  | [[Pair Programming|doc:Software Engineering.Agile.Extreme Programming.Pair Programming.WebHome]] / Pairing (up) | See link. |
... ... @@ -65,11 +65,8 @@
65 65  | Snapshot | A saved state of a system or data at a specific point in time. Can be used for rollbacks. |
66 66  | Software Engineer | Technical expert with in-depth knowledge in many areas, including high-level topics such as software architecture and system design. |
67 67  | Specification | A detailed description of the requirements under which a user story is considered complete. Much more detailed than the original user story. |
68 -| Stakeholders | Individuals with an interest in the success of a software project, which may include customers, developers, investors, externals and others who are affected by the projects outcome. |
69 69  | Static | Behaviors/properties determined before or at compile time. Examples: static code analysis tools inspect source code; statically-typed languages determine an object's type at compile time. |
70 70  | [[Story / User Story|doc:Software Engineering.Agile.Extreme Programming.Planning Game.WebHome]] | See link. |
71 -| Story Card | A physical card containing a user story and other relevant information such as an effort estimate and a business value. See also [[here|doc:Software Engineering.Agile.Extreme Programming.Planning Game.WebHome]]. |
72 -| Story Deck | A collection of story cards for capturing the requirements of a project. See also [[here|doc:Software Engineering.Agile.Extreme Programming.Planning Game.WebHome]]. |
73 73  | System | Entirety of software components designed to work together effectively in a production environment. |
74 74  | Technical Debt | The implicit cost of additional rework caused by choosing an easy solution now instead of using a better approach that would take longer. Often the result of poor design, testing, and refactoring. |
75 75  | Test Code | Code that tests the functionality of production code. Does not contribute to the operational aspects of an application. |