Ayo is a young and emerging Software Developing company based in Sri Lanka


Ayo is a young and emerging Software Developing company based in Sri Lanka. We provide a broad spectrum of Client solutions
such as web based, mobile based, and standalone solutions. We are renowned in Sri Lanka for our superior customer service as well as our unwavering product quality,
Professionalism and best practices. We are determined to deliver unique and creative products
utilizing cutting edge technologies, tailor-made to our client requirements. We at Ayo strive
continuously to earn our customers’ respect, dependability and enthusiasm through
continuous improvement driven
by the integrity, teamwork, and innovation.Idea You Need.

Ayo® © 2011
software Development Company

Software Development
*Simple Payroll systems to large scale ERP systems
Website Design and Development
*simple HTML Websites
*Dynamic websites to Multimedia Driven Websites
*E-Commerce based websites
Mobile Application Development
*SMS gateways
*iPhone application development
*Symbian phone application development
Software Consultancy
*Specialize in web development
*e-commerce, data modeling
*Business process modeling
*System integrations
and information technology staffing.
Database Management
*Reducing single points of failure
*Streamlining backup procedures
*Establishing disaster avoidance capabilities
Search Engine Optimization
SEO algorithms.
Graphic Designing
*Web Animations
*Brochure Design
*Business Documents Designs
*Banner Ad Design

"Software" redirects here. For other uses, see Software (disambiguation).

"Software" redirects here. For other uses, see Software (disambiguation).

Computer software, or just software, is the collection of computer programs and related data that provide the instructions telling acomputer what to do. We can also say software refers to one or more computer programs and data held in the storage of the computer for some purposes. Program software performs the function of the program it implements, either by directly providing instructions to the computer hardware or by serving as input to another piece of software. The term was coined to contrast to the old term hardware (meaning physical devices). In contrast to hardware, software is intangible, meaning it "cannot be touched".[1] Software is also sometimes used in a more narrow sense, meaning application software only. Sometimes the term includes data that has not traditionally been associated with computers, such as film, tapes, and records.[2]

Examples of computer software include:

  • Application software includes end-user applications of computers such as word processors or video games, and ERP software for groups of users.
  • Middleware controls and co-ordinates distributed systems.
  • Programming languages define the syntax and semantics of computer programs. For example, many mature banking applications were written in the COBOL language, originally invented in 1959. Newer applications are often written in more modern programming languages.
  • System software includes operating systems, which govern computing resources. Today[when?] large[quantify] applications running on remote machines such as Websites are considered[by whom?] to be system software, because[citation needed] the end-user interface is generally through a graphical user interface, such as a web browser.
  • Testware is software for testing hardware or a software package.
  • Firmware is low-level software often stored on electrically programmable memory devices. Firmware is given its name because it is treated like hardware and run ("executed") by other software programs.
  • Shrinkware is the older name given to consumer-purchased software, because it was often sold in retail stores in a shrink-wrapped box.
  • Device drivers control parts of computers such as disk drives, printers, CD drives, or computer monitors.
  • Programming tools help conduct computing tasks in any category listed above. For programmers, these could be tools for debugging orreverse engineering older legacy systems in order to check source code compatibility.

System software

System software

System software provides the basic functions for computer usage and helps run the computer hardware and system. It includes a combination of the following:

  • device drivers
  • operating systems
  • servers
  • utilities
  • window systems

System software is responsible for managing a variety of independent hardware components, so that they can work together harmoniously. Its purpose is to unburden the application software programmer from the often complex details of the particular computer being used, including such accessories as communications devices, printers, device readers, displays and keyboards, and also to partition the computer's resources such as memory and processor time in a safe and stable manner.

Programming software

Programming software usually provides tools to assist a programmer in writing computer programs, and software using different programming languages in a more convenient way. The tools include:

  • compilers
  • debuggers
  • interpreters
  • linkers
  • text editors

An Integrated development environment (IDE) is a single application that attempts to manage all these functions.

Application software

System software does not aim at a certain application fields. In contrast,different application software offers different functions based on users and the area it served.Application software is developed for some certain purpose,which either can be a certain program or a collection of some programmes,such as a graphic browser or the data base management system. Application software allows end users to accomplish one or more specific (not directly computer development related) tasks. Typical applications include:

  • industrial automation
  • business software
  • video games
  • quantum chemistry and solid state physics software
  • telecommunications (i.e., the Internet and everything that flows on it)
  • databases
  • educational software
  • Mathematical software
  • medical software
  • molecular modeling software
  • image editing
  • spreadsheet
  • simulation software
  • Word processing
  • Decision making software

Application software exists for and has impacted a wide variety of topics.

Architecture

Users often see things differently than programmers. People who use modern general purpose computers (as opposed to embedded systems, analog computers and supercomputers) usually see three layers of software performing a variety of tasks: platform, application, and user software.

  • Platform software: Platform includes the firmware, device drivers, an operating system, and typically a graphical user interface which, in total, allow a user to interact with the computer and its peripherals (associated equipment). Platform software often comes bundled with the computer. On a PC you will usually have the ability to change the platform software.
  • Application software: Application software or Applications are what most people think of when they think of software. Typical examples include office suites and video games. Application software is often purchased separately from computer hardware. Sometimes applications are bundled with the computer, but that does not change the fact that they run as independent applications. Applications are usually independent programs from the operating system, though they are often tailored for specific platforms. Most users think of compilers, databases, and other "system software" as applications.
  • User-written software: End-user development tailors systems to meet users' specific needs. User software include spreadsheet templates and word processor templates. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is. Depending on how competently the user-written software has been integrated into default application packages, many users may not be aware of the distinction between the original packages, and what has been added by co-workers.

Documentation

