Transcription

International Journal of Computer Science & Engineering Survey (IJCSES) Vol.8, No.4, August 2017A SOFTWARE SYSTEM DEVELOPMENT LIFE CYCLEMODEL FOR IMPROVED STUDENTS’COMMUNICATION AND COLLABORATIONAbdullahi Yusuf Egwoh1,Ogwueleka Francisca Nonyelum21,2Computer science Department, Nigerian Defence Academy, Kaduna.ABSTRACTSoftware engineering provides methodologies, concepts and practices, which are used for analyzing,designing, building and maintaining the information in a software industry. Software Development LifeCycle (SDLC) model is an approach used in the software industry for the development of various sizeprojects: small scale projects, medium scale projects and large scale projects. A software project of anysize is developed with the co-ordination of development team. It is therefore important to assign resourcesintelligently to the different phases of the software project by the project manager. This study proposes amodel for the spiral development process with the use of a simulator (Simphony.NET), which helps theproject manager in determining how to increase the productivity of a software firm with the use ofminimum resources (expert team members). This model increase the utilization of different developmentprocesses by keeping all development team members busy all the time, which helps in decreasing idle andwaste time.KEYWORDS:Software System Development Life Cycle, Students, communication, collaboration, Software Engineering.1. INTRODUCTIONIn a software industry, software projects of various sizes are developed by using manydevelopment principles and approaches. Similarly, SDLC models are such type of methodologieswhich are used for the development of software project with their different development phaseslike analysis phase, designing phase, programming phase, testing phase and maintenance phase.In effect, many SDLC models are deeply investigated and studied by many practitioners in theworld. The waterfall model, spiral model, incremental model, rapid prototyping model and agilemodel are few most successful SDLC models. Many software development industries adoptedSpiral model as their prime development approach for the maintaining, designing, planning andprogramming of the software projects (Munassar, 2010). Each Spiral model’s phase is handled bythe team of expert employees, for example, business analysis department; software coding andprogramming department and software maintenance department. However, assigning theappropriate and exact number of expert team members (resources) for each phase of the spiralmodel is a very confusing work for the project manager of a software firm. In order to increase ormaximize the productivity, it is very important to find the optimal number of resources thatshould be assigned to each phase of the spiral model and completes a particular phase or task.This is the reason why simulation for the SDLC model is required in order to determine theappropriate number of expert team members which are necessary to fulfil a certain project of acertain scale. Relatedly, a simulation of a system is the operation of a model of the system(Osman et al, 1990). The model can be reconfigured, studied, experimented and analyzedproperly. Simulation is used before an existing system is altered or a new system built to reduceDOI:10.5121/ijcses.2017.84011

International Journal of Computer Science & Engineering Survey (IJCSES) Vol.8, No.4, August 2017the chances of failure, to eliminate unforeseen bottlenecks, to prevent over-utilization ofresources, and to optimize the performance.Software development life cycle (SDLC) is important for the software project success, the goodsoftware engineer should have experience and knowledge to prefer one model than another basedon the project context. In order to choose the right SDLC model according to the specificconcerns and requirements of the project.In this paper, we will explore the different types of models, merits and demerits and when to usethem.2. TYPES OF SOFTWARE DEVELOPING LIFE CYCLES (SDLC)2.1 WATERFALL MODELThe waterfall model is a linear sequential flow in which progress is seen as flowing steadilydownwards (like a waterfall) through the phases of software implementation. This means that anyphase in the development process begins only if the previous phase is complete. The waterfallapproach does not define the process to go back to the previous phase to handle changes inrequirement. The waterfall approach is the earliest approach and most widely known that wasused for software development. Projects which not focus on changing the needed requirements.For example, projects initiated from request for proposals (RFPs), the customer has a very cleardocumented requirements (Melsatar, 2012).2.2 V-SHAPED MODEIt is an extension of the waterfall model. Instead of moving down in a linear way, the processsteps are bent upwards after the implementation and coding phase, to form the typical V shape.The major difference between v-shaped model and waterfall model is the early test planning inthe v-shaped model. Software requirements clearly defined and known, Software developmenttechnologies and tools is well-known (Melsatar, 2012).2.3 PROTOTYPING MODELIt refers to the activity of creating prototypes of software applications, for example, incompleteversions of the software program being developed. It is an activity that can occur in softwaredevelopment. It is used to visualize some component of the software to limit the gap ofmisunderstanding the customer requirements by the development team. This also will reduce theiterations which may occur in waterfall approach and hard to be implemented due to theinflexibility of the waterfall approach. So, when the final prototype is developed, the requirementis considered to be frozen. It has some types, such as throwaway prototyping.Prototypes that are eventually discarded rather than becoming a part of the finally deliveredsoftwareEvolutionary prototyping: Prototypes that evolve into the final system through aniterative incorporation of user feedback.Incremental prototyping: The final product is built as separate prototypes. At the end, theseparate prototypes are merged in an overall design.2

