You are on page 1of 27
1.2.1(A) Characteristics of Software (5 Marks) 123 area our abuts ol gpd evar (Re see 12118 4.2.4 _Descsibe the characteristics software. (Ref. sec. 1.2.1 © Scanned by CamScanner ro) si eduction te Seray PS a ‘Gharactetetien of sortare —aaare deve o ene eS Soars uncured in he daescal tence Goats Bult sft ig. 1.21: Characeritles of software sufactured in the classical conse software development and hartwar, +1. sefvraretsdoveloped or engineered tt snot man = yen thigh thre are some similares fund fo : Be ee cnet eine uctian god dig eave fr high quality, but in he process of manuetrig there may bo quality problems in arcware which may a ot present in case of software, tivities there is prominent dependency on pooplo but there is vast difference in = In both of the the relationship botween people and werk accomplished. ‘activities is construction of “produ, but the perspectives aro not = The mein aim of both the = Software costa are concentrated in engineering which indicates that it is difficult to manage oftware projcta similar to manufncturing project > 2. Software docen't “wear out” [a.%.26 Ehaborato the sotnaro charctriais“Sfware dove rot wear Ut. (io 00. 1.2.1A ly im ite Fife, Sch = Incase of hardware, the failure rates are high an compared to software «: failures are mainly concerned with design or manufacturing dofvets. It in possible to correct the defects and drop the fllre rate toa steady-state level for sometime period. ~ However after some time period, there is again increase in the failure rate as there sre ‘cumulative effects of dust, vibration, mishandling, tremendous high or low temperature, and ‘number of other environmental maladies on components of hardware, In simple words, the hardware begins to wear ct ~ Sofware doce not have any risks of such environmental maladies which lead to wear out of bardware. ~ _Imcarly lif of sofware there may be high faiture rates because of undiscovered defects Howevor, these can be corrected. Sj Sears (au sem. 0-1 1+3_inveducsono SonvareEngeasng and Process = ve ae i ‘that there is no possibility of software wear out but it does deteriorate ~ Init life ehango is an intogral part of software. Whenever aay cha ‘of introduction of errors which increase the faihure rate, ccineiieeiaiiiiaias Before the software gots consistent state by correct corrections, any new chan trode ‘again increases the failure rate. anes ga inendowed whic Gradually, the lowest failure rate level starts toi hie starts to increase which indicates that the voftwere is deteriorating due to change. a . ~ There is one important difference in hardware and software regarding wear aspact is that a case of hardware, a failed component can be replaced by spare parta. Thin fciity n not available in software as there are no such spare parts. All the software failures point out that there is an error in design or in the method by which the respective design was transformed into machine executable code, Hence the tasks of software maintenance which handles requests for change has significantly ‘more complexity as compared to hardware maintenance. 3. Custom built software Component reusability is an important aspect in software industry. It is responsibility of software engineer to design and implement a software component in such a way that it should be reused easily in many different programs. Latest reusable components summarize both data as well as the processing which is applied to ications from ‘existing, the data, which helps the software engineer to develop new appl components. For example, rousable components are used in the development of modern interactive user interfaces that enable the generation of graphics windows, pull-down menus, as well as wide ‘range of interaction mechanisms. Efficiency Software is said to be efficient if it uses the available resources in the most efficient manner and. produce desired result in timely manner. Maintainability the software to fulfill those If customer requirements changes, programmers need to modify requirements. maintain the software through modifying the Software engineering provides the ability to software rather than changing whole product like hardware. can be trusted by users. Dependability ‘are that provides services which | so that it is helpful to ity is the ability of the softw: ty provides services to folfill the customer's ‘requirements, Dependabil Dependabil achieve trust of customers on the system. (emigineerinsg 1.3.1. Layered Approach 1.3 Doserive 4 layers of software enginestng 300, 13-1 8.2 Sas Fig. 1.41 : Layered Approach of software Technolony ‘This approach is divided into layers : 1. Aquality focus Any engineering approach must rest on the quality. ‘The most important aspect in software Engineering is Quality Focus. 2 Process Foundation for SE is the Process Layer. SE process is the GLUE that holds all the technology layers together and enables the ti development of compater software. It forms the base for management control of software project. 2 Methods = SE methoyls provide the “Peehnienl Questions” for building Sofware, abroad array of task that include commvn: port. = Moths cont 8 ication requirement amalywia, design oudclinnie programs construction testing and m 4, Tools = SE tools provide automated or semi-automated nuppart for the "Process andl the "Methods". ereated by ane toe! ean be ured by another, = ‘Tools are inteyented so that informa 1.2.4 Defining Software (2 Maris) BR ze _pumesomere be dofined in different ways : Software can % © Definitions 1 Softee is set of instructions (computer programs) that when executed provide desired features, function) and performance. adequately manipulate information, irea that enable the programs to roth hord copy end ltl frm that drcribes th operation be useful to manage business operations as well technieal decision making. With traditional processing applications, one can also use application software to keep control oa bbosinessfinetions in realtime, F & Bngincering/setentiic software ~ These (ype of software are characterized through the “number crunching” algorithms. There are number of engineering software in various fields like astronomy, space shuttle orbital ¢yaamics, automotive stress analysis, automated manufacturing, molecular biology etc. ~ Hower, there are drastic changes in modera applications within the engineering/ 1. Requirements Analysis ‘ atop in sho verification proces, eds of the user(s). perform. However itd = Ia the requirements analysis phase ravirenonts of the sytem are collet hy analysing the ot the ideal eystem has (0 built. called the user requirements decuneat; = This phase is coocerned with establishing wh ‘not determine how the software will be designed er Usually, the users are interviewed and a 4 sencrated. = The user requirements document will ically describe the system's functional, interfs, performance, data, security, le, requiremonts ax expected by the use = Lia wed by busines anaes communicate endertanding ofthe system te the os = ar exrefily review this document as this dovunent would serve asthe guideline fr syntem designers in the system desig phase. = "The user acceptance tests are designed in this phase. <= there are different methods for gathering requirements of both soft and hard mothocblg+ including; interviews, questionnaires, oeunent analysis, ebservation, throw-away prottrs ‘vac ease and state and dymamic views with wsérs 2. System Design syste docgn ithe phase where item engineers analyze and understand the busines of roposed ystom by sodying the wor requirements documeat, = They figure ot peaiiities end techniques by which tbe wae requremeats ean be implement! any of the reqirements arent fesbl, the wer informed regarding the iseue. Ares {found and the wer quirement docameat is edited accordingly. = ‘Tho satware specification document ich serves a a Maeprnt for the development pis? generated = This docoment contains the general system orpasiration, menu structures, data structures =! rnty elo ld busines enaro, sample wind, pert forthe better understanding. $e ‘Scanned by CamScanner [Er conver Exginoning WU-Som.t-Comp) 123 _ nto Seta Enver end Pees at Other tecnica! documentation Hike entity dingrams, data detonary wl leo be prides i thin phase, The docamnents fr ayetem tating are properod here. ‘Architecture Design ‘This pave of the design of compater architecture end software architecture can eo be referred te a0 high vel design ‘The baseline in selecting the architecur is that it should realize all which typically consists of ‘the lit of modules, brief functionality ofeach module, their interface relationship, dependences, Aatabase tables, architecture digrams, achaslogy desis ete. ‘Ths intogratien toring desig ie carid ou in tho particular phace 74 Module Design ~The module dosign phase can ela be roferrd te oa low-lovel design, The designed aystem is divided into smaller units or modules and each of thom is explained co that the programmer should he able ta start ending dretly. ~ The lnw level decign dosument or program epecifications vill entain a detailed functional lpi of themodule, in peoude-cods: Dacace tables with al ements, incdng thei types and sien, ‘Allinterface details with complete API (Application Programming Interface) references, ‘All dependency fsues Erormsnage iting Complete input and outputs for aod, "The uni test design is develope inthis stage. 1.7.2(B) Validation Phases Fig 1.74 : Validation pases 1a the V-model, each stage of verification phase has a cerresponding stage in the validation piase, a LR Tho lowing are the typical piace of validation in the VeMedel Unit Testing wantgh bie. Js ho Ved, at Tex Pan (UT are deve Sue me ‘Theto UTPs aro executed ta lninat bugs acolo Hero wit Teel module. nstoemasron tm nientr gnome ‘ate testing verifies thatthe anal enity ean fancon cree when isa Home reg the codesunits, Integration Testing Ttegration Test Plans are developed duriag the Architectural Design Phase, These tests verify that unite ereated and tasted independently can coexist and commurig, mong themselves, Test result are shared with customer's team System Testing System Tests Plans are developed during System Design Phase. Unlike Unit and Integration Test Plans, System Test Plans are composed by client's busines tear. System Test ensures that expectations from application developed are met. The whole applicatia is tested forts functionality, interdependency and communication. System Testing verifies that functional and non-functional requirements bave been met. Toad and performance testing, stress testing, regression testing, ete., are subsets of systex testing, iA 4. User acceptance Testing ‘User Acceptance Test (UAT) Plans are developed during the Requirements Analysis phase, ‘Test Plans are composed by business users. UAT is performed in a user environment thst resembles the production environment, using realistic data, UAT verifies that delivered systen meets user's requirement and system is ready for use in réal time, Advantages ot V-model 1, This model is simple and easy to use, {eis considered as good fr small project in which requirements are casily understood, @ Disadvantages of V-model 1. This model is considered as very rigid and loast flexible. 2. The dovolopment of software is done in the implementation phaso henes no carly protatypen regarding the software are produced. 3. If there are changes in midway, then there is need to update the test documents along with requirement documents. 1.9.1 Spiral Modet > (MU-Deo. 7) fo.2.0.1 Wina neat daram expan the Spi model of sofware deveiprert. pun = 6 > eet sein pdt in Sa eect a hia > Scanned by CamScanner Yan amw ‘Eaton ant aoonsct lok Als iy Fig. 1.92: Splcal Mod Fig. 2 Spiral Model @) Identification boginning. It involves a, ~ This phaso identifies all business requirements of system at . i Badia | understanding of requirements by communication between stakehel {s the subsequent iterations all subsystem requirements and unit requirements aro identified () Design ~ In Gist iteration, design phase develops conceptual design of system based on initially gatbery requirements, 1a farther spirals or iterations, it develops logical disign, physical design, architectural desig ‘and final design of system, (ii) Construct ‘Taltally construct phase develops a code for conceptual design to get user feedback. 4a next subsequent spirals, detailed working model of scftware is constructed with inerone ‘number and are delivered to customer for feedback, (iv) Evaluation and rlek analysio neste <"™ wwuer 18 useful than water! i © Advantages of spiral modet { (Ibis more flexible to changing requirements, i 1 (ii) Requirements are achieved more accurately, Scanned hy CamScanner FB sonwaro Engineering (mu - Sam. 6- Comp) 1-29 _ Introduction to Sotwaro Enginaering and Process More (Gi) User can see the system from 1* iteration to end of development. (iv) Risk management is easier, Disadvantages of spiral modol (@) [tis difficult to manage development procesa. (ii) Not useful for small projects development. ii) Spiral can run indefinitely, Gv) It requires excessive documentation work as documentation is prepared for each iteration. 1.8.1 Difference between Waterfall Model and ineremontal Model [0.1.82 Dern batwoen wel model ad nr ——— baled Sunte Intermediate Risk fovelvement | High Scanned by CamScanner £27 todo 1 ofan En and Process Moda ‘Waterfall Mode! | Incremental Model Easy Som. Parameter Flexibility to change | Difficult | User invoWwement | Only at beginning | Intermediate Loca Floxiblo Promotes maintainability Flexibility Rigid Maintenance Least ‘Very Long Duration Loag Tange of software development frameworks, ‘including Scrum and Kanban, There is significant subjective evidence that adopting agile practices and values improves the agility of saftware professionals, teams and or ‘Seulity of software professionels, teams and organizations. * Agile software ‘development values ~ Based on their combined experience of develop Seventeen signatories to the manifesto proclaimed that they value: © Individuals and Interactions over processes and tools. © Working Software over comprehensive documentation. © Customer Collaboration over contract negotiation. © Responding to Change over following a plan, As per the view of Scott Ambler: (Canadian software engineer, consultant. and author) ; ©, Tools and processes are important, but it is more important to have competent people Working together effectively, Good documentation is useful in helping people to understand how the software is built and ‘how to use it, but the main point of development is to create software, not documentation, A contract is important but is no substitute for working closely with customers to discover ing software and helping others do that, the what they need. A project plan is important, but it must not be too rigid t» accommodate changes in technology or the environment, stakeholders’ priorities, and people's understanding of the problem and its solution. 1.11.2 Advantages of Agile Process > wu - ays la.1.11.8 Whatare of Age Processes ? (Ret. ‘There are number of advantages of Agile Process : - Stakeholder Engagement, — Transparency, Early and Predictable Delivery, Predictable Costs and Schedule, Allows for Change, Focuses on Business Value, Focuses on Users, Improves Quality.

You might also like