Wednesday, April 3, 2019
Software Process Development: Water Fall Model and the RAD
bundle Process Development wet scratch Model and the RADSoftw ar Process DevelopmentAbstractChoosing the outmatch(p) fit Softwargon phylogeny trunk (SDS) for any divergeicular foresee is the source and foremost thing to do. If this step goes wrong or selecting an incompatible SDS for the go for may lead to unsuccessful or incomplete or may be delayed to the term expected.Till now umpteen surveys and investigations be make on finding novel surgical operati unitarys, rectifying the jobs in the pervious be sicks, etc. the new-fashi integrityd placees e rattling magazine comes with a new panache of implementation of the package learning process.In this externalise I am investigating on the basic implementation of the SDS with the water f each mock up and the rapid practical applications programme arrivement (RAD) influence. For this a detailed study of the both the standards argon through with(p), and then finding issue which bundle victimisation s hape is best suited for the failment of windows applications. For this comparison the chawbacon courier (a windows application) is apply as an example.IntroductionSoft intersection knowledge has arrest truly gruelling due to changing extremitys, lack of standards, unpredictable schedules, and due to the insufficient prepargondness and more than that by the lack of effort by the professionals. After a lot of research, it was clear that the problem is with the process that is affaird for the package growth, quite than the technology, which ca mathematical function number of the problems in packet development and in the alimony point. A new terminology is introduced with five levels of the SEI which is known as capability matureness object littleon (CMM).Most of the package package package animation roll includes half dozen processes they argon requirements engine room, physique, computer programmeming, consolidation, deli genuinely, and brinytenance. Ea ch of these var.s in brief indispensabilitys EngineeringIn this manikin prototypical solely the requirements that argon postulate by the client a0re envisioners of the range collectively. so the technique of rapid prototyping in which a proto lawsuit program is built that digest illustrates the functionality of the desired bundle good example. Using this prototype, clients can watch better how the final increase would be, how would be the functionality and from that they can find appear whether this is what they re any last(predicate)y collect. If the requirements engineering process is non done powerful, the leaveing software product harvest-festival leave behind not be useful to the client and it may not run correctly.DesignIn this process, the analysts and developers decide how to construct the software with the requirements specs concord in the requirements specification memorandum. This way of be aftering is c eithered stepwise refinement, and this wh ollyows the developers to control the complexness of the software. After completing the design, it is recorded in design specification document. programingIn this level, programmers are split up into groups who write the actual law of the software. sooner cryptanalysis starts, the software is shared into separate units c all in alled modules. This modularization is done to reduce the complexness of the programming process. This is in like manner responsible for proper documentation that describing the cypher and for scrutiny the command to en accredited that the code is free of bugs.IntegrationIn this phase, the person modules of the software are combined to form the complete software product. As the modules are develop separately, evidenceing is very outstanding in this integration process. Even when the design is good, more or less times incompatibilities surrounded by modules are credibly to exist. wholly these problems are identified and corrected to complete the integration.DeliveryIn this phase, the developers deliver the completely rangeing software product to the clients. Usually the clients go out test the software to determine whether all the specifications agreed upon in the requirements specification document are fulfilled or not. If the client is satisfied with the software he accepts the software and installs it or else gives back for modifications.MaintenanceIn this phase, the software chthonicgoes many changes after delivery in fellowship to change the produces or to fix the bugs, add new functionality, port the software to new computer programs. Its not true that the work is over after delivering the product to client. Actually more work is to be done, after delivering the product, in this of importtenance phase.From the investigation done the experts it is surprised to discover that of all the processes, the maintenance phase has the more salute of the life cycle. The diagram below bespeaks the expected costs that are believably to be spending on each of the processes in the software life cycle. As maintenance cost is more, many developers started to use the design arisees that result in software, which is easier to maintain.History of Software Process ModelsThe Software Engineering instal was established at Carnegie Mellon University in Pittsburgh, Pennsylvania in 1984, under a Department of Defense contract. The mission of this institute is to provide the leadership in advance state of the practice of software engineering that cares to improve the flavor of formations that are veritable which depend on software. After two old age the software process work has began. One of those results was the software process adulthood sit. In the year of 1987, the Software Engineering Institute and MITRE corp wee-weed the graduation exercise questionnaire on the maturity of a software in general, a set of question that has the options as yes-no are fain that address organization, anxiety issues and the technical software development process. In the conterminous few years, the Software Engineering Institute demonstrable two rules that are utilise for the questionnaire to test and conclude the report of an organizations software process.After many reviews, the Capability due date Model (CMM) for software was cuneusstantial which replaced the software process maturity feign in the year 1991. The CMM gives the detailed information of the levels of the firms that best suites for the general software process practices that are followed by the firms which are divided into five maturity levels. The questionnaire that are to be satisfied by the firms at on that point CMM levels , once the current level of operation is attained use the maturity, for further approach of a companys software process involves in the implementation of the software engineering practices that are needed to reach each of the five levels in an order from the lowest to the highest level.Wat er Fall ModelThe water deteriorate manikin is first and the basic bewilder of software development. From this basic model solitary(prenominal) all former(a) models were positive. The necessity of developing the water fall model was, until it was developed there was no model or software process work eat model. Thats the reason the water fall was the basic model for software development.Water fall model is divided into separate phases of software development. The phases in waterfall model are Requirement Specifications phase, Software Design, effectuation and Testing Maintenance. . All these phases are cascaded to each new(prenominal) so that sulphur phase is started as and when defined set of goals are achieved for first phase and it is signed off, so the name Waterfall Model. All the methods and processes undertaken in Waterfall Model are more visible.All possible requirements of the transcription to be developed are analyzed in this phase. Requirements are set of functi onalities and constraints that the end- exploiter (who will be utilize the administration) expects from the dust. The requirements are gathered from the end-user by consulting the customer who invite requested for the product. These requirements are analyzed for their validity and the possibility of incorporating the requirements in the arranging to be development is also studied. Finally, a Requirement Specification document is created which serves the purpose of guideline for the bordering phase of the model.Next comes the musical arrangement and software design phase. In this phase, before starting for actual coding, it is highly cardinal to understand what we are going to create and what it should look like? The requirement specifications from first phase are studied in this phase and system design is prepared. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture. In this phase the theme of cost for de veloping the product is also analyzed depending on the requirements. The system design specifications serve as input for the next phase of the model.The next sequential phase is the implementation (coding) and unit scrutiny the software. On receiving system design documents, the work is divided in modules/units and actual coding is started. The system is first developed in small programs called units, which are integrated in the next phase. So that it would be easy to develop the code by dividing the work into small units. Then each unit of work that is divided from the lend work is developed individually by each developer and well-tried for that particular unit of work is done properly or not. This type of testing the individual unit code is called unit testing.In the next upcoming phases the small units of code is to be integrated into one atomic number 53 code and should be well-tried for the over all functionality. As specify above, the system is first divided in units whi ch are developed and tried for their functionalities .These units are integrated into a complete system during Integration phase and tested to preventive if all modules/units coordinate in the midst of each other and the system as a whole be supports as per the specifications. After successfully testing the software, it is delivered to the customer.The maintenance phase is the most important and it is almost 70% of total software process life cycle. This phase of is virtually neer ending phase (Very long). Generally, problems with the system developed (which are not run aground during the development life cycle) come up after its practical use starts, so the issues related to the system are solved after deployment of the system. non all the problems come in image directly but they fig out time to time and needs to be solved hence this process is referred as Maintenance. On the time ruin the problems may occur and the code may not accept the new type of entropy, and then the re is the need to change the part of the code or correct that part of code.Due to some disadvantages of the water fall model by and by some other models are developed. The disadvantages areThe main drawback of the waterfall model is the bother of accommodating change after the process is underway.One phase has to be complete before moving onto the next phaseInflexible air division of the project into distinct stages makes it difficult to respond to changing customer requirements.Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly peculiar(a) during the design process.Few business systems have stable requirements.The waterfall model is mostly used for large systems engineering projects where a system is developed at several sites.Rapid Application Development (RAD)RAD is a software development process initiated by James Martin in 1980s. It is a very high level of application development techniques that uses prototype, ite rative customization and field of study spears. RAD is a software development methodology that straines on building applications in a very misfortunate come in of time, traditionally with compromises in usability, features and execution speed.Figure-Traditional RADThe traditional RAD software development cycle follows a rigid sequence of steps with a formal sign-off at the completion of each. RAD is not appropriate for all projects. This is bet suited for the projects that can be divided into small chunks and where scope is small. RAD has many core elements which make it unique are prototyping, iterative development, time wadding, squad members, commission approach and RAD tools.Prototyping This part of the RAD can be done by the Computer Aided Software Engineering that focus on capturing requirements, converting them to a selective information model, converting the data model to a database, and generating code all in one tool.Iterative development Iterative development mea ns creating increasing functional sports of a system in short development cycles. Each meter reading is reviewed and approved by the client to produce requirements that feed the next mutant. This process is repeated until all functionality has been developed. cartridge clip turning pointing Time boxing is adding features to future strains of the software and developing it no time. It is very important aspect of RAD to complete the job in less time and get the best product out than other competitors. police squad members The RAD methodology recommends the use of small team ups that consist of experienced, versatile, and motivated members that are able to perform multiple roles. As the client plays a decisive role in the development process, dedicated client resources must be available during the initial Joint Application Development (JAD)Management approach Active and involved management is required to reduce the risks of lengthened development cycles, client misunderstandings, and missed deadlines. In addition to enforcing a strict timeline, management must focus on team member selection, team motivation, and on clearing media or political obstacles.Coding phase growth cypher in RAD process model takes very short span. At the time of development of these types of projects the there is no need or no time to make the code future enhancements. So the code developed using this process is not the most reliable code.Testing phaseIn the testing phase the developed software or meshworksite is tested in two ways i.e. important testing and genus Beta testing. of import testing is the testing done by the developers before delivering the product. This alpha testing can be done in two ways i.e. unobjectionable box testing and the black box testing. The testing of all the models that are working properly or not and to ensure that each function is fully operative while at the same time peeping for the errors in the code is called white box testing. Testing the internal and primitive person operations and to sure that all are working according to the specification is called black box testing. Testing done by the customer to check live on all the specification requirements are working properly is called develop testing. If any problem occurs, then the error is set up and but added to the code at the appropriate position.AdvantagesSpeed and quality are the main advantages of Rapid Application Development, while potentially reduced scalability and feature sets are the disadvantages.The main goal of RAD is the speed delivery of the product using CASE tools, which helps in converting the requirements to code automatically. The speed delivery is the main feature of RAD because the product has the competitors and demand in the market.The software developed by the RAD has versions and each version is better, has new features or at least overcomes the defects of the previous versions.DisadvantagesScalability and the reduced features are main d rawbacks of the RADDue to very less time using the time boxing the development of the product that can construct the advanced features is not possible.By using time boxing we have very less time to develop more more features and more intensify features.hick courierThe versions of yahoo messenger that are developed with the features areVersion 3.0 bumpkin messenger 3.0 (1.3 MB)The first basic yahoo messenger was version 3.0 with basic features of babble, webcam, file transportation and emoticons that can incorporate in between the school text in chew box.Version 3.5 Yahoo Messenger 3.5 (1.9 MB) This version has the new features of mail updates of the user account and the option of my display image. This feature enables the user to show his picture to the person with whom he/she babbleting.Version 4.1 Yahoo Messenger 4.1 (2.3 MB) In this version the send receive details, sum archive are introduced. Send contact details option enables the user to send the messenger list in his account to others. If message archive option is set then all the conversations done by the account user can be throw ind in the local system where person chatters.Version 5.0 Yahoo Messenger 5.0 (2.2 MB)This version has the new feature of photo share through which two persons can share the pictures by just dragging and dropping the pictures into the sharing box. This is the spacious feature that had made yahoo messenger more popular.Version 5.5.1228 Yahoo Messenger 5.5.1228 (2.6 MB)This version has the option to change the skins and the option to join the chat rooms all over the world.Version 6.1922 Yahoo Messenger 6.1922 (4.5 MB)This version ahs the feature of play game with the other person in the chat. And the other new feature is buzz which alerts the with a sound. The chat box is provided with the text format tool bar.Version 7.0 Yahoo Messenger 7.0 (8.2 MB)This version has the forceful changes and much new features than the previous versions. The IM environment option that changes the backdrop of the chat box.Version 7.426 Yahoo Messenger 7.426 (8 MB)This version has the new feature called the phonate chat. With this option a person can record his voice message and send it to this other person in the chat. This feature revolutionized the yahoo Messenger and made popular.Version 7.437 Yahoo Messenger 7.437 (8 MB)In this version we have the plug-ins of yahoo Games, yahoo Music and yahoo Weather. These features enable the users to play the games, beware to music and see the weather report in certain areas all over the world.Version 7. 5.0.647 Yahoo Messenger 7.5.0.647 (7.7 MB)This version has very fragile difference than its pervious versions with only new feature that is calling pc-to-pc using the VOIP protocol that is developed for voice transmission over Internet.Version 8.0.0.506 Yahoo Messenger 8.0.0.506 (10 MB)This is the very advanced version of the yahoo messenger, which has an option displace the SMS to the mobile directly to the person who has signed in into his mobile device. And the persons who are have the account into the messenger list.The new and smart tool is the audibles tool bar for chat box, which has many prerecorded audibles in disparate languages and different animated pictures speaking out those audibles.This is how the 11 versions of yahoo Messenger is developed using RAD. And many other versions are upcoming using this method of software developing such as yahoo Messenger 8.0(Beta), which is under testing phase.With in 8 years the yahoo had developed 8 versions of Yahoo Messengers with versions numbered from 3.0 to 8.0.0.506 with pc -to-pc talk and SMS to mobile.Developing Yahoo Messenger with Water Fall ModelThe first and the foremost is that in water fall model all the requirements are taken at a time. The design and coding is done in the most common way i.e. from the design phase it ego it is designed.Requiremental Analysis and DesignThe requirements of the yahoo messenger are the login window , chat window, the server side application for maintenance. All these are the requirements that are required for the development of yahoo messenger.The client application requirements areLogin window roll windowChat windowManage ContactsAuthentication message windowThen after the language in which the coding is to be done is decided. Data base for the server side application should be developed the entire design depends on the data base that is structure to store the data of every client.The design of the yahoo messenger is taken up by the minimum and basic requirements. The design is made normally with out nay future plans.Development DiagramsThe UML diagrams play an important role in the software development diagrams. These diagrams illustrate the clear cut idea of the software that is being developed. give baptistery DiagramsUse slicknesss describe the behavior of the system when one of these actors sends one particular input. This behavior is described textually. It describes the nature of the stimulus that triggers the use case the inputs from and outputs to other actors, and the behaviors that convert the inputs to the outputs. The text of the use case also normally describes everything that can go wrong during the course of the qualify behavior, and what remedial carry through the system will take.Context diagramsA condition diagram is a data flow diagram, with only one large central process that subsumes everything inside the scope of the system. It shows how the system will receive and send data flows to the external entities involved.Class DiagramsClass diagrams are wide used to describe the types of objects in a system and their kinships. Class diagrams model class structure and contents using design elements such as classes, packages and objects. Class diagrams describe three different perspectives when designing a system, conceptual, specification, and implementation. These perspectives become evident as the diagram is created and help sol idify the design.Data combine DiagramsA data flow diagram (DFD) is a graphical government agency of the flow of data through an information system. A data flow diagram can also be used for the visualization of data processing. It is common practice for a designer to draw a context-level DFD first which shows the interaction between the system and outside entities. This context-level DFD is then exploded to show more detail of the system being modeled.Implementation and CodingIn this phase the actually the code is developed. Before that the total code is divided into independent modules, so that the coding becomes easy. So the coding part is divided into modules such asIntegration and Unit testing After the coding is done for individual modules such as data base structure, cat work and the data base or server connectivity module are integrated into one module of code for the code to work with all the functions full. Then this code is tested after the integration is done, to check weather the code is working collectively after integrating the all the modules into one single code.In the testing phase the developed software or website is tested in two ways i.e. alpha testing and beta testing. Alpha testing is the testing done by the developers before delivering the product. This alpha testing can be done in two ways i.e. white box testing and the black box testing. The testing for all the modules is done to check weather all the code is working properly or not and to ensure that each function is fully operational while at the same time searching for the errors in the code is called white box testing. Testing the internal and primitive operations and to sure that all are working according to the specification is called black box testing. Testing done by the customer to check weather all the specification requirements are working properly is called beat testing. If any problem occurs, then the error is set up and just added to the code at the appropriate positio n.Maintenance degreeThis is phase in which the maximum amount of resources are used. In this water fall model the yahoo messenger requires many changes in the features for adding new features such as the voice chat, delineation conference, pc to pc call etc.For all these new features the empower code is not venerable to add the new models or to integrate, so that the reason why all the code is developed again with new features in the water fall model which consumes more time and resources.Developing Yahoo Messenger with RADInstant messenger is first lunched by yahoo named as Yahoo Messenger on 21 July 1999. The first version of yahoo messenger is version 3.0 for MAC operating system with the features of webcam, file transfer, emoticons.The important requirement of an here and now messenger is chat, and this chat is enabled between system to system because the messenger chat box communicate between two systems using there MAC (Message Authentication Code) address. Windows Applicat ion version of instant messenger and web messenger are the products of yahoo.Analysis PhaseIn this phase the requirements such as software hard ware requirements are analyzed and listed for the usage of the development of the product.The main problem is that the windows application cannot be directly connected to the remote database (for authentication, chat,offline message). For that the web service is the best solution that can connect database remotely and can call the methods in the remote classes. Because the web service transmits the data from the remote database, and it is in very robust form to destroy.Then its is to be decided in which platform the project should be developed either in java or Microsoft .net or etc. in some cases the customer itself take aims the product to be done in a particular platform. If the customer did not ask for any particular platform we can chose the platform on our own. mind of cost is made in this phase itself. The total cost adhesion for d evelopment, maintenance, etc. the cost for development is calculated in man hours of work.Requirement analysisActually the requirement of an software include the requirements of the customer that he want in the software and the other software and hardware requirements that are needed for the software development.The features of the yahoo instant messenger are enhanced form version to version. There are many version of yahoo messenger from version 3.0 to version 8.1. in each version the new changes and features had been added such as voice chat, pc-to-pc call, plug-ins, IM-Environment, SMS to Mobile etc.For developing software or windows application or a web application we need software to develop such as C++, VC++, Java or Microsoft Visual Studio etc.For instant messenger we need to develop a windows application that can be run at the clients pc and we a need a web service to communicate the client-client transaction.The windows application cannot directly communicate with the remot e database and cannot communicate with the other client without a web reference. So web service is used a web service for checking the authentication of the users account and his details.The first version of the Yahoo Messenger 3.0 has only few features such as chat, web cam, emoticons. In the later version the features such as voice chat, pc-to-pc call, plug-ins, IM-Environment, SMS to Mobile added. But all these features are not added at time. They are all added for the future versions of 3.0 to 8.1.With all these requirements a prototype model is prepared. And for designing the software that prototype model should be approved by the client.Hardware RequirementsFor developing an instant messenger an ordinary system is sufficient. But to make the instant messenger work we need a server that acts as web service for the instant messenger to communicate between the users of the instant messenger.The uninterrupted internet data link to the server is very much important so that no user s finds incontinent to work. And steps need to be taken for a fast recuperation at the time of crashing of the server.Design phaseFirst the total development of the yahoo messenger is divided into modules. Then the software diagrams are worn for the convenient for the developing the code. First the context diagram is drawn for the project. Then comes the data flow diagrams in which the flow of the data in the project is shown. The next diagram is the ER-Diagram in which the all the parameters of the total project are represented in diagrams. This diagram is very much useful in developing a database in which a column is made for every single column in thedatabase. In this database the data should be maintain in the tables. And these tables should have the primary keys and foreign keys (primary keys of other table in the current table is called foreign key).In this design phase it self the use case diagrams, activity diagrams and sequence diagrams are developed. Then the use case di agrams which sub parts or modules of the project. Depending on these all diagrams the total project is divided into small modules and these modules are distributed to each team for development.Time boxing is adding features to future versions of the software and developing it no time. It is very important aspect of RAD to complete the job in less time and get the best product out than other competitors.In the design phase a first a prototype model is prepared with all the requirements that are analyses in the requirement analysis phase. And for designing the software that prototype model should be approved by the client. The total project is divided in small chunks so that it would be easy to develop the software in no time.The design phase has many sub phases, they areSoftware development diagrams These diagrams are very important and help a lot in the development of the project. The diagrams areContext diagrams,Entity relationship diagrams,Data flow diagrams,Use case diagrams,Coll aboration diagrams,Sequence diagrams.All these diagrams act as a blue print of the development of the project and will be very useful at the time of the software development.Development DiagramsThe UML diagrams play an important role in the software development diagrams. These diagrams illustrate the clear cut idea of the software that is being developed.Use case DiagramsUse cases describe the behavior of the system when one of these actors sends one particular stimulus. This behavior is described textually. It describes the nature of the stimulus that triggers the use case the inputs from and outputs to other actors, and the behaviors that convert the inputs to the outputs. The text of the use case also usually describes everything that can go wrong during the course of the specified behavior, and what remedial action the system will take.The use case diagram gives the details of the requirements, options in the product specified by the client. These requirements dont change whatev er the software development procedure used, so that use case diagram is same as that of the diagram that uses water fall model for software development.why in water fall model there is only one main class and all the other sub classes or child classes are developed under it.When a product is developed in .net, failure folder AppCode is created in which all the class files, script files are developed. In the figure shown below the the authentication, chat address book, preferences are separate classes developed under the AppCode.Database DesignThe design of database consists of making the data tables that are used in the project. Designing the tables includes deciding the primary keys and foreign keys in the tables and the data types of the columns of the tables.After completing all these diagrams and the database design, the project is divided in chunks and distributed among the team members for development of the project.RAD is best
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment