Software Engineering. SOFTWARE ENGINEERING.
Unit I Introduction Software Engineering paradigms – Waterfall Life cycle model – Spiral Model – Prototype Model – Fourth Generation Techniques – Planning – Software Project Scheduling, – Risk analysis and management – Requirements and Specification.
Unit 2 Software Design Abstraction – Modularity – Software Architecture – Cohesion – Coupling – Various Design Concepts and notations – Real time and Distributed System Design – Documentation – Dataflow Oriented design – Jackson System development – Designing for reuse – Programming standards – Case Study for Design of any Application Project..
Unit 3 Software Testing And Maintenance Software Testing Fundamentals – Software testing strategies – Black Box Testing – White Box Testing – System Testing – Object Orientation Testing – State based Testing Testing Tools – Test Case Management – Software Maintenance Organization – Maintenance Report – Types of Maintenance.
[Audio] Uniy 4 Software Metrics Scope – Classification of metrics – Measuring Process and Product attributes – Direct and Indirect measures – Cost Estimation Reliability – Software Quality Assurance – Standards – COCOMO model..
[Audio] Unit 5 Scm Need for SCM – Version Control – S-C-M process – Software Configuration Items – Taxonomy – C-A-S-E Repository – Features – Web Engineering.
[Audio] Unit I Introduction: Software is more than just a program code. A program is an executable code, which servers some computational purpose. Software is the collection of computer programs, procedures rules and associated documentation and data. Software is an information transformerproducing, managing, modifying, displaying or transforming information that can simple as a single bit or a complex as a multimedia application..
[Audio] Software Products: Software products may be developed for a particular customer or may be developed for a general market. Software products may be: Generic Bespoke What are the attributes of good software? Maintainability. Dependability Efficiency Usability.
[Audio] What is the difference between software engineering and computer science?.
[Audio] Software Engineering Paradigms: Software Characteristics: Software is developed or engineered, it is not manufactured in the classical sence. Software doesn’t “wear out”. Although the industry is moving towards component based assembly, most software continues to be custom to built..
I'lnfont mortality" g 2 "Wear out' Time hcreased füe rated* to side effects Failure rate change actual curve idealized curve Time.
[Audio] SoftwareApplicationsTypes: SystemSoftware. Real timeSoftware. BusinessSoftware. EngineeringandScientificSoftware. EmbeddedSoftware. PersonalComputerSoftware. Web basedSoftware. ArtificalIntelligenceSoftware..
[Audio] Software Engineering -A layered Technology: Application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software that is, the application of engineering software..
[Audio] What are the five generic process framework activities? The following generic process framework is applicable to the majority of software projects. Communication. Planning. Modeling. Construction. Deployment..
[Audio] Process Models: Every software engineering organization should describe a unique set of framework activities for the software process it adopts. Waterfall Life Cycle Model. Iterative Waterfall Life Cycle Model. Prototyping Model. Incremental Model. Sprial Model. RAD Model. Sprial Model..
[Audio] Waterfall Life Cycle Model. It is called classic life cycle or Linear model. Requirements are well defined and stable. It suggests a systematic, sequential approach to software development. It begins with customer specification of requirements and progresses. Planning. Modeling. Construction and Deployment..
Communicatio Planning Modelling Construction Deployment WaterFall Model.
[Audio] Advantages: Easytounderstand. Eachphasehaswelldefinedinputandoutput. Helpsprojectmangerinproperplanningofproject. Providesatemplatesintowhichmethodsofanalysis,design,codeandsupportcanbeplaced. Disadvantages: Onewaystreet. Itlackoverlappingandinteractionsamongphases. Modeldoesn’tsupportdeliveryofsysteminpieces..
[Audio] Phases of the Classical Waterfall Model:.
[Audio] Feasibility Study: It involves analysis of the problem and collection of allrelevant information relating to the product. The collected data are analysed. – Requriments of the Customer. – Formulations of the different strategies for solving the problem. – Evaluation of different solution strategies. Requriments Analysis and Specification: It is understand the exact requriments of the customer and to document them properly. – Requirements gathering and analysis. – Requirements specification..
[Audio] Design: The deign phase is to transform the requirements specified in the document into a structure that is suitable for implementation in some programming languaage. Traditional Design Approach. Object Oriented Design Approach. Coding and Unit Testing: The purpose mof the coding and unit testing phase of software development is to translate the software design into source code. Integration and System Testing: ‘Integration of different modules is coded and unit tested. 𝛼 − 𝑇𝑒𝑠𝑡𝑖𝑛𝑔 𝛽 − 𝑇𝑒𝑠𝑡𝑖𝑛𝑔 Accsptance Testing..
[Audio] Maintenance: Maintenance of a typical software products requires much more than the effort necessary to develope the product itself. Iterative Waterfall life cycle model: The main changes is done by providing feedback paths from every phase to its preceding phase..
Feasibility study Req. Analysis & specification Design Coding & Unit Testing Integration & System Testing Maintenance 6.
[Audio] PrototypeModel: PrototypingModelisasoftwaredevelopmentmodelinwhichprototypeisbuilt,tested,andreworkeduntilanacceptableprototypeisachieved..
[Audio] Advantages: Clarity. Risk Identification. Good Environment. Take less time to complete. Disadvantages: High cost. Slow process. Too many changes..
[Audio] R-A-D Model: Rapid Application Development(R-A-D--) is an incremental software model that a short development cycle. The R-A-D model is a “high speed” of the waterfall model. The R-A-D process enables a development team to create a fully functional system within a very short time period..
Planning Team *n Modeling Business, data & deling process mo Team 2 Modeling Business, data & deling process mo Team 1 Modeling Business, data & process modeling Construction Components reuse Cade generation Testing Construction Components reuse Cade generation Testing Construction Components reuse Cade generation Testing Deployment Integration Delivery Feedback 60 to 90 days : Flowchart of RAD model.
[Audio] ContentsofRADPakages: Graphicaluserdevelopmentenvironment. ReusableComponents. Codegenerator. ProgrammingLanguage. Advantages: Fastproducts. EfficientDocumentation. Interactionwithuser. Disadvantages: Usermaynotlikefastactivities. Notsuitablefortechnicalrisks..
[Audio] Sprial Model : This Spiral model is a combination of iterative development process model and sequential linear development model in other words the waterfall model with a very high emphasis on risk analysis. The spiral model has four phases: Planning, Design, Construct and Evaluation..
[Audio] Quadrants in sprial model :. Quadrants in sprial model :.
[Audio] Advantages : Risk Identification at early stage. Suitable for high rk projects. Flexibility for adding functionaility. Disadvantages: Costly. Risk dependent. Not suitable for smaller projects. Difficult to meeting budget..
[Audio] Win Win Sprial Model: The customer wins by getting the system satisfying most of thier requirements and developers winsby working on achievable budgets and deadlines. Advantages: Lieghtweight methods suit small medium size project. Produces good team. Test based approach to requirements and quality assurance Diadvantages: Programming pairs is costly. Difficult to scale up to large projects where documentation..
1. 2 Ickntify next-level Stakehol&rs 5. Ickltify StakelX)lders' win conditiom rext lewl of product md p•ocess - imluding partitiom 3. 4. 7. connitnert 6. Validate prcxlwt process ckfiniticns Recoæik vvin coruliti01E Establish IEXt level (bjectives, comtraints, altenutiws Evaltnte p•odtet p•ocess altenutives. Resolve Risks.
[Audio] FourthGenerationTechniques: Introduction: Thetoolsinautomaticallygenerateourcecodebasedonthedevelopersspecification. Softwaredevelopmentenvironmentthatsupportsthe4GTparadigmincludessomeorallofthefollowingtools: 1)Non procedurallanguagesfordatabasequery 2)Reportgeneration 3)Datamanipulation 4)Screeninteractionanddefinition 5)CodegenerationandHigh levelgraphicscapability 6)Spreadsheetcapability 7)AutomatedgenerationofHTMLandsimilarlanguagesusedforWeb sitecreationusingadvancedsoftwaretools..
[Audio] Advantages: Reduction in software development. Improved productivity of software engineers. 4GT helped by C-A-S-E tools and code generators. Disadvantages: Some 4GT are not at all easier than programming languages. Generated source code are sometimes inefficient. Time is reduced for only small and medium projects..
[Audio] Planning: Software planning process include steps to estimate the size of the software work products and the resources needed produces a schedule identify and access software risks. During planning a project is split into several activities : How much efforts is required to complete each activities? How much calender time is needed? How much will the completed activity cost?.
[Audio] Planning Objectives: Understand the scope of the problem. Make use of past historical data. Estimate effort or function or size. Define a project schedule. Characteristics of software project planning: Scope. Resource. Time. Quality. Risk..
ist Time Scope Resource Quality Risk CWflijt Colw Comtång 2001-2006.
[Audio] ProjectPlan: Thebiggestsingleproblemthatafflictssoftwaredevelopingisthatofunderestimatingresourcesrequiredforaproject. Accordingtotheprojectmanagementbodyofknowledge. AccordingtoPRINCE(PRojectsIN ControlledEnvironments). PlanningProcessProject ClusterProject Plan.
[Audio] Types of Project Plan: Software development plan. Quality Assurance Plan. Validation Plan. Configuration Management Plan. Maintenance Plan. Staff development plan. Structure of a software project management plan: Project summary. Project planning..
[Audio] Major issues in planning a software project: Software requiremments are frequently incorrect and incomplete. Planning schedule and cost are not updated and are based on marketing needs, not system requirements. Cost and schedule are not re estimated when requirements or development environment change..
[Audio] Software Project Scheduling: Introduction: Software project scheduling is an distributes estimated effort across the planned project. Project schedulinginvolves seperating the total work involved in a project in seperate activities and judging the time required to complete the activities..
Identifies Acthities Idenüfy Possible Dependencies Assign Estimate People to Resources Conduct Activities Create Activitv Network and Bar Charts Project Scheduling Process.
[Audio] Basicprinciplesofsoftwareprojectscheduling: Compartmentalization. Interdependency. TimeAllocation. EffortValidation. DefinedResponsibilities. Definedoutcomes. DefinedMilestones..
[Audio] Relationship between people and effort: The P-N-R curve provides an indication of the relationship between effort applied and delivery time for a software project..
[Audio] Effort Distribution: A recommended distribution of effort the software process is often referred to as the 4020-40 rule. Defining a task set for the software project: A task set is a collection of software engineering work tasks, milestones, and work products that must be acomplished to complete a particular project. Concept Development projects. New application development projects. Application enhancement projects. Application maintenance projects. Re Engineering projects..
[Audio] Example of a task set: Concept Scoping: It determines the overall scope of the project. Preliminary concept planning: It establishes the organization ability to undertake the work implied by the project scope. Technology Risk Assessment: It evaluates the risk associated with the technology to be implemented as part of project scope. Concept Implementation: It implement the concept representation in a manner that can be reviewed by a customer and is used marketing purposes..
[Audio] Customer Reaction: Customer reaction to the concept feedback on a new technology concept and target specific customer applications. Scheduling Techniques: Scheduling of a software project does not differ greatly from scheduling of any multitask engineering effort. Work Breakdown Structure(W-B-S--). Activity Charts. Project Evaluation Review Techniques(P-E-R-T-). Grant Charts. Critical Path Method(C-P-M--)..
[Audio] Work Breakdown Structure(W-B-S--): A Work Breakdown Structure is a hierarcical decomposition or breakdown of a project or major activity into successive levels. Project Design Testing Testing Imple menta tion Data Design Design Site Module Testing UI Design Data Design.
[Audio] Features of W-B-S-: Structure. Description. Coding. Depth. Level of Detail. Activity Charts : Representation of W-B-S-: Network of boxes and arrows. Shows different tasks making up a project. Represents the ordering among the tasks..