International Journal of Computer Science & Engineering Survey (IJCSES) Vol.8, No.4, August 2017Extreme prototyping: Mainly used at web applications. Basically, it breaks down webdevelopment into three phases, each one based on the preceding one. The first phase is astatic prototype that consists mainly of HTML pages. In the second phase, the screens areprogrammed and fully functional using a simulated services layer. In the third phase, theservices are implemented. This process can be used with any software developing lifecycle model. This shall be chosen when you are developing a system of user interactions.So, if the system does not have user interactions, such a system does some calculationswhich have no prototypes (Melsatar, 2012).2.4 SPIRAL MODEL (SDM)It is combining elements of both design and prototyping-in-stages, in an effort to combineadvantages of top-down and bottom-up concepts. This model of development combines thefeatures of the prototyping model and the waterfall model. The spiral model is favoured for large,expensive and complicated projects. This model uses many of the same phases as the waterfallmodel, in essentially the same order, separated by planning, risk assessment, and the building ofprototypes and simulations. It is used in the large applications and systems which built-in smallphases or segments (Melsatar, 2012).2.5 ITERATIVE AND INCREMENTAL MODELIt is developed to overcome the weaknesses of the waterfall model. It starts with an initialplanning and ends with deployment with the cyclic interactions in between. The basic idea behindthis method is to develop a system through repeated cycles (iterative) and in smaller portions at atime (incremental), allowing software developers to take advantage of what was learned duringthe development of earlier parts or versions of the system. It consists of mini waterfalls. It is usedin shrink-wrap application and large system which built-in small phases or segments. Also, can beused in a system has separated components. We can start with the budget module as a firstiteration and then with inventory module and so forth (Melsatar, 2012).2.6 EXTREME PROGRAMMING (AGILE MODEL)It is based on iterative and incremental development, where requirements and solutions evolvethrough collaboration between cross-functional teams. It can be used with any type of the project,but it needs more engagement from the customer and to be interactive. Also, it can be used whenthe customer needs to have some functional requirement ready in less than three weeks and therequirements are not clear enough (Melsatar, 2012).3. REVIEW OF RELATED LITERATURECohen et al (2010) proposed and evaluated a SDLC model which by the use of communicationand collaboration among stakeholders, improved system implementation was successfullyachieved. In Goparaju et al (2012), the author focused on the productivity measurements ofsoftware development team and provides techniques and models to measure the productivity.Balci (1990) provided guidelines for conducting a successful simulation study. For the completelife cycle composed of ten (10) phases, thirteen (13) credibility assessment stages and ten (10)processes. Chi (1997) introduced the Software Engineering Process Simulation (SEPS) model forthe dynamic simulation of the software project development process. SEPS is a planning tool toinspect agenda, trade-offs of cost, functionality and to test the implications of differentmanagerial strategies on a project’s outcome. Youssef (2012) made a simulation model for the3