Main article: Software documentation

Most software has software documentation so that the end user can understand the program, what it does, and how to use it. Without clear documentation, software can be hard to use—especially if it is very specialized and relatively complex like Photoshop or AutoCAD.

Developer documentation may also exist, either with the code as comments and/or as separate files, detailing how the programs works and can be modified.

Library

Main article: Software library

An executable is almost always not sufficiently complete for direct execution. Software libraries include collections of functions and functionality that may be embedded in other applications. Operating systems include many standard Software libraries, and applications are often distributed with their own libraries.

Standard

Since software can be designed using many different programming languages and in many different operating systems and operating environments, software standard is needed so that different software can understand and exchange information between each other. For instance, an email sent from a Microsoft Outlook should be readable from Yahoo! Mail and vice versa.

Execution Execution (computing)

Computer software has to be "loaded" into the computer's storage (such as the hard drive or memory). Once the software has loaded, the computer is able to execute the software. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code. Each instruction causes the computer to carry out an operation – moving data, carrying out a computation, or altering the control flow of instructions.

Data movement is typically from one place in memory to another. Sometimes it involves moving data between memory and registers which enable high-speed data access in the CPU. Moving data, especially large amounts of it, can be costly. So, this is sometimes avoided by using "pointers" to data instead. Computations include simple operations such as incrementing the value of a variable data element. More complex computations may involve many operations and data elements together.

Quality and reliability

Main articles: Software quality, Software testing, and Software reliability

Software quality is very important, especially for commercial and system software like Microsoft Office, Microsoft Windows and Linux. If software is faulty (buggy), it can delete a person's work, crash the computer and do other unexpected things. Faults and errors are called "bugs." Many bugs are discovered and eliminated (debugged) through software testing. However, software testing rarely – if ever – eliminates every bug; some programmers say that "every program has at least one more bug" (Lubarsky's Law). All major software companies, such as Microsoft, Novell and Sun Microsystems, have their own software testing departments with the specific goal of just testing. Software can be tested through unit testing, regression testing and other methods, which are done manually, or most commonly, automatically, since the amount of code to be tested can be quite large. For instance, NASA has extremely rigorous software testing procedures for many operating systems and communication functions. Many NASA based operations interact and identify each other through command programs called software. This enables many people who work at NASA to check and evaluate functional systems overall. Programs containing command software enable hardware engineering and system operations to function much easier together.

License

Main article: Software license

The software's license gives the user the right to use the software in the licensed environment. Some software comes with the license when purchased off the shelf, or an OEM license when bundled with hardware. Other software comes with a free software license, granting the recipient the rights to modify and redistribute the software. Software can also be in the form of freeware or shareware.

Patents

Main articles: Software patent and Software patent debate

Software can be patented; however, software patents can be controversial in the software industry with many people holding different views about it. The controversy over software patents is that a specific algorithm or technique that the software has may not be duplicated by others and is considered an intellectual property and copyright infringement depending on the severity.

Design and implementation

Main articles: Software development, Computer programming, and Software engineering

Design and implementation of software varies depending on the complexity of the software. For instance, design and creation of Microsoft Word software will take much more time than designing and developing Microsoft Notepad because of the difference in functionalities in each one.

Software is usually designed and created (coded/written/programmed) in integrated development environments (IDE) like Eclipse, Emacs andMicrosoft Visual Studio that can simplify the process and compile the program. As noted in different section, software is usually created on top of existing software and the application programming interface (API) that the underlying software provides like GTK+, JavaBeans or Swing. Libraries (APIs) are categorized for different purposes. For instance, JavaBeans library is used for designing enterprise applications, Windows Forms library is used for designing graphical user interface (GUI) applications like Microsoft Word, and Windows Communication Foundationis used for designing web services. Underlying computer programming concepts like quicksort, hashtable, array, and binary tree can be useful to creating software. When a program is designed, it relies on the API. For instance, if a user is designing a Microsoft Windows desktop application, he/she might use the .NET Windows Forms library to design the desktop application and call its APIs likeForm1.Close() and Form1.Show()[6] to close or open the application and write the additional operations him/herself that it need to have. Without these APIs, the programmer needs to write these APIs him/herself. Companies like Sun Microsystems, Novell, and Microsoft provide their own APIs so that many applications are written using their software libraries that usually have numerous APIs in them.

Computer software has special economic characteristics that make its design, creation, and distribution different from most other economic goods.[7][8] A person who creates software is called a programmer, software engineer, software developer, or code monkey, terms that all have a similar meaning.

Industry and organizations

Main article: Software industry

A great variety of software companies and programmers in the world comprise a software industry . Software can be quite a profitable industry: Bill Gates, the founder of Microsoft was the richest person in the world in 2009 largely by selling the Microsoft Windows andMicrosoft Office software products. The same goes for Larry Ellison, largely through his Oracle database software. Through time the software industry has become increasingly specialized.

Non-profit software organizations include the Free Software Foundation, GNU Project and Mozilla Foundation. Software standard organizations like the W3C, IETF develop software standards so that most software can interoperate through standards such as XML, HTML,HTTP or FTP.

Other well-known large software companies include Novell, SAP, Symantec, Adobe Systems, and Corel, while small companies often provide innovation.

AYO Technologies (PVT )LTD.

Information Technology means the use of computers and software to manage information.It is a big industry and we don't have limits for it.
Softwares play a great part in the IT field.Many businessmen need softwares to handle and protect their data correctly.There are many programmers who can make softwares.
But AYO is different.We are implementing softwares from the best computer language called JAVA.Our softwares have the best quality and the best security.Our programmers are also well trained and have the ability to archive targets.If you need softwares according to your idea contact us......We are AYO(The idea you need)