0% found this document useful (0 votes)
231 views61 pages

Software Engineering Fundamental

Uploaded by

Akilesh
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)
231 views61 pages

Software Engineering Fundamental

Uploaded by

Akilesh
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/ 61
Yes Pinky! My project leader Hey Tom!! Why do you ann has assigned me a task. Can look worried? aD you help me?? | don’t know TEKNOTURF “how to proceed. ™N | there is a requirement for developing a ‘matrimonial website, where users from anywhere can register themselves and also find the right match. What is the task Tom? That sounds interesting Tom! But Pinky how do | develop an efficient solution? Can you suggest me some ideas? Will that solve my problem? Can | apply those concepts when | develop the project? Tom it is important to havea good understanding about software engineering. Of course Tom! You will appreciate it as we proceed with the session. mn» © scanned with OKEN Scanner In this module you will learn * Process + Software Development Life Cycle * Waterfall model + Vmodel * Prototype model * RAD * Spiral Model * ETVX TEKNOTURF © scanned with OKEN Scanner — Terms | TEKNOTURF + Acomputer program is a sequence of instructions written to perform a specified task in a computer * Asoftware is a set of programs, procedures and its documentation concerned with the operation of a data processing system * AProcess is a series of definable, repeatable, and measurable tasks Software Process leading to a useful result © scanned with OKEN Scanner Software Development aD TEKNOTURF Ad-hoc Software Development (till 1960's) * The Software was developed on a Trial & Error basis * No Specific Process was followed during the development of the Product * Defects were detected only after the product was delivered to the external Users © scanned with OKEN Scanner Terms TEKNOTURF Software Engineering is defined as * Software engineering is the application of a systematic, disciplined, quantifiable approach to the design, development, operation, and maintenance of software * Anestablishment and use of sound engineering principles in order to obtain an economical software that is reliable and works efficiently on real machines © scanned with OKEN Scanner Software Crisis mp TeKNOTURE Software fails to meet the user requirements Software crashes frequently 7 Development of Software became expensive Difficult to alter, debug, and enhance the software Software was often delivered late Software used resources non-optimally © scanned with OKEN Scanner TEKNOTURF How to make Process coffee. What are the steps?? PROCESS A Process is a series of definable, repeatable, and measurable tasks leading to a useful result. © scanned with OKEN Scanner Software Development Process Software Development process voves transformation of user needs into an effective software solution. © scanned with OKEN Scanner SDLC mp ‘TEKNOTURF Software Development Life Cycle is the process used in a project to develop a software product It describes how the development activities are performed and how the development phases follow each other © scanned with OKEN Scanner Software Development Life Cycle TEKNOTURF The Software t Development SS \ Lifecycle (SDLC) © Scanned with OKEN Scanner Phases in SDLC TEKNOTURF © scanned with OKEN Scanner TEKNOTURF ysis The goal of the system analysis is to define the requirements of the system Requirement gathering requires client as well as the service provider to get the detailed and accurate requirements SRS(Software Requirement Specification) is the primary artifact of Analysis phase © scanned with OxEN Scanner Activities in Analysis Phase a TEKHOTURF | Requirements gathering and analysis | Preparing Requirements Specification(SRS) | © scanned with OKEN Scanner besi ane esign TEKNOTURF Software design deals with transforming the customer requirements into a set of documents that is suitable for implementation in a programming language It is the process of defining the architecture, interface, component and other characteristics of a system The design stage takes the requirements identified in the approved requirements document (SRS) as its initial input © scanned with OKEN Scanner Levels of a Design Decompose the entire project into units / modules and identify the system architecture, data structure and processing logic © DD(Design Document)=HLD + LLD High Level Design | Low Level Design © scanned with OKEN Scanner Construction(Code + Unit Testing) a ‘TEKNOTURF Modular and subsystem programming code will be accomplished during this stage Vr Unit testing /module testing is done in this stage by the developers jab “i This stage produces the source code, executable, and databases applicable © scanned with OKEN Scanner —=== TERNOTURF Testing is the process of executing the program with the intent of finding. errors Software testing is a process of verifying and validating that a software application or program meets the business and technical requirements Levels of Testing + Unit Testing * Integration Testing + system Testing * Acceptance Testing © scanned with OKEN Scanner TEKNOTURF Verification * Confirms that the software meets its technical specifications J * Confirms that the software meets the business requirements ) * Variance between the expected and actual result | © scanned with OKEN Scanner _ Verification, Validation and Defect Finding a » Client Requirements Specification © Scanned with OKEN Scanner TEKNOTURF Levels of Testing (© scanned with OKEN Scanner Maintenance | My house is leaking. It’s a TEKNOTURF 5 year old house. | thinkit is time to do patch work, © scanned with OKEN Scanner Maintenance Changes or enhancements happen everywhere, Software is no exemption. Any change that is made to the software after it is deployed is known as maintenance. © scanned with OKEN Scanner Software Development Life Cycle Models TEKNOTURF © scanned with OKEN Scanner Waterfall Model Requirements This model was proposed by Winston Royce in 1970 Each phase has a well defined start and end point, with identifiable deliverables to the next phase he principle of this © Scanned with OKEN Scanner Advantages of Waterfall Model mm TEKNOTURF * Simple and easy to use. + Easyto manage due to the rigidity of the model — each phase has specific deliverables and a review process * Phases are processed and completed one at atime Works well for smaller projects where requirements are very well understood Linear approach Equivalent importance to all the phases Contract Related issues can be addressed effectively © scanned with OKEN Scanner Limitations of Waterfall Model nm TEKNOTURF * This model is suitable if the requirements are well-defined and stable + User gets a feel of the system only at the later stages of development + Backtracking cost is high in case of a problem + Systems must be defined up front + Rigidity + Increased development of time and cost } + Hard to estimate costs & project overruns } © scanned with OKEN Scanner Waterfall Model TEKNOTURF * Software requirements are clearly defined and known * Product definition is stable » Software development technologies and tools are well known * New version of the existing software system is created © Scanned with OKEN Scanner V-Model a TEKHOTURF Verification and Validation Model commonly known as V-Model evolved from waterfall Model Each phase must be completed before the next phase begins Testing is emphasized in this model more than in the waterfall model It isa structured approach to testing E. is done from the earlier stage thereby bringing high quality into the development of our products © scanned with OKEN Scanner V-Model am TEKNOTURF Requirement Acceptance Gathering Testing System ‘System Analysis Testing Software Integration Design Testing Module 4... Unit S i SS ‘ 2 Design Testing > x Coding © scanned with OKEN Scanner Advantages of V-Model Validation and Verification at each level of the stage containment ‘tage containment mechanism Avoids the downward flow of defect Lower defect Resolution cost due to earlier detection Allows testers to be active from the initial state of the project life cycle © scanned with OKEN Scanner Limitations of V-Model Least flexible Backtracking cost is high in case of a problem. Increased development time and cost Hard to estimate costs & project overruns TEKNOTURF © scanned with OKEN Scanner Prototype Model ap TEKNOTURF Creates prototypes, which is an incomplete version of the software program being developed. Simulates only few aspects of the features of the Py System to be built ‘Actua! Car Prototype Car © Scanned with OKEN Scanner Prototype Model Prototyping can also be used by the end users to describe and prove g requirements that the developers have not considered. TEKNOTURF When the user is satisfied, the prototype code is brought up to the standards needed for the final product. © Scanned with OKEN Scanner Prototype Model a? TEKNOTURF Identify basic requirements Develop Initial Prototype The process of prototyping involves the following steps Review Revise and Enhance the Prototype © scanned with OKEN Scanner Prototype Model TEKHOTURF What are the types of prototypes? * Throw away * Evolutionary © scanned with OKEN Scanner Throw away Prototype Model a This prototyping model is a ‘quick and dirty’ approach involving - Quick requirements assessment, analysis, design Focuses on rapid construction ‘Ad-hoc development approach Discards prototype after the objective is met © Scanned with OKEN Scanner Throw away prototyping-Steps | TERNOTURE ‘ite preliminary requirements , User experiences/uses the prototype, specifies new requirements. |nepi Construction n> © Scanned with OKEN Scanner Evolutionary Prototype Model Requirements are prioritized and the code is developed initially for stable requirements, with an eye on quality Build the software incrementally » i ZZ Iterative mode! © Scanned with OKEN Scanner Advantages of Prototype Model a Reduced Time and Cost Active user involvement Client gets the feel of the product early in the project life cycle. Steady, visible signs of progress produced. Interaction with the prototype stimulates awareness of additional needed functionality. © scanned with OKEN Scanner Limitations of Prototype Model User might get confused with the prototype model and the finished product Documentation is absent TEKNOTURF Expense of implementing the prototype is high, thereby affecting the development costs Developer’s attachment to the prototype © scanned with OKEN Scanner When to use Prototype Model? a’ ‘TEKNOTURF When requirements When requirements are unclear, use | are unstable, use "Throwaway "Evolutionary Prototype Model" Prototype Model" Pore © scanned with OKEN Scanner Rapid Application Development mn ‘TEKNOTURF [rao is a high speed version of the linear sequential model | [ome acterized by a very short development life cycle j The RAD model follows a component based approach © scanned with OKEN Scanner Traditional vs RAD a TEKNOTURF TRADITIONAL RAD © scanned with OKEN Scanner ANALYSIS AND. ~ prororver QUICK DESIGN cyetrs - % 6 Rapid Application Development phases ‘TEKNOTURF Business modelling Data modelling Process modelling Application generation Testing and turnover © Scanned with OKEN Scanner Advantages and Limitations of RAD ap? ‘TEKNOTURF * Due to the emphasis on rapid development, it results in the delivery of a fully functional project in short period. * Facilitates Parallel Development. * Developers and clients must be committed to rapid-fire activities in an abbreviated time frame. * If either party is indifferent in needs of other, the project will run into serious problem. * It is not suitable for large projects. © Scanned with OKEN Scanner When to use RAD? mn TEKNOTURF © Scanned with OKEN Scanner Incremental Model aD TEKNOTURF © Scanned with OKEN Scanner Advantages of Incremental Model ap TEKHOTURF Uses "divide and conquer" breakdown of tasks High-risk or major functions are addressed in the first increment cycles Each release delivers an operational product Customer can respond to each build Customers get important functionality early © Scanned with OKEN Scanner Limitations of Incremental Model <= rewnoTuer Q Requires early definition of a complete and >> fully functional system to allow for the A defit In of increments / = good planning and design as basis for the system . = of a well-defined module interface is a major obstacle for this model of development © scanned with OKEN Scanner When to use Incremental Model? the requirements are yn up-front but are (© scanned with OKEN Scanner Spiral Model ‘TEKNOTURF Proposed by Barry Boehm in 1986 Diagrammatic representation of this model appears like a spiral with many loops Suitable for technically challenging software products that are prone to several kinds of risks Accommodates prototyping. This model combines the features of the prototyping model and the waterfall model It is favoured for large, expensive, and complicated models Suggested for High-Risk Scenarios based projects © scanned with OKEN Scanner Spiral Model Advantages of Spiral Model aD TEKHOTURF Provides early ion risk. lf Critical high-risk functions are developed first. © Scanned with OKEN Scanner Limitations of Spiral Model TEKNOTURF Time spent for evaluating risks are too large for small or low-risk projects and may not prove cost-worthy. Time spent on planning, resetting Relies on Risk objectives, doing peceserientl risk analysis and prototyping may be excessive. expertise. © scanned with OKEN Scanner When to use Spiral Model? a ‘TEKNOTURF (© scanned with OKEN Scanner TTEKNOTURF Process Representation Technique — ETVX Model IBM introduced the ETVX model to document their process. Each phase in a process performs a well-defined task and generally produces an output. Outputs © scanned with OKEN Scanner Task | Validation | | Exit ETVX Model Example Entry TEKNOTURF Hall Ticket Task * Show Hall Ticket Get Question Paper ¢Get Answer Sheet Write Answer for Respective questions Verification Verify whether questions are written for appropriate questions Review the answers written Exit Submission of the answer sheet to the invigilator © scanned with OKEN Scanner ETVX Model Example for Analysis Phase Entry Feasibility Report Task * Collect requirement * Analyze requirement * Write SRS Verification * Review SRS Exit ° SRS TEKNOTURF © scanned with OKEN Scanner Summary ap? TEKNOTURE + Process + Software Development Life Cycle * Waterfall model + Vmodel * Prototype model * RAD + Spiral Model + ETVX © scanned with OKEN Scanner

You might also like