Showing posts with label computers. Show all posts
Showing posts with label computers. Show all posts

Thursday, July 17, 2008

What you think about Software Industry

There are mainly two types of businesses in the software industry; those developing proprietary software such as Microsoft, and those developing open source software. Developing proprietary software is costly and involves software licensing and the need to protect the software from cracking and piracy.

The main financial return on open source comes from selling services, such as training and support, rather than the software itself. Many contributors to open source software (especially those developing software tools) also feel that there is a significant long-term return in the form of improved resources and capabilities within the software industry. Now there are mainly fours types of software working like:

Freeware

Freeware is copyrighted computer software which is made available for use free of charge, for an unlimited time, as opposed to shareware where the user is required to pay (e.g. after some trial period or for additional functionality). Authors of freeware often want to "give something to the community", but also want credit for their software and to retain control of its future development. Sometimes when programmers decide to stop developing a freeware product, they will give the source code to another programmer or release the product's source code to the public as free software.

Shareware

Shareware is a marketing method for computer software. Shareware software is typically obtained free of charge, either by downloading from the Internet or on magazine cover-disks. A user tries out the program, and thus shareware has also been known as "try before you buy". A shareware program is accompanied by a request for payment, and the software's distribution license often requires such a payment.

Open source

Open source describes the principles and methodologies to promote open access to the production and design process for various goods, products, resources and technical conclusions or advice. The term is most commonly applied to the source code of software that is made available to the general public with either relaxed or non-existent intellectual property restrictions. This allows users to create user-generated software content through either incremental individual effort, or collaboration.

Commercial

Commercial software is computer software sold for commercial purposes or that serves commercial purposes. Commercial software is most often proprietary software, but free software is also used as commercial software. All or parts of software packages and services that support commerce are increasingly made available as free software, including products from Red Hat, Apple Computer, Sun Microsystems, and Google.

Software Development

Reference: Answers.com

Monday, July 14, 2008

Software Design & Development

Software design is a process of problem-solving and planning for a software solution. There are many aspects to consider in the design of a piece of software. The importance of each should reflect the goals the software is trying to achieve. Some of these aspects are:

  • Extensibility - New capabilities can be added to the software without major changes to the underlying architecture.
  • Robustness - The software is able to operate under stress or tolerate unpredictable or invalid input. For example, it can be designed with resilience to low memory conditions.
  • Reliability - The software is able to perform a required function under stated conditions for a specified period of time.
  • Fault-tolerance - The software is resistant to and able to recover from component failure.
  • Security - The software is able to withstand hostile acts and influences.
  • Maintainability - The software can be restored to a specified condition within a specified period of time. For example, virus software may include the ability to periodically receive virus definition updates in order to maintain the software's effectiveness.
  • Compatibility - The software is able to operate with other products that are designed for interoperability with another product. For example, a piece of software may be backward-compatible with an older version of itself.
  • Modularity - the resulting software comprises of well defined, independent components. That leads to better maintainability. The components could be then implemented and tested in isolation before being integrated to form a desired software system. This allows division of work in a software development project.
  • Reuse - the modular components designed should capture the essence of the functionality expected out of them and no more or less. This single-minded purpose render the components reusable wherever there are similar needs in other designs.

Sehelsoft can help you to find your software solutions

Reference: Answers.com