International Journal of Computer Science & Engineering Survey (IJCSES) Vol.8, No.4, August 2017Waterfall development process. This model is built using the Simphony.NET simulation tool. Inthis paper author’s part is to help project managers in determining how to attain the maximumproductivity with the minimum number of hours, expenses and workers. In Prakriti et al (2013),the authors made a comparative study between iterative waterfall and incremental softwaredevelopment life cycle model for improving the resources using the Simphony.NET simulationtool. All the phases consisted in the iterative waterfall and incremental model are simulated.4. MOTIVATION AND PROBLEM DEFINITIONIn 2012, an empirical study Rupa (2012) was made in an Indian software firm. According to thisstudy, as shown in Table 1. There were many factors which play an important role in theselection of SDLC model. One of the most important factors in this study is team size. As weknow a particular software industry has software development team, the team members dependson each other and works in co- ordination. The Standish group conducted a deep investigationabout this problem and shows that many software projects do not deliver on budget, on time andas expected by the customer. The main reason behind this is the assignment of expert teammembers unintelligently to the various phases of the SDLC models. For this reason, some phasesof the process model may stay idle, while other may be delayed, due to the insufficient number ofresources. The proposed simulation model for Spiral SDLC helps the project manager indetermining how to increase the productivity of a software firm with the use of minimumresources (Roger, 2001). This model increase the utilization of different processes by keeping alldevelopment team members busy all the time, which help in decrease idle and waste time.Table 1: Factors affecting the software industry (Sonia et al, 2015)4.1 STUDENTS COMMUNICATION AND COLLABORATION MODELStudents use digital media and environments to communicate and work collaboratively, includingat a distance, to support individual learning and contribute to the learning of others. Students:4

International Journal of Computer Science & Engineering Survey (IJCSES) Vol.8, No.4, August 2017a. Interact, collaborate, and publish with peers, experts, or others employing a variety ofdigital environments and media.b. Communicate information and ideas effectively to multiple audiences using a variety ofmedia and formats.c. Develop cultural understanding and global awareness by engaging with learners of othercultures.d. Contribute to project teams to produce original works or solve problems.Students need to develop these skills both online and face-to-face in order to compete and lead inthe 21st century. By using Edmodo to create a student personal learning network (PLN), studentstake tremendous strides toward meeting and exceeding this standard. Students have usedEdmodo to communicate with one another, share class data and help each other on homework.The best part of our Edmodo PLN is that it often breaks the face-to-face social boundaries thatsometimes hinder effective collaboration. Students communicate and collaborate with peers thatthey would not normally interact with or, in some cases, people they never met. It allow anincrease in students giving positive feedback, encouragement, and support to one another.One of favourite features of Edmodo is the ability to form small groups within your class. Thisfeature have been used in many different ways to get students to engage with their peers and trulycollaborate with one another on projects or ideas. Work on team building skills and the studentsare required to work together on inquiry based labs and projects. The feature in Edmodo hasallowed students to have a space to share their ideas, lab data, and continue their discussionsbeyond the classroom. It is especially helpful when students are working on group projects andneed a place to share documents, answer questions, or discuss a presentation.Before using Edmodo, students had to rely on class time to communicate with one another.When students needed to get in touch with classmates, they typically used email, texting, or othersocial networking sites. The advantage of using Edmodo is that it keeps student communicationin one place and allows the teacher to be a part of the conversation. Students also work moreefficiently and they are more willing to share their documents and ideas with the whole group.The best part is that the project manager will be able to track their progress and virtually meetwith them too when needed. This interaction often led to greater understanding of content,effective collaboration, and higher quality projects and ideas.4.2 COMPUTATION SPECIFICATIONThe Spiral model which moves in clock-wise direction and the final product is delivered in manyincremental iterations. For the simulation of Spiral SDLC model, following specification aremade: A feedback loop is used in order to include the probability of failure concept, We can usethe Symphony.NET tool with the spiral model to determine the optimized expert team members,we can deliver the complete software product in five (5) increments of the spiral simulationmodel. And for each increment of the simulation model, necessary and optimal resources can bedetermined.The software projects arrive randomly in a software firm. We divide the projects into three types:(a) Small Scale Projects (b) Medium Scale Projects and (c) Large Scale Projects. 60% projects aresmall scale projects, 30% projects are medium scale projects and 10% projects are large scaleprojects. The projects arrive randomly and the inter-arrival time of software project is fixed by5

