0% found this document useful (0 votes)
40 views18 pages

Se ch-1

Se chapter 1

Uploaded by

Jenish Gojariya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
40 views18 pages

Se ch-1

Se chapter 1

Uploaded by

Jenish Gojariya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 18
1.1 What is Software? Software is define as: * Software is instruction (computer program) that when executed, provide a desired features, functions and performance.” OR “Data structures that enables the programs to manipulates information.” OR “Documents that describe the operation and use of the program.” 1.2. What is Software engineering? Software engineering (SE) isthe application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software. Itis the application of engineering to software because it integrates significant mathematics, ‘computer science and practices whose origins are in engineering. Itis also defined as a systematic approach to the analysis, design, assessment, implementation, testing, maintenance and reengineering of software, that is, the application of engineering to software, 1.3 Software Characteristics Software is a logical system element, where hardware is physical system element. Therefore, software has characteristics that are considerably different than those of hardware: 1.3.1 Software is developed or engineered; its not manufactured in the classi ‘There exist some similarities between software development and hardware manufacturing; however these two activites are fundamentally different. High quality is equired in both the activities, which can be easily achieved through good design, but the manufacturing phase for hardware can introduce quality problems which may not exist for software. In both activities people are req but the knowledge or skills of the people differ as well as the work they accomplish is also different. is common, but the products and the In both the activities, the construction of a "product* approaches carried out to produce products are different. 1.2.2. Software doesn't "wear out;" where as hardware does wear out. Cudhen “gomethmng 'S Ne longer _OferYy Ure thin ib vesehes Into wear out oser or ib can!t etecHivly Pesform ashet if iS boilt for Prepared By: Assit. Prof. Megha D. Rana Paged Software Engineering -! "Wear oul” — Failure rate Figure 1.1 shows the failure rate as a function of time for hardware. This relationship is often called the "bathtub curve". It indicates that hardware shows high failure rate in its early development phase of its life cycle. These failures are usually in the designing stage or is the manufacturing defects; defects are corrected and the failure rate drops to a steady-state level (ideally, quite low) over a period of time. As time passes, however, the failure rate rises again as hardware components suffer from the increasing affects of dust, vibration, mistreatment, temperature extremes, and many other environmental maladies. So we can say, the hardware begins to wear out. Increased failure rate due to side offects Falure rate [Figure 1.2 shows the failure rate for software.] Software is not vulnerable(weak, helpless) to the environmental maladies; hence software does not wear out like hardware. In theory, therefore, the failure rate curve for software should take the form of the “idealized curve” shown in Figure 1.2. But practically it does deteriorate! The apparent inconsistency can be best explained by considering the “actual curve” shown in Figure 1.2. During the lifecycle of software, software will undergo changes called maintenance. Once the changes are Prepared By: Assit. Prof. Megha D. Rana Page? Software Engineering made, some new defects will be intr Figure 1:2. Before the curve can retur requested, causing the curve to a sing th to spike again, Slowly, the minimum failure rate level begins to rise— the software is worsening due to change. foduced, causing the failure rate curve to spike as shown in i to the original steady-state failure rate, another change is Another difference between hardware and software is that hardware components can be replaced by a spare part when it wears out, but in case of software it is not possible. Every software failure indicates that there is an error in design or in the process of translation the design into machine executable code, 1.3.3, Although the industry is moving toward component-based assembly, most software continues to be custom built. Let's consider the manner in which the control hardware for a computer-based product is designed and built. The design engineer draws a simple schematic of the digital circuit, does some fundamental analysis to assure that proper function will be achieved, and then goes to the shelf where catalogs of digital components exist. Each integrated circuit (called an IC or a chip) has a part number, a defined and validated function, a well-defined interface, and a standard set of integration guidelines. After each component is selected, it can be ordered off the shelf. For example, today's graphical user interfaces are built using reusable components that enable the creation of graphics windows, pull-down menus, and a wide variety of interaction mechanisms. The data structure and processing detail required to build the interface are contained with a library of reusable components for interface construction. 1.4 Software Applications Software may be applied in any situation for which a prespecified set of procedural steps (ie. an algorithm) has been defined. Prepared By: Assit. Prof. Megha D. Rana System Real time software software” ft Engines “Embedded and scientific ee software / Web based Business| software software Artificial Personal intelligence | computer oftware software - {Fig. 1.3 Types of Software] tate sftvare is ealletion of programs written to service other programs. Some systema software (e.g., compilers, editors, and file management utilities) processes complex, but determinate, information structures. Other systems applications (e.g., operating system components, drivers, telecommunications processors) process largely indeterminate data. The system software area is characterized by heavy interaction with computer hardware; heavy usage by multiple users; concurrent operation that requires scheduling, resource sharing, and sophisticated process management; complex data structures; and multiple external interfaces. Real-time software. Software that monitors/analyzes/controls real-world event as they occur is called real time software. Elements of real-time software include a data gathering component that collects and formats information from an external environment, an analysis component that transforms information as required by the application, a control/output component that responds to the external environment, and a monitoring component that coordinates all other components so that real-time response (typically ranging from 1 millisecond to 1 second) can be maintained. An example may be software required for weather forecasting. Such software will gather and process the status of temperature, humidity and other environmental parameters to forecast the weather. Business software Business information processing is the largest single software application area. Discrete "systems" (e.g., payroll, accounts receivable/payable, inventory) have evolved into management information system (MIS), Software that accesses one or more large databases containing business information. Applications in this area restructure existing data ina way that facilitates business operations or management decision making. Prepared By: Assit. Prof. Megha D. Rana Page 4 Software Engineering - 1 ‘ Engineering and scientific software Engineering and scientific software have been characterized by “number crunching” algorithms. Applications range from astronomy to volcano logy, from automotive stress analysis to space shuttle orbital dynamics, and from molecular biology to automated manufacturing. Now a days, modern applications within the engincering/scientific area are moving away from conventional numerical algorithms. Computer-aided design, system simulation, and other interactive applications have begun to take on rea-time and even system software characteristics. Huge computing is normally required to process data Examples are CAD/CAM package, SPSS, MATLAB, Engineering Pro, Circuit analysers ete Embedded software Now a days, Intelligent products have become commonplace in nearly every consumer and industrial market, Embedded software resides in read-only memory and is used to control products and systems for the consumer and industrial markets. Embedded software can perform very limited and special functions (e.g, keypad control for a microwave oven, washing machine) or provide significant function and contro! capability (eg., digital functions in an automobile such as fuel control, dashboard displays, and braking systems). ‘The product could be an aircraft, automobile, security system, signalling system, control unit of power plants, etc. Personal computer software ‘The personal computer software market has burgeoned over the past two decades. Word entertainment, database processing, spreadsheets, computer graphics, multimedia, management, personal and business financial applications, external network, and database access are only a few of hundreds of applications. Web-based software ‘The Web pages retrieved by a browser are software that incorporates executable instructions (e.g, CGI, HTML, Perl, or Java), and data {e.g., hypertext and a variety of visual and audio formats). Ar 1 intelligence software Artificial intelligence (Al) software makes use ‘of non numerical algorithms to solve complex problems that are not amenable(agreeable) to computation or straightforward analysis. Expert systems, also called knowledge based Systems, pattern recognition (image and voice), artific neural networks, theorem proving, and game playing are representative of applications of this category. Examples are expert systems, artificial neural network, signal processing software etc. 1.5 SOFTWARE MYTHS Software myths are divided into three categories : (1) Management myths (2) Customer myths (3) Practitioner's myths. Page S Prepared By: Assit. Prof. Megha D. Rana Software Engineering - | (1) Management myths Managers with software responsibilty, : schedules from slipping, ‘i if that belief will essen the pressure (even temporarily). ure Hike managers in most disciplines, are often under pressure aH and improve quality. A software manager ofte to maintain budgets, kee are myth {grasps at belief in a software myth, . uilding software; wo" -Myth: We already have a book that's full of standards and procedures for building so that provide my people with everything they need to know? Reality: i ‘+The book of standards may very well exist, but isit use e we eeiheaemacitancs swore ef i existence? Does it reflect modern sotwa ‘engineering practice? + Isit complete? + isit streamlined to improve time to delivery while still maintaining a focus on quality in many cases, the answer to al of these questions is "no." Myth: My people have state-of-the-art softwareydevelopment tools} after ally weybuy:them the newest computers. : Reality: It takes much more than the latest model mainframe, workstation, or PC to do high-quality software development. Computer-aided software engineering(CASE) tools are more important than hardware for achieving good quality and productivity, then after the majority of software developers stil do not use them effectively. Myth: If we get behind schedule, we can add more programmers and catch up (sometimes called the Mongolian horde concept) Realty: Software development is not a mechanistic process like manufacturing. In the words of Brooks [BRO75]: "adding people to a late software project makes it later." However, as new people are added, people who were working must spend time educating the newcomers, thereby reducing the amount of time spent on productive development effort. People can be added but only in a planned and well-coordinated manner. Myth: IC decide to outsource3 the software project to a third party, I can just relax and let that firm build it Reality: an organization does not understand how to manage and control software projects internally, it will invariably struggle when it outsource software projects. (2) Customer myths ‘Acustomer who requests for computer software may ‘down the hall, an outside company, or the marketing/sales department that has requested software under contract. In many cases, the customer believes mi managers and practitioners do little to corré the customer) and at last, y be a person at the next desk, a technical group ths about software because software ect misinformation, Myths lead to false expectations (by ‘dissatisfaction with the developer. ‘Myth: & general statement of objectives is sufficient to be jn writing programs— Recent i 18 Programs—we can fill in the Prepared iy Asst net Megha DG Prepared Ny: Assit, Prof. Megha D. Rana Page 6 Software Engineering at Reality: \ poor problem definition for the software cause of failed software efforts. A formal and detailed description of the information domain, function, behaviour, performance, interfaces, design constraints, and validation criteria is essential, These characteristics can be determined only after thorough communication between customer and developer. Myth: Project requirements continually change, but change can be easily accommodated because software is flexible. Reality: at which i is true that software requirements change, but the impact of change varies with the time roduced. If serious attention is given to above definition, early requests for change can be accommodated easily. The customer can review requirements and recommend modifications with relatively little impact on cost. When changes are requested during software design, the cost impact grows rapidly. Resources have been committed and a design framework has been established. Change can cause upheaval that requires additional resources and major design ‘modification, that is, additional cost. Changes in function, performance, interface, or other characteristics during implementation (code and test) have a severe impact on cost. Change, when requested alter software is in production, can be over an order of magnitude more expensive than the same change requested earlier, 60-100x Cost to change Software Engineering - | ‘writing code, the longer it'l take you to get in ‘we i Reality: Someone once said that "the sooner you begi all effort f a 0 and 80 percent o done." Industry data ((LIE8O], YONA}, [PUT97}) indicate that between 6 ee expended on software wil be expended after iis delivered to the custome pended on software will bee [Myth Unit pet the program “running”! have no way of assessing its quality i the Realy One of hemos lletie stvare uty assurance mechanisms can be applied fe i inception ofa projet—the formal technical review. Software reviews are a “quality filter” that been found to be more effective than testing fr fining certain classes of software defects, ‘Myth: The only deliverable work product for a successful project isthe working program, Reality: ' working program is only one elements, Documentation provide ‘uidance for software support. part of a software configuration that includes many s 2 foundation for successful engineering and, more important, Myth: Sotware engineering will make us ‘eate voluminous and unnecessary documentation and willinvariably slow us down, ‘duced rework resis in faster delivery times. Many software Professionals recognize the falcy ofthe myths just desrbed Regrettably, habitual attitudes and and technical practices, ven when reality dictates a better Sproach. Recogritin of software reais isthe fist step toward formulation of practical solutions lor software engineering, 1.6 Software engineering layered technology Sotware Engineering around th = Process > Methods = Tools ~ Quality Focus three layers (elements) Tools —— Se eee Page 8 Software Engineering - 1 Process: The foundation for software engineering is the process layer. Process ; defines a framework for a Key Process Areas (KPAs) that must be established for effective delivery of software engineering technology. The key process areas form the basis for management control of software projects and establish the context in which technical methods are applied, work products (models, documents, data, reports, forms, etc.) are produced, milestones are established, quality is ensured, and change is properly managed. Methods: Software engineering methods provide the technical how-to's for building ‘software. Methods encompass a broad array of tasks that include .n, program construction, testing and support. requirements analysis, de: Software engineering methods rely on a set of basic principles that govern each area of the technology and include modelling activities and other descriptive techniques. Software engineering tools provide automated or semi-automated support for the process and the methods. When tools are integrated so that information created by ‘one tool can be used by another, a system for the support of software development, called computer-aided software engineering, is established. CASE combines software, 0 create a software engineering Tools: hardware, and a software engineering database t environment that is analogous to CAD/CAE for hardware. 1.7. Generic view of Software Engineering The work associated with software engineering can be categorized into three generic phases: ® Definition phase * Development phase > Support phase Definition phase: The definition phase focuses on what. That is, during definition, the software developer attempts to identify «what information is to be processed ? * what function and performance are desired ? » what system behaviour can be expected ? * what interfaces are to be established ? * what design constraints exist ? and © what validation criteria are required to define a successful system ? The key requirements of the system and the software are identified. Although the methods applied during the definition phase will vary depending upon the software engineering paradigm ( or combination of paradigms) that is applied, three major tasks will ‘occur in some form. Development phase: The development phase focuses on how. That is, during development, a software engineer attempts to define, «how data are to be structured? + how function is to be implemented within a software architecture? Prof. Megha D. Rana Page 9 Prepared By: As Software Engineering-! i how procedural details are to be implemented and how testing will be performed? Bs as Support phase: The support phase focuses on change associated with error das the software's environment evolves and correction, adaptations req changes due to enhancements brought about by changing customer requirements Four types of changes are encountered during the support phase: Correction, Even with the best quality assurance activities, itis likely that the customer will uncover defects in the software. in other word, Corrective maintenance changes the software to correct defects. Adaptation. Over time, the original environment (e.g., CPU, operating system, business rules, external product characteristics) for which the software was Software is engineered by applying three distinct phases that focus on definition, development, and support. Adaptive maintenance results in modification to the software to accommodate changes to its external environment. Enhancement. As software is used, the customer/user will recognize additional functions that will provide benefit. Perfective maintenance extends the software beyond its original functional requirements. Prevention. Computer software deteriorates due to change, and because of this, preventive maintenance, often called software reengineering, must be conducted to enable the software to serve the needs of its end users. In essence, Preventive maintenance makes changes to computer programs so that they can 'be more easily corrected, adapted, and enhanced 1.8 Umbrella activities * Software project tracking and control - allows software team to assess progress against project plan and take necessary action to ‘maintain schedule. * Risk management — assess risk that may effect the outcome of the Project or the product quality, * Formal technical reviews — assess software engineering work Products to uncover and remove errars before they are propagated to the next action or activity, * Measurement ~ defines and collects process, project and product measures that assist tea in developing software * Software configuration management ~ manages the effect of change throughout the software process * Reusability management — defines criteria for work product reuse ‘and establishes mechanism to achieve reusable components * Work product preparation and production ~ included work fates required to create work products such as documents, logs, forms and tists. Prepared Bi Prof. Megha D. Rana Page 10 1.9 FOURTH GENERATION TECHNIQUES The term AGT means a broad array of software tools that have one thing in common i.e each enables the software engineer to specify some characteristic of software at a high level. The tool then automatically generates source codes base on the development specification currently the software development environment that support the 4GT parading includes some or all of the following tools. ‘+ _ Non procedural languages for database query. ‘= Report generation, + Screen interaction & definition. Code generation. Graphics - at high level capabilities, spreadsheet capability and automated generation of html and similar languages used for website creation using advanced software tools. For small applications it may be possible to move directly from the requirement gathering steps to implementation using a nonprocedural 4GT but for large efforts itis necessary to develop design strategy for the system. Implementation using a 4GT enables the software developers to represented desired results in a manner that leads to automatic generation of code to create those results. To transform a AGT implementation into a product the developer must conduct through testing or details testing, develop, meaningful documentation and perform all other solution integration activities that are required other software engineering. Parading like all software engineering parading the 4GT model has advantages and disadvantages are correct. AGT tools are not all that much easier to use then programming language and result source code produce by such tools is inefficient and the maintenance of large software system becomes most difficult. There are some advantages for using 4GT. + The use of 4GT is a viable approach for many different applications are as for smaller application itis a better solution to use, Data collected for companies that use 4GT indicate that require to produce software is Quietly reduced and intermediate applications and that the amount of design and analysis. for small application is also reduce. ‘The use of AGT for large software development efforts demands as much or more analysis, design and testing to achieve substantial time saving that reduce for the elimination of coding, 1.10 Effort Distribution ‘recommended distribution of effort across the definition and development phases is often referred to 2s the 40-20-40 rule, Forty percent of all effort is allocated to frontend/analysis and design. A similar percentage is applied to back-end testin i You can correctly infer fi percent of effort) is de-emphasized, a” The software project require some techni re que to complete the software development. Effort Distribution is technique that divides developer’ effort in system 40% ofall efforts allocated to analysis & design, 40% is applied to backend testing, Prepared By: Assit. Prof. Megha D. Rana Page da, Software Engineer ing - 1 ris applied for cod 20%6is applic e analysis & design - Coding Testing sof each project must dictate the dstibution of effort Project plan takes The characteristics 10 - 25% of project effort. The ‘more than 2-3 % of effort, Requirement analysis may comprise fange of 20 t0 25% of effort is normally applied to software design Work expended on project planning rarely accounts for more than 2-3 percent of effort, ntess the plan commits an organization to lage expenditures with high ik. Requirements analysis tay comprise 10-25 percent of project effort. Effort expended on analvsis of prototyping should ‘povosse in direct proportion with project size and complexity. A range of 20 to 25 percent of effort is software design, code should normally applied to software design. Because of the effort applied to Ttow with relatively tle difculty. A range of 15-20 percent of overall effort can Pe achieved. ‘Testng ond subsequent debugging can account for 30~40 percent of software developer effort. The eitiealiy ofthe software often dictates the amount of testing that's required. f software is human rated (ie., software failure can result in oss of life), even higher percentages are typical. 1.11 Software Process Models 1.21.1 The Waterfall Model -the most important aspect ofthe waterfall models that unless a particular stage fs complete, the rae atage cannot be started off with. Here, inthis article, we will ty to understand 2 simple a tah model, broken int six stages Let us try to understand each of these stages one by one. Requirement 1 Analysis Design Coding Prepared Dy: Assit Prof, Megha D. Rana Page 12 Testing s ‘Acceptance Engineering IFig. 1.5: Water fall Model] Requirement Analysis Acceptance Fig. 1.6: Water fall Model with feedback] —_—_—__ loping a software hich can never be : h the problem. Here, ¢ 1; Requirement Phase you are into dev ee ee 2 sal program toad two numbers or You aren TE system forthe automation ofan entire airline company, this the We overridden. Unless you know what you are going to ads rae the specifications of the output or the final product is s be, Ga esee i {how the product should exactly With all the requirements and constraints in hand, a final ve ol GEeaiethieeieee: is decided. The exact way in which the software should function is ment Stage 3: Design Phase : ' oe Here the actual work begins. Every type of resource which will be required for the soo! ig of the software, is mentioned here in this phase. What type of database will be feared wat ine of data should be supported, etc. are some of the important aspects that are Ce ie The algorithm of the process in which the software needs to be designed, is made in this phase algorithm forms the backbone for the actual coding process, that takes place in the next phase. Stage 4: Implementation and Testing Phase : Now starts the coding, Here, the software is coded as per the algorithm. Hence it becomes very important that the algorithm should be properly designed. The software designed, needs to go through constant software testing and error correction processes to find out if there are any flaw or errors. Stage 5: Integration (coding) Phase ere the various codes designed by different programmers are integrated and is tested if the software works as per the specifications provided. The setup of the final software which needs to be installed atthe clients system, is also designed and tested, so that the client does not face any Problem during the installation of the software. The product is then handed over to the client. Stage 6: Implementation and Maintenance Phase fe, Cl of software development does not end with handing the software to the client. Software designers may have to constantly provide support to the client to resolve any issues which may ane: During the maintenance phase, support and debugging is provided for all such problems, ield of software development, 1e most widely used models as Feinga linear mode, itis very simple to implement. 1 The amount of resources required to implement the model are minimal, * Documentation is produced at every stage of the software's devi i elopment. Thi: understanding the product designing Procedure, simpler, ‘pment. This makes Prepared B; Page 14 Software Engineering - + Alter every major stage of software coding, testing is done to check the correct running of the code. Disadvantages The question that must be bothering you now is that with so many advantages at hand, what could bbe the possible disadvantages of the waterfall model? Here are a few: 2) Real projects rarely follow the sequential flow that the model proposes. Changes can cause confusion as the project team proceeds. 2) Its difficult for the customer to state all requirements explicitly at the beginning of the Projects, 3). The water fall model assumes that the requirement should be completely specified before She fest of the development can proceed. In some situation it might be required that free feveloped 9 part ofthe system completely and then later enhance a system where tha client face an important role in requirement specification, 4), The customer must have patience. A working version of program(s) will nt be available until late in the project time span. 5). Development is often delayed unnecessarily. The linear nature ofthe classe life eyele leads to “Blocking state” in which some project team members must wait for ather members of the team to complete dependant tasks. 9) The time spent waiting can exceed the time spent on productive work, So this, in short, was all about waterfall madel advantages and disadvantages. In spite of the cons, the many pros ofthis model ensure that it remains one of the most Popular models used in the field of software development. 1.11.2 The Prototype Model In certain situation, © When customers define a set of general objectives for software, Processing or output requirements, * The developer may be unsure of the efficiency of an algorithm, the adaptability of an ‘operation system, or the form that human-machine interaction should take, but not give detail input, 'm such cases prototyping approach can be used. Tisten To Build revise tustomer C mock up Customer, test drives mock-up [Fig. 1.7 The prototyping model] * The prototyping paradigm begins with requirements gathering. Developer and customer meet and define the overall ‘objectives for the software, identify whatever requirements are known, and outline areas where further definition is compulsory. "A quick design then occurs. It focuses on a representation of those aspects of the foltwore that wil be visible to the customer/user. (e.g. I/P approaches and O/P formats) “The Quick design leads to the construction of prototype. The prototype is evaluated by the customer/user and is used to refine requirements for the software to be developed. “Interaction occurs as the prototype is tuned to satisy the Needs of the customer, at the same time enabling the developer to better understand what needs to be done, Advantages: © Quick, Disadvantages: that in the rush to get it working we haven't consid dered overall soft it long-term maintainability, ree * The developer often makes implementation compromises in ord Prototype working quickly, ler togeta Prepared By: Assit Prat Macka — 1.11.3 The Spiral Model ‘This model does not deal with uncertainly which is inherent fo software projects. Important software projects have failed because project risked were neglected. Each phase of spiral model is begin with design and ends with client's reviewing prowress, Using spiral SDLC mode! , development is start with stall set of requirement and goes through each development phase for those set of requirement, This model is Suitable when the project size is large, requirements are unclear and complex, risk and cost evaluation is important, changes may require any time. Planning Liason Engineering ‘System Evaluation i) Construction & Release Spon maton [srs erncamant [Esisem enveonmert By concent ceva Advantages : Y Validation and verification is done at all internal and external deliverables not just the product. Y Itdevelops the critical high risk functions first. Y It takes frequent feedback from users. Disadvantages + Y It may be costly model for use. ¥ Risk evaluation time is too large for small or low risk project. Y This model is complex. Y For risk assessment, expert required. 1.11.4 RAD (Rapid Application Development) This methodology uses minimal planning in favor of rapid prototyping which perform functionally equivalent to a component of product. RAD is modern technique to understand requirement in better way of project. In RAD) development, each requirement are categorized into individual component and each component build and Dranared Wun Accit Prof Mecha N Rana 7 Software Engineering - I tested in parallel, These development is time boxed. It also provides the working model to customer and stockholder and takes the feedback from them about the. product. In RAD model, any application that is to be developed within a short span of \withia60-90ndays, that'application which Was said for bailAyamT fixie!" 1.00-200 lines of code: for waterfall model it was like whatever might be the size it will follow rative if you want to correct with the previous model, you can, the sequence REQUIREMENT PLANNING \ » USER DESIGN| CONSTRUCTION » fe || Figure 2 PAD Model Pros aa Y It reduces development time. ¥ It moves the focus from documentation to code (WYSIWYG). ¥ In this model, progress can be measured. Disadvant ¥ For identifying business req ‘members ¥ Itrequires highly skilled designers / developers. ¥ Ithas more management complexity. “Highly dependency on modeling skills, rements, it depends on technically strong team Prepared By: Assit. Prof Megha D. Rana

You might also like