Outline Of Software Development
   HOME
*





Outline Of Software Development
The following outline is provided as an overview of and topical guide to software development: Software development is the development of a software product, which entails computer programming (process of writing and maintaining the source code), and encompasses a planned and structured process from the conception of the desired software to its final manifestation. Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products. What ''type'' of thing is software development? Software development can be described as all of the following: * Research and development * Vocation * Profession Branches of software development * Software engineering * Computer programming * Video game development * Web development * Web application development * Mobile application development History of software development * History of operating systems * History of ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

History Of Programming Languages
The history of programming languages spans from documentation of early mechanical computers to modern tools for software development. Early programming languages were highly specialized, relying on mathematical notation and similarly obscure syntax. Throughout the 20th century, research in compiler theory led to the creation of high-level programming languages, which use a more accessible syntax to communicate instructions. The first high-level programming language was Plankalkül, created by Konrad Zuse between 1942 and 1945. The first high-level language to have an associated compiler was created by Corrado Böhm in 1951, for his PhD thesis. The first commercially available language was FORTRAN (FORmula TRANslation), developed in 1956 (first manual appeared in 1956, but first developed in 1954) by a team led by John Backus at IBM. Early history During 1842–1849, Ada Lovelace translated the memoir of Italian mathematician Luigi Menabrea about Charles Babbage's newest ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Offshore Outsourcing
Outsourcing is an agreement in which one company hires another company to be responsible for a planned or existing activity which otherwise is or could be carried out internally, i.e. in-house, and sometimes involves transferring employees and assets from one firm to another. The term ''outsourcing'', which came from the phrase ''outside resourcing'', originated no later than 1981. The concept, which ''The Economist'' says has "made its presence felt since the time of the Second World War", often involves the contracting of a business process (e.g., payroll processing, claims processing), operational, and/or non-core functions, such as manufacturing, facility management, call center/call center support. The practice of handing over control of public services to private enterprises (privatization), even if conducted on a limited, short-term basis, may also be described as outsourcing. Outsourcing includes both foreign and domestic contracting, and sometimes includes offshoring ( ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Offshore Software R&D
In software engineering, offshore custom software development consists in offshoring the software development process in a country where production costs are lower, thus decreasing budget spending. Background Early days Since the 1960s and the early days of the Silicon Valley, technology pioneers developed offshoring centers in the state of Jalisco, Mexico. In 1996, General Electric offshored its IT for the first time when it opened its own center in India. Given the rapid growth of this sector, several companies have started to use offshore development in China, India and other countries with a lower cost per developer model. In the early 2000s, the leading countries in offshore custom software development were Russia, India, Ukraine and China. The time difference when working with India and China for the Western world allowed work to be done round the clock adding a competitive advantage. 2008 Recession During the Great Recession, offshore software development spending l ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Software Configuration Management
In software engineering, software configuration management (SCM or S/W CM) is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. SCM practices include revision control and the establishment of baselines. If something goes wrong, SCM can determine the "what, when, why and who" of the change. If a configuration is working well, SCM can determine how to replicate it across many hosts. The acronym "SCM" is also expanded as source configuration management process and software change and configuration management. However, "configuration" is generally understood to cover changes typically made by a system administrator. Purposes The goals of SCM are generally: *Configuration identification - Identifying configurations, configuration items and baselines. *Configuration control - Implementing a controlled change process. This is usually achieved by setting up a change control board whose primary ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Software Project Management
Software project management is an art and science of planning and leading software projects. It is a sub-discipline of project management in which software projects are planned, implemented, monitored and controlled. History In the 1970s and 1980s, the software industry grew very quickly, as computer companies quickly recognized the relatively low cost of software production compared to hardware production and circuitry. To manage new development efforts, companies applied the established project management methods, but project schedules slipped during test runs, especially when confusion occurred in the gray zone between the user specifications and the delivered software. To be able to avoid these problems, ''software'' project management methods focused on matching user requirements to delivered products, in a method known now as the waterfall model. As the industry has matured, analysis of software project management failures has shown that the following are the most comm ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Software Bug
A software bug is an error, flaw or fault in the design, development, or operation of computer software that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. The process of finding and correcting bugs is termed " debugging" and often uses formal techniques or tools to pinpoint bugs. Since the 1950s, some computer systems have been designed to deter, detect or auto-correct various computer bugs during operations. Bugs in software can arise from mistakes and errors made in interpreting and extracting users' requirements, planning a program's design, writing its source code, and from interaction with humans, hardware and programs, such as operating systems or libraries. A program with many, or serious, bugs is often described as ''buggy''. Bugs can trigger errors that may have ripple effects. The effects of bugs may be subtle, such as unintended text formatting, through to more obvious effects such as causing a program to crash, freezing th ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Software Bloat
Software bloat is a process whereby successive versions of a computer program become perceptibly slower, use more memory, disk space or processing power, or have higher hardware requirements than the previous version, while making only dubious user-perceptible improvements or suffering from feature creep. The term is not applied consistently; it is often used as a pejorative by end users (bloatware) to describe undesired user interface changes even if those changes had little or no effect on the hardware requirements. In long-lived software, perceived bloat can occur from the software servicing a large, diverse marketplace with many differing requirements. Most end users will feel they only need some limited subset of the available functions, and will regard the others as unnecessary bloat, even if end users with different requirements require those functions. Actual (measurable) bloat can occur due to de-emphasising algorithmic efficiency in favour of other concerns like developer ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Shovelware
Shovelware is a term for individual video games or software bundles known more for the quantity of what is included than for the quality or usefulness. The metaphor implies that the creators showed little care for the quality of the original software, as if the new compilation or version had been created by indiscriminately adding titles "by the shovel" in the same way someone would shovel bulk material into a pile. The term "shovelware" is coined by semantic analogy to phrases like shareware and freeware, which describe methods of software distribution. It first appeared in the early 1990s when large amounts of shareware demo programs were copied onto CD-ROMs and advertised in magazines or sold at computer flea markets. Shovelware CD-ROMs ''Computer Gaming World'' wrote in 1990 that for "those who do not wish to wait for "software that used the new CD-ROM format, The Software Toolworks and Access Software planned to release "game packs of several classic titles". By 1993 the mag ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Web Developer
A web developer is a programmer who develops World Wide Web applications using a client–server model. The applications typically use HTML, CSS, and JavaScript in the client, and any general-purpose programming language in the server. is used for communications between client and server. A web developer may specialize in client-side applications (Front-end web development), server-side applications (back-end development), or both (full-stack development). Prerequisite There are no formal educational or license requirements to become a web developer. However, many colleges and trade schools offer coursework in web development. There are also many tutorials and articles which teach web development, often freely available on the web - for example, on JavaScript. Even though there are no formal requirements, web development projects require web developers to have knowledge and skills such as: * Using HTML, CSS, and JavaScript * Programming/coding/scripting in one of the many s ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Software Publisher
A software publisher is a publishing company in the software industry between the developer and the distributor. In some companies, two or all three of these roles may be combined (and indeed, may reside in a single person, especially in the case of shareware). Software publishers often license software from the original author-developers with specific limitations, such as a time limit or geographical region for a royalty consideration. The terms of licensing vary enormously, and are typically secret. The author-developers may use publishers to reach larger or foreign markets. Typically, the publisher will bear most of the cost of entering these markets. In return they pay the developer an agreed upon royalty payment. The duties of the publisher can vary greatly depending on the agreement reached between the parties. Duties can include: *Translating language elements into the local language *Building demand for the software in the local market *Produce & Design boxed software ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Programmer
A computer programmer, sometimes referred to as a software developer, a software engineer, a programmer or a coder, is a person who creates computer programs — often for larger computer software. A programmer is someone who writes/creates computer software or applications by providing a specific programming language to the computer. Most programmers have extensive computing and coding experience in many varieties of programming languages and platforms, such as Structured Query Language (SQL), Perl, Extensible Markup Language (XML), PHP, HTML, C, C++ and Java. A programmer's most often-used computer language (e.g., Assembly, C, C++, C#, JavaScript, Lisp, Python, Java, etc.) may be prefixed to the aforementioned terms. Some who work with web programming languages may also prefix their titles with ''web''. Terminology There is no industry-wide standard terminology, so "programmer" and "software engineer" might refer to the same role at different companies. Most typically, ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]