2,024
10
Essay, 3 pages (750 words)

Software development

Software Development If it is possible for a 15 to 20-gram product, whose main constituent costs less than ten cents, to generate annual global revenues of 220 billion dollars for its manufacturers, would one not be interested about how such product is developed? This is exactly how the software industry fares in the international market, but software development is a non-nonsense process. The following exposition shall attempt to familiarize a generally non techno-savvy audience as to the protocol involved in developing a software. The term software development is defined as a component of the software engineering methodology which involves the structuring, planning, writing, testing, delivery, and maintenance of a software product (Pfleeger & Atlee, 2010). The software development process encompasses procedures that address how the software product will be designed, created, tested, implemented and maintained (Jawadekar, 2004). Furthermore, the software development process involves the following components: (1) activities; (2) resources; and (3) constraints. All major process activities are planned out, sub-processes and their relationships between each other are identified, schedules of activities are plotted with definite start and exit points, objectives of each process is listed, and resources required for each step is allocated and adjusted according to identified constraints (Pfleeger & Atlee, 2010). The first step in the software development process involves the identification and analysis of the various system requirements. In this stage, data is gathered regarding client requirements, types of hardware and software needed during development, and manpower requirements (composition of software development team, skills needed, etc.). After data gathering, it is analyzed to determine the following: (1) functional and non-functional requirements; (2) the relationship between external factors and the specific functions of the software being developed; and (3) important system functions (Saleh, 2009). The second step in software development involves system design which basically maps out the entire system at different levels based on the results of system analysis. Design documents produced in this stage includes: (1) high-level architectural design (software modules and interfaces); (2) detail design (data structures and algorithms); (3) database design (database schema); and (4) interface design (graphical user interface) (Saleh, 2009). The third step is implementation. This step involves transforming the information processed during system design into executable code, or simply put, creating the program based on the system design. Software developers have the option of creating an entirely new program from the ground up, or using ready-made modules and integrating these into a single software package. Code writing normally follows a set of coding standards and is based on the system specifications (Saleh, 2009). After writing the program code, it is reviewed for errors. Program code is then incorporated into software documentation either within the source code itself or through supporting documentation such as a user’s manual (Sundar, 2010). The fourth step involves testing the program with a set of test inputs or cases designed to simulate a particular real-world scenario. This is done to ensure that the program works and behaves as expected. The aim of software testing is to identify errors in the program code for later correction. Software is tested based on the following parameters: requirements, structure, data, and coding guidelines (Sundar, 2010). After testing is completed, the software proceeds to the fifth step – implementation. The software is delivered to the client wherein the software is installed and tested by the client. Once the client is satisfied with the results, the software is accepted by the client (Saleh, 2009). The last step in software development is maintenance. This step covers corrective, preventive, perfective, and adaptive maintenance activities. Corrective maintenance occurs when faults on the software are encountered. This may range from simple cosmetic changes to a user interface to complex changes in how data is processed. Preventive maintenance addresses weakness or vulnerabilities identified after implementation. This may include weakness and vulnerabilities in security and data integrity. Perfective maintenance focuses on implementation of improvements on the software created after implementation. This includes improvements on how the software handles data and the incorporation of additional functionalities. Lastly, adaptive maintenance occurs when clients need to implement the software on another platform or operating system. An example would be adapting of Windows-based software to run in a Macintosh operating system. References Jawadekar, W. S. (2004). Software engineering: principles and practice. New Delhi: Tata McGraw-Hill. Pfleeger, S. L., & Atlee, J. M. (2010). Software engineering: theory and practice. Upper Saddle River, NJ: Pearson Higher Education. Saleh, K. A. (2009). Software engineering. Fort Lauderdale, FL: J. Ross Publishing. Sundar, D. (2010). Software engineering. New Delhi, University Science Press. Verberne, B1 (2010). Global software top 100 edition 2010: the highlights. Retrieved from http://www. softwaretop100. org/global-software-top-100-edition-2010-the-highlights

Thank's for Your Vote!
Software development. Page 1
Software development. Page 2
Software development. Page 3
Software development. Page 4

This work, titled "Software development" was written and willingly shared by a fellow student. This sample can be utilized as a research and reference resource to aid in the writing of your own work. Any use of the work that does not include an appropriate citation is banned.

If you are the owner of this work and don’t want it to be published on AssignBuster, request its removal.

Request Removal
Cite this Essay

References

AssignBuster. (2022) 'Software development'. 2 October.

Reference

AssignBuster. (2022, October 2). Software development. Retrieved from https://assignbuster.com/software-development-essay-samples/

References

AssignBuster. 2022. "Software development." October 2, 2022. https://assignbuster.com/software-development-essay-samples/.

1. AssignBuster. "Software development." October 2, 2022. https://assignbuster.com/software-development-essay-samples/.


Bibliography


AssignBuster. "Software development." October 2, 2022. https://assignbuster.com/software-development-essay-samples/.

Work Cited

"Software development." AssignBuster, 2 Oct. 2022, assignbuster.com/software-development-essay-samples/.

Get in Touch

Please, let us know if you have any ideas on improving Software development, or our service. We will be happy to hear what you think: [email protected]