|
Software development - its ever growing facets |

Tuesday, 13 November 2007
|
Software development can be said to be the mapping and implementing of user needs into a software product. A software development company can develop and implement successful software only if it can balance the engineering and marketing sides of its client?s business. Typical steps in software development life cycle are requirements gathering and analysis, detailed design and specification, coding, testing, implementation and documentation. All the steps should be carried out in the proper order and with care so that re-doing the steps can be avoided. Requirements gathering can be said to be the most challenging step in the software development life cycle. It involves at the high level, the understanding of the client?s business goals and at the low level involves extracting information regarding all that the software is expected to do from the future user of the software. A software engineer needs to be very methodical and patient in bringing out the requirements. He has to analyze the requirements thus gathered and sift them to remove/resolve contradicting requirements. Then, he has to prepare a detailed requirements document to be signed off by the client. Software Design is the process of putting down in detail the software solution that will satisfy the requirements gathered. Software specification is the minute description of the software to be written. It is almost like a well written algorithm or pseudo code. Specifications, in practice, are also written for existing applications to understand its flow. Software architecture will give an abstract representation of a system, helping to make sure that the system can support the interfaces and also meet current and future requirements. Coding is translating the specifications into software. The overall specifications are broken down into modules and then the coding is carried out. Then the developed code is tested against the specification and the requirements. Later all the code pieces are integrated into an overall system and then tested for usability, stability etc. Documenting each stage of the software development cycle is very useful for future maintenance of the system. A user manual helps any new user to the system to understand the system?s capabilities. There are different models used in software development like the often used waterfall model which follows the above steps one after the other in the same order. This is preferred when the user is very clear about the requirements. Another popular model is the iterative model, used when the user is unable to define his requirements in one shot. In this model, all the steps are done for a small portion initially and after that much iteration of the steps take place till finally all the requirements are built into the system. Extreme programming (XP) and agile methodology are off shoots of this iterative process. XP involves extremely small iterations to be carried out. agile software development process uses feedback from all the concerned users of the system to control rather than planning. custom software development is building a software system developed solely for the client?s requirements instead of taking an already developed product and customizing for the client. Many IT consulting companies have in-house software development teams that can service their clients. Article Source: http://www.ArticleBlast.com |
The writer specializes in writing on technical topics like software development, custom software development, agile software development, ecommerce development, website design. To know more about the Software Development Company, visit http://www.infysolutions.com
| Comments On This Article: |
Only registered users can write comments.
Please login or register.
You are welcome to publish this article free of charge on your website, newsletter, or e-zine, provided:
- You don't change the article in any way
- You include the entire article, including the "about the author" box
- All hyperlinks must remain intact, including email addresses, and the link to ArticleBlast.com at the bottom
- In doing so you agree to indemnify the article's author, and ArticleBlast.com and its directors, officers, employees and agents from and against all losses, claims, damages and liabilities which arise out of its use
- It is also recommended that you provide a courtesy copy of your publication to the author of the article
