Download as pdf
Download as pdf
You are on page 1of 11
eBpemouy 40} ysnu 2 Ue @SNOILYOITENg TVOINHOIFL are ule! SAS 8U} JO syuaUTarmbar Temoravyeq ‘uonouny ‘ureurop voyeuosur ayL ysdTeuW paTyes ose sr oym ‘qeaursue exemyos fq poojsiepun aq jsnw wajsAs ou} JO syusutermMbex s1seq oy) dseyd sisAyeue pue suTey}e8 yUWeIMbax ul ‘JEpow [Teyra}eM sayeysnypt amsy SuImoyjoy “eoueuazuTeUL pue Suse} Surpoo ‘uSisap ‘sisAjeue y8nosy} sessa1801d uayL ‘aseyd Surayjes syueurermmber yyim syie}s juaudojeasp aremyyjos oy], quaurdoyaaap a1emyyos 0) yovordde jenuenbes ygeweyshs e sjsa83ns Jepour sIyL -wSrpered aremayos ysep[O ety St 3] \Jepour -TeaUTf, SL Pare OSTe St oPOw [[e}x9}eM ULL Jepow 1eHeveM Fae pour ssan01d snoniea ssnosip st 1 snpoid aremyos ‘japour ssadoid Suisn ynoyIIM [IEF Apeyugep jeyeunyn TM sha “Kyapoe juawdopeaeP ayy quaudojaaep aremyos 10J PEMmollOy - — aed ann 19 onIsuey at apAd ast] DIssey, 10 Jepour [enuenbes -guo Aq uo S|? jo ssarZo0id ay} TOyUOUT OF ynoygip st at yos pue soryp asneo AI ford aremy, ‘= a} Aue U fo veerarrad imp) Jaquiau Ul I jet Orented Sowers Engineering — 4-14 _ Software Process and Agile Development Fig. 1.6.2 Waterfall model ‘understood. All these requirements are then well documented and discussed further with the customer, for reviewing. «» The design is an intermediate step between requirements analysis and coding. Design focuses on program attributes such as - = Data structure = Software architecture = Interface representation = Algorithmic details. {ts are translated in some easy to represent form using which coding "The requirement "can be done effectively and efficiently. The design needs to be documented for use. isa step in which design is translated into machine-readable form. If design done in sufficient detail then coding can be done effectively. Programs are created this phase. ting begins when coding is done. While performing testing the major focus is on internals of the software. The testing ensures execution of all the paths, al behaviours. The purpose of testing is to uncover errors, fix the bugs and the customer requirements. is the longest life cycle phase. When the system is installed and put in cal use then error may get introduced, correcting such errors and putting it in tivity. Similarly, enhancing system's jis the major purpose of maintenance act ces as new requirements are discovered is again maintenance of the system. is widely used model, although it has many drawbacks. Let us discuss TECHNICAL PUBLICATIONS® - an yp-thrust fr knowedye ‘WwW SU_IeM suo] asned Aeur jy] ysuy syse} yuepuedep 2y) TE yst{duroose 0} Aressadau SI 1 adUaH] ‘syse} snorAeid euros uo juepuadep aq Aeur Syse} UTE}IOD asnwdaq ‘s9}e}s SUPpO]q seonpuT [apour []ey1a}eM Jo amnyeu IvaUTY “F : ‘sutayqord snorias sasne) Hf UsY] paysyessip sjo3 Jatuosnd ayy jr {japow SuryzoM ay} Jo SurmarAar ayy “pues yz ze Ajuo poloid ayy jo Japour SuPj1om ayy aas ued JaWO}SND aU] “¢ paload ay ut AMyyIp sasned styy, “SutuTaq ayy ut Appydxe syuawermbax yy [ye 18S 0} BIgissod jou st j1 sawHeUWIOs pue ATeYTUM auUOp si sIsAyeuR qUoUEIMbar aUL 7 “‘uOIsnyUOD eos asnvd AvU }I UAW Saseyd awOs je apetu are saSueYD 40s J] ‘ssan01d usurdojaaap aremyos ur Moy [eHUAnbas ay} Mo][oJ 0} [MOYTp st I] T : ere asoy} © [epour qjezreyem oyy ATdde om jr partoyunosue are yey) suratqord awos are aro Japouw |]e197eM Jo syoeqmeig ‘THJasn st Japour [[eyr9}eM suraysAs [TeUIs Jo UOHL}USWa|dUN JOY *Z ‘yuoweydurr 0} aydurts st Japour [yeyz9}VM au, “T lapow |}By18}eM Jo s}youag udojenaq aby pue SS890/g AJEMYOS Ze-b Buyeauibuz alemyog pejueuid jelqO | Object Oriented Software Engineering 1-32 Software Process and Agile Deve, aly 1, Explain the component based software development model with a neat sketch. AU : Dec.-17, Marks} EEE introduction to Agility * The Agile Manifesto, also called the Manifesto for Agile Software Development a formal declaration of four key values and 12 principles to guide an iterative people-centric approach to software development. * The agile methods were developed to overcome the weakness of conventic software engineering. * The agile manifesto is represented by following Fig. 1.8.1. oe Oo Process and tools Working software Over eee heen Over Contact negotiation — See ip : Over Following a plan Fig. 1.8.1 Agile manifesto EE) Agile Process ne A * In 1980's the heavy weight, plan based software development approach was us: to develop any software product. * In this approach too many things are done which were not directly related software product being produced. * This approach was rigid. That means if requirements get changed, then rework essential. Hence new methods were proposed in 1990's which are known as «! rea ma processes, © The agile processes are the light-weight methods are people-based rather than p! based methods. * The agile process forces the development team to focus on software itsel! than design and documentation. ¢ The agile process believes in iterative method. TECHNICAL PUBLICATIONS® - an up-thrust forknowledge Process and Agile Development « The aim of agile process is to deliver the working model of software quickly to the customer. ‘ : For example : Extreme programming is the best known of agile process. Conventional Software Development Methodology * As the software project makes the progress, the cost of the changes increases non linearly. * It is easy to accommodate changes during the requirement gathering stage. At this stage to accommodate the changes - usage scenarios are modified, list of functions can be extended, or written specification be edited. « As the progresses and if the customer suggest the changes during the testing phase of the software development life cycle then to accommodate these changes the architectural design needs to be modified and ultimately these changes will affect other phases of software development cycle. These changes are actually costly to execute. Agile Methodology * The agile method proponents claim that if the softy using the agile approach then it will allow the software team to changes late in a software project withor ware development is carried out accommodate ut dramatic cost and time impact. ery is combined with agile practices such as * Inother words, if the incremental deliv cost of changes can be ‘continuous unit testing and pair programming then the controlled. * The following graph represents the how the software development approach has a strong influence on the development cost due to changes suggested. Tne aro development approach 0! le process: Fig, 1.9.1 Influence of softw: in agile PI can =" TECHNICAL PUBLICA' TIONS®: an yphrust fr Kowa a Object Oriented Software Engineering 1-34 Software Process and Agile Developme, Pros 1. Efficient Delivery : Agile software development approach emphasizes; delivering the small increments of working software quickly. 2. Flexibility : The Agile software development methodology allows for change. and adaptions to be made throughout the development process. 3. Continuous Improvement : Agility encourages continuous reflection anc improvement in the software. 4. Transparency : During agile software development, daily stand-up meeting. makes all the team members and stakeholders aware of the project's progress challenges and decisions. o . Reduced Risk: Transparency helps to identify and mitigate risks early on. When everyone is aware of the project's challenges, they can work together to develop solutions. Cons 1. Need for Disciplined Team : Agile team requires more communication and collaboration for successful software development. This is difficult for teams tha are new to Agile. 2, More Collaboration and Communication : For Agile Software Development there needs more collaboration and communication which is challenging, for large and distributed projects. Bs Lack of Documentation : Agile prioritizes workin, software over comprehensiv documentation, which can be a disadvantage in situations where documentation is essential, such as in highly regulated industries, Agile Principles There are famous 12 principles used as agility principles - 1, Satisfy the customer by early and continuous delivery of valuable softwa are, 2. The changes in the requirements must be accommodated, Even though the changes occur late in the software development process, the agile process should help to accommodate them, 3, Deliver working software quite often, Within the shorter time span deliver the working unit, 4, Business people and developers must work together throughput the project SS SS ICAL PUBLICATIONS® 'UP-thrust for knowledge, + EG] Finite state Machines ° Cons 1) Algebraic specifications are hard 2) The algebraic specifications languages. A finite state machine is a mathematical In simpler terms, a state machine will re Viel om Objoct Oriontod Software Enginoering 2-52 Requiromonts Analysis ard Spa, Types of Finite State Machines ‘There are two types of finite automata or finite state machine i) Deterministic finite automata. il) Non deterministic finite automata. The deterministic finite automata is deterministic in nature, in the sense, this automata is uniquely det hand, it is non dete each mo, termined on current input and current state. On the ot, rministic in nature, in NFA i.e, non deterministic finite automata EEX] Applications of Finite State Machine 1, Finite automata are usec d in text processing in matching the pattern agi given text, ain 2. Itis used in compilers for analyzing the syntax of the language. 3. ‘The finite automata are also used in Preparing the hardware designs, 4: The Context-Free Grammar (CFGs) are used in programming languages artificial intelligence, Origi z languages 8. Cellular automata are used j representing the pine cones growth and Pigmentation patterns, Automata simulators are pe ‘dagogical tools used to teach, learn and rese2 automata theory 6. In switching the Ory, design and analysis of digital circuits automata theory useful. Deterministic Finite State Machine The finite automata is calle, inite Automata(DFA) i¢ there is only one Next state, For example, the DFA can be Fig. 2.6.1 Deterministic finite automata From state Sy for input ‘a! there is only one Path, a Boing to s,, only one path for input b going to S,, ing to 8, Similarly from TEC ICAL PUBLICATIONS ap “Pn or inowioage _ ey Ver VE Le TT) and so on © in croments: ’ smate te " ; edition premium ultimate hom ) system software cess Model PEA Evolutions) EO a While developing the software systems, ae ie ee to make modig, evelopment ph sks. sets. If the development process jg jin, straight line (from requi ring to deployment) then the end peas unrealistic. In such cases, proach needs to be adopted. The ey process model is iterative Cation Car op: " ases OF the ta rements gathe! the iterative aP| earlier d ct Wi i model. Alito In prototyping model initially the requirement gathering is done. Developer and customer define overall objectives; identify areas neegj requirement gathering. “a Then a quick design is prepared. This design represents what will be visi in input and output format. a . i oan a prototype is prepared. Customer or user eval pe in order to refine the requirements. I i we eee ; s. Iteratively proto! i soft fying oe requirements. Thus prototype is = : pe ae oftware requirements. oP a | TECHNICAL Pt UBLICATIONS® - an up-thrust for ‘knowledge

You might also like