International Journal of Computer Science & Engineering Survey (IJCSES) Vol.8, No.4, August 2017using triangular distribution function. The minimum arrival time of a software project is 20 days,maximum time is 40 days and the average time is 30 days.Mathematically, as in equation (1)(1)The Spiral model uses five SDLC phases and the number of available expert team member foreach phase, at the software firm are:15 business analyst, 20 business designer, 30 businessprogrammer, 35 business tester, 15 business maintenance men.The following combinations of employees are present in software industry:1. Small-scale software projects require 1 business analyst, 2 business designer, 3 businessprogrammer, 4 business tester and 2 business maintenance.2. Medium scale software projects require 7 business analyst, 10 business designers, 15business programmers, 25 business testers and 10 business maintenance.3. Large scale software projects require 15 business analysts, 20 business designer, 30 businessprogrammers, 35 business testers and 15 business maintenance men.The time duration of each phase of the model to be completed is defined as follows:A. For small scale projects1. The lower limit of 2 days, upper limits of 3 days with uniform distribution are for businessanalysis phase as in equation (2):(2)2. The time duration for designing phase is simulated by using exponential distribution, withmean 2.3. The time duration for programming phase is simulated by using exponential distribution,with mean 4.4. The lower limit of 6 days and an upper limit of 10 days with uniform distribution are forbusiness testing phase as in equation (3):6

International Journal of Computer Science & Engineering Survey (IJCSES) Vol.8, No.4, August 2017(3)5. The lower limit of 2 days and an upper limit of 3 days with uniform distribution are forbusiness maintenance phase. The equation is same as equation (2).B. For medium scale projects1. The lower limit of 5 days, upper limit of 10 days with uniform distribution are for businessanalysis phase as in equation (4):(4)2. The duration (time) for designing phase is simulated by using exponential distribution, withmean 8.3. The duration (time) for programming phase is simulated by using exponential distribution,with mean 15.4. The lower limit of 10 days and an upper limit of 20 days with uniform distribution are forbusiness testing phase as in equation (5):(5)5. The lower limit of 7 days and an upper limit of 10 days with uniform distribution are forbusiness maintenance phase as in equation (6):(6)C. For large scale projects1. The lower limit of 10 days and an upper limit of 20 days with uniform distribution are forbusiness analysis phase. The equation is same as equation (5).2. The time duration for designing phase is simulated by using exponential distribution, withmean 25.3. The time duration for programming phase is simulated by using exponential distribution,with mean 35.4. The lower limit of 30 days and an upper limit of 35 days with uniform distribution are forbusiness testing phase as in equation (7):7

International Journal of Computer Science & Engineering Survey (IJCSES) Vol.8, No.4, August 2017(7)5. The lower limit of 15 days and an upper limit of 20 days with uniform distribution are forbusiness maintenance phase as in equation (8):(8)Each phase of the model, for different size projects upon completion show the followingprobability of having an error: for small scale project 5%, for medium scale project 10% andfor large scale project 35%.5. THE SIMULATION MODEL FOR SPIRAL SDLCThe proposed model consists of many modeling elements like capture, release, task, file, counterand resource. For this model resources are the expert team members assigned on different phasesof the spiral model. The simulation model for different phases of Spiral model is shown inFigure.1Figure 1 Simulation model for small scale projects (Sonia et al, 2015)8

