Significance of Software Engineering Phases in the Development of a Software Application: Case Study

Significance of Software Engineering Phases in the Development of a Software Application: Case Study

Sushama A. Deshmukh (Maharashtra Institute of Technology, India) and Smita L. Kasar (Maharashtra Institute of Technology, India)
Copyright: © 2022 |Pages: 22
DOI: 10.4018/978-1-7998-9121-5.ch006
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Software engineering is the extensive study of how to build a software product using software development life cycle stages, beginning with requirement analysis phase to the last phase of testing and maintenance. This approach in the development of software application ensures completion of the project within the stipulated period without compromising quality of the software with effective utilization of resources. The most important is to develop a quality product. Case studies make readers understand the concept in a more impartial and tactile manner; one can make use of this experience in real-life circumstances for providing solutions to the complex problems. The significance of this case study is to represent the authors' experience of developing software by using method of software engineering, understanding how to apply them to build an application. This chapter gives a holistic review of the development of an Android application titled Vaccination Management System (VMS) “Vacc-IT” as a comprehensive case study.
Chapter Preview
Top

Introduction

Software is the collection of code modules, and engineering is the application of principles in building something qualitative. Hence, Software Engineering (SE) is the application of principles, methods, strategies to develop a quality solution in the form of the software application (Pressman, a). The quality of the software is measured in terms of its characteristics, which may be characterized as operational, transitional, and maintenance (Pressman b). Institute of Electrical and Electronics Engineers (IEEE) definition of SE is defined as the “The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software” Roger Pressman. SE comprises some phases, from its very initial stage of requirement collection and analysis to the last stage of testing and maintenance, where each phase has its own deliverables (Jalote). In the beginning of 1960s, the development of SE was considered as an challenging task to execute. The development of SE cause difficulty in maintaining when accompanied with hardware, which generated several difficulties, such as surpassed deadlines, over-budget software, need large maintenance and de-bugging, incomplete needs of customers, and so on for software engineers.

The aim of the Software Development Life Cycle (SDLC) is to produce an efficient and peculiar software product, in given timeline, within the budget and the most important to fulfil the client requirement to achieve customer satisfaction (Jalote). SE suggests few fundamental process models for developing software, which ensures the quality of the software. The objectives of the industry could be smoothly established by analysing and resolving the actual problems. To fulfil the objectives the software engineer or the entire team of engineers should embrace diverse strategies that circumscribes the tool layers, process and methods. Relying upon the nature of the project and application the model for engineering software should be processed

All software process models are based on the common approach of SDLC with a slight difference in their execution process. Basic software process models are Linear Sequential Model (LSM)/Waterfall Model, Rapid Application Development Model (RAD), Prototyping Model, Evolutionary/Incremental Process Models. Each process model has its own specialty (Shylesh, 2017). Including usability task in to basic SDLC model is capable of building usable applications (Velmourougan, et al., 2014). Study on few fundamental process models in detail with SDLC (Navita, 2017) is summarized as, LSM/Waterfall life cycle model is easy to understand and implement, it is ideal for small projects and the projects whose duration, requirements and budget are fixed, while Prototyping model is used in situations where requirements are not complete and fixed, developers may not sure about technical aspects of the application to be built, and client can provide its input during development. In the waterfall model, process development cannot proceed to the next phase unless and until the previous phase is fully completed. It executes all the phases in sequential manner from beginning to end (Barnett &Raja, 1995). RAD/Incremental model is an incremental software development model that focuses on a short development cycle e.g. 90-60 days and reusability of components [9]. The evolutionary software development approach is suitable for large problems to develop software in versions, they are iterative. E.g. is Spiral model. It is used when experimenting on technology, new skills and requirements are incomplete (Boehm, 1988). Iterative and incremental development improves the features and functionalities of the software (Larman, & Basili, 2003). Software is designed by inputting requirement analysis results and constructed by the component-based method (Yu, 2018). The gaining of knowledge from the practical campaign, benefit the evolvement of user-centred applications with preferable communication between team, resulting into focusing on the software quality in users satisfaction (Lopes, et al., 2018). The comparative analysis based on the software development methodologies shows the use of two methods: heavyweight as well as lightweight. Software development methodology should be chosen based on project owner profile, project details, complexity of project, cost, development time, developer's technical skill etc. In some cases, the experienced team and project, manager together give a best methodology (Saranya, et al., 2017).

Complete Chapter List

Search this Book:
Reset