Monday, December 2, 2013

Software Development Terms Dictionary

Requirement:
Create a dictionary with software development terms. (Not an easy task :) )

Solution (incomplete):
Software - Instructions for computers
Hardware - Physical elements that comprise a computer
OS(Operating System) - Collection of software that manages computer hardware.
Hello World - Traditional the first program that people write in a new program language.
Algorithm - Well-defined instructions for write a program.
Class Represents (just represents, not identify a specific thing) a noun, such as a person, place or thing, or something nominalized.
Object/Instance - Objects are considered Instances of classes (not represents, they identify specific thing)
Instanciate - Process of creation Instance of a specific Class.
Attribute - Refer to or set the specific value for a given instance of such.
Database - Catalog of data.
DBMS - Manager for Database and rules for manage it.
Column/Field - A cell in a row, like Name or Surname.
Row - Represents a set of related data, and every row in the table has the same structure.
Table - Set of data elements (values) that is organized using a model of vertical columns.
ID - Identification number, is used to identify a specific row.
Query - A piece of code (a query) that is sent to a database in order to get information back.
Index - A data structure that improves the speed of data retrieval operations on a database table.
Join - Process of combine two or more tables in result.
Normalization - Process of efficiently organizing data in a database.
ACID(Atomicity, Consistency, Isolation, Durability)A set of properties that guarantee that database transactions are processed reliably
Transaction - Comprises a unit of work performed.
Encription - Process of encoding information.
Decription - Process of decoding information.
Default - A preset setting or value.
GUI(Graphical User Interface) - Graphic Interface that allow user to interact with program.
Form - allows a user to enter data, at design time contains visual controls (buttons, text boxes, and the like)
Compiler -  A computer program that transforms source code into another computer understandable language.
Bytecode - Bytecode is the machine language.
Portability -  Usability of the same software in different OS.
Front end - An interface between the user and the back end.
Back end - Program that serves indirectly in support of the front-end services.
Version -  Unique state of program. Ex: 1.0, 1.6 ...
Trunk - Main copy of project.
Branch - Experimental copy of project.
Tag - Specific version of project.
Merge - Combines changed files. Ex: Branch with Trunk.
File:Revision controlled project visualization-2010-24-02.svg
Refactoring - Technique for restructuring an existing body of code.
Unit - Program module.
Use Case - A case in the use of a system.
Usability - The ease of use and learnability of a program.
Test Case - A case/scenario in a program to be tested.
Test Plan -
Unit Test - Testing of individual program components or modules.
Integration Test - Testing combined modules after integration.
Usability Test - Testing User-friendliness, and usability of program.
Compatibility Test - Testing software comportment in a particular hardware/software/OS ...
Stress Test - Test program under heavy load.
Abstract - Something that cannot be used directly, it serves to make something concrete.
OOP (Object Oriented Programming) - A type of programming language where all is presented as objects.
Incapsulation/Polimorfism/Inheritance - Three principles that OOP is build on.
Constructor - A block of code that is used to construct a object.
Destructor - The inverse of constructor.
Interface - An abstract type that contains no data, but exposes behaviors defined as methods.
Method - method is a subroutine (or procedure) associated with a class.
Normalizeorganizing the fields and tables of a relational database to minimize redundancy and dependency.
Callback - A piece of executable code that is passed as an argument to other code, which is expected to call back (execute) the argument at some convenient time. 
MVCModel–view–controller (MVC) is a software architecture pattern which separates the representation of information from the user's interaction with it.
Model - M part of MVC that cares about business logic.
View - V part of MVC that cares about the view that the final user see. Is built from M(Model)
Controller - C part of MVC, that act as a glue between V and M.
Task - A piece of work assigned or done by a developer, usually managed from "Project Managment Software"
Project Managment Software - A soft that allow to plan, organize, and manage resource pools and develop resource estimates.
IDEsoftware application that provides comprehensive facilities to computer programmers for software development.
UML (Unified Modeling Language) - Writing classes without the hassle of making them work
ORM (Object Relational Mapping) - Hiding the features of a relational database behind an impotent machine-generated abstraction
Software development methodologyFramework that is used to structure, plan, and control the process of developing an information system.
Agile A group of software development methods based on iterative and incremental development
TDD Test-driven development  - First the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the code to pass that test.
Waterfall - A software development method that completes the requirements gathering phase before the customer knows what they want
Pair Programming - Software development technique in which two programmers work together at one workstation.
Procedural Programming - A language feature for hiding GOTOs behind names
XP (Xtreeme Programming) - A software development method that maximizes head-count
XML(eXtensible Markup Language) - A hierarchical document format that emphasizes syntax over substance
Valid(XML) A "Valid" XML document is a "Well Formed" XML document, which also conforms to the rules of a Document Type Definition (DTD)
WellFormed(XML)A "Well Formed" XML document has correct XML syntax.
DTD(Document Type Definition) - Define the legal building blocks of an XML document.
HTML(Hypertext Markup Language) - a standardized system for tagging text files to achieve font, color, graphic, and hyperlink effects on World Wide Web pages
BugAn error, flaw, failure, or fault in a computer program or system that produces an incorrect or unexpected result.
FrameworkAn abstraction in which software providing generic functionality can be selectively changed by additional user-written code
API(Application Programming Interface)Specifies a set of functions or routines that accomplish a specific task or are allowed to interact with a specific software component
Design PatternIs a general reusable solution to a commonly occurring problem within a given context

Feel free to add your terms to improve this dictionary by adding comments. 
I'll add them to the post with pleasure.

No comments:

Post a Comment