International Journal of Computer Science & Engineering Survey (IJCSES) Vol.8, No.4, August 2017At very beginning of the model, a counter element counts the total number of projects received.At the end of the simulation model another counter counts the number of delivered projects.There are total of 60 projects arrive randomly in a software firm. A probabilistic branch elementexists at beginning of the model with 3 core branches: branch 1 shows that 60% projects are ofsmall scale, branch 2 shows that 30% projects are of medium scale and branch 3 shows that 10%projects are of large scale. Each phase of the model is modelled with a capture element and arelease element. The capture element links a specific resource to a specific task and the releasemodelling element releases the resources (expert team members) from the task element when it iscompleted.5.1 SIMULATION RESULTS & ANALYSISA. Statistics obtained for simulating the spiral modelUsing the symphony.NET environment, we execute the simulation model five (5) times with 60incoming projects. Following Table.2 and Table.3 shows the statistics obtained after running themodel including average mean of the number projects delivered and the average utilization foreach phase, for each increment of different scale projects.Table.2 The Average Mean for the simulation model (Sonia et al, 2015)Table.3 The Average Utilization for different scale projects (Sonia et al, 2015)9

International Journal of Computer Science & Engineering Survey (IJCSES) Vol.8, No.4, August 20176. CONCLUSIONThis paper proposes a model for the spiral development process with the use of a simulating tool(Simphony.NET). This model helps the software project manager in determining how to increasethe productivity of a software firm with the use of minimum resources. We can assume three sizeprojects: small scale projects, medium scale projects and large scale projects. A software projectof any size is developed with the co-ordination of development team. Therefore it is important toassign team members intelligently to the different phases of the software project by the projectmanager. This model increase the utilization of different development processes by keeping alldevelopment team members busy all the time, which helps in decrease idle and waste time.REFERENCES[1] Balci, O (1990) “Guidelines for successful simulation studies,”Proceedings of the Winter SimulationConference, Vol 1,No 1 pp. 25-32.[2] Chi Y. Lin, Tarek Abdel-Hamid, Joseph S. Sherif (1997) “Software-Engineering Process SimulationModel (SEPS),” Journal of Systems and Software,Vol.38, No. 3, pp.263-277.[3] Cohen. S, D.Dori and De Haan .U(2010) “A Software System Development Life Cycle Model forImproved Stakeholders Communication and Collaboration,” International Journal of Computers,Communications & Control, Vol 5, No1 pp.20-41.[4] Goparaju Purna Sudhakara, Ayesha Farooq and Sanghamitra Patnaik (2012) “Measuring Productivityof Software Development teams,”Serbian Journal of Management, Vol 7 No 1 pp. 65 – 75.[5] ent-life-cycle-models-and-methodologies/[6] dent-communication-and-collaboration/[7] Munassar. N and Govardhan. A (2010) “A Comparison between five Models of SoftwareEngineering,” IJCSI International Journal of Computer Science Issues, Vol. 7, No. 5, pp.1694[8] Osman Balci, Richard E. Nance, E. Joseph Demck, Emest H. Page and John L. Bishop, "ModelGeneration Issues in a Simulation Support Environment," in Proceedings of the I990 WinterSimulation Conference. Vol. 8, No.1, pp. 105-127.[9] Prakriti Trivedi and Ashwani Sharma (2013) "A Comparative Study between Iterative Waterfall andIncremental Software Development Life Cycle Model for Optimizing the Resources usingComputer Simulation,”Information Management in the Knowledge Economy (IMKE)Vol. 7,No.5,pp. 188-194.[10] Roger S.Pressman,(2001) “Software engineering: A practitioner approach” published march 12,1982, 5th ed,, macGraw-Hill, 2001.[11] Rupa Mahanti, M.S. Neogi and Vandana Bhattacherjee(2012) “Factors Affecting the Choice ofSoftware Life Cycle Models in the Software Industry- An Empirical Study,”Journal of ComputerScience (Science Publications),Vol. 8, No. 8, pp.1253-1262.[12] Sonia Thind, Karambir (2015)“A simulation model for spiral software development lifecycle”International journal of innovative Research in computer and communication engineeringVol. 3, No. pp. 2320-2330.[13] Youssef Bassil(2012) “A Simulation Model for the Waterfall Software Development Life cycle”,International Journal of Engineering&Technology. Vol.2, no.5, pp. 2049-344410

Similarly, SDLC models are such type of methodologies which are used for the development of software project with their different development phases like analysis phase, designing phase, programming phase, testing phase and maintenance phase. In effect, many SDLC models are deeply investigated and studied by many practitioners in the world.