1 SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1
2 2 Process What is it? A series of predictable steps A road map that helps you create for timely, high quality result.» A software process is a framework for the tasks that are required to build high quality software Who does it? Software Engineers, Project Managers and Customers Why is it important? It provides stability, control, and organization to an activity that can, if left uncontrolled, become quite chaotic. What are the steps? The process that you adopt depends on the software you re building. What is the work product? The work products are the programs, documents, and data produced as a consequence of the software engineering activities defined by the process.
3 School of Computing, Department of IT 3 Process How do I ensure that I ve done it right? The quality, timeliness, and long term viability of the product you build are the best indicators of the efficacy of the process that you use. A number of software process assessment mechanisms enable organizations to determine the maturity of a software process. Is process synonymous with software engineering? A software process defines the approach that is taken as software is engineered. But software engineering also encompasses technologies that populate the process technical methods and automated tools. Software engineering is performed by creative, knowledgeable people who should work within a defined and mature software process that is appropriate for the products they build and the demands of their marketplace. Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software
4 School of Computing, Department of IT 4 Challenges faced by Software Engineers What sound engineering principles can be applied to computer software development? How do we economically build software so that it is reliable? What is required to create computer programs that work efficiently on not one but many different real machines?
5 School of Computing, Department of IT 5 Software Engineering Layered Technology
6 School of Computing, Department of IT 6 Software Engineering Layered Technology The bedrock that supports software engineering is a quality focus. The foundation for software engineering is the process layer. Process defines a framework for a set of key process areas (KPAs) that must be established for effective delivery of software engineering technology. Software engineering methods provide the technical how to's for building software. Methods encompass a broad array of tasks that include requirements analysis, design, program construction, testing, and support. Software engineering methods rely on a set of basic principles that govern each area of the technology and include modeling activities and other descriptive techniques. Software engineering tools provide automated or semi automated support for the process and the methods. Computer aided software engineering (CASE) is the scientific application of a set of tools and methods to a software system which is meant to result in high quality, defect free, and maintainable software products. CASE tools are a class of software that automate many of the activities involved in various life cycle phases. Automated tools can be used collectively or individually.
7 A generic View of Software Engineering School of Computing, Department of IT 7 The work associated with software engineering can be categorized into three generic phases, regardless of application area, project size, or complexity. Definition Phase Definition phase Development Phase Support Phase The definition phase focuses on what The key requirements of the system and the software are identified.» what information is to be processed» what function and performance are desired» what system behavior can be expected» what interfaces are to be established» what design constraints exist» what validation criteria are required to define a successful system. Three major tasks will occur : system or information engineering, software project planning and requirements analysis
8 School of Computing, Department of IT 8 A generic View of Software Engineering Development Phase The development phase focuses on how. How data are to be structured How function is to be implemented within a software architecture, How procedural details are to be implemented How interfaces are to be characterized How the design will be translated into a programming language and how testing will be performed. Three specific technical tasks will always occur in this phase: software design, code generation and software testing
9 School of Computing, Department of IT 9 A generic View of Software Engineering Support phase Focuses on change Reapplies the steps of the definition and development phases but does so in the context of existing software. Four types of change are encountered during the support phase: Correction Even with the best quality assurance activities, it is likely that the customer will uncover defects in the software. 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 developed is likely to change. Adaptive maintenance results in modification to the software to accommodate changes to its external environment.
10 School of Computing, Department of IT 10 A generic View of Software Engineering 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. Preventive maintenance makes changes to computer programs so that they can be more easily corrected, adapted, and enhanced.
11 School of Computing, Department of IT 11 A generic View of Software Engineering The phases and related steps described in our generic view of software engineering are complemented by a number of umbrella activities. Typical activities in this category include: Software project tracking and control Formal technical reviews Software quality assurance Software configuration management Document preparation and production Reusability management Measurement Risk management Umbrella activities are applied throughout the software process and are
12 School of Computing, Department of IT 12 Capability Maturity Model SEI To determine an organization s current state of process maturity, the SEI uses an assessment that results in a five point grading scheme. The grading scheme determines compliance with a capability maturity model (CMM) that defines key activities required at different levels of process maturity. Level 1: Initial. The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends on individual effort. Level 2: Repeatable. Basic project management processes are established to track cost, schedule, and functionality. The necessary process discipline is in place to repeat earlier successes on projects with similar applications. Level 3: Defined. The software process for both management and engineering activities is documented, standardized, and integrated into an organization wide software process. All projects use a documented and approved version of the organization's process for developing and supporting software. This level includes all characteristics defined for level 2. Level 4: Managed. Detailed measures of the software process and product quality are collected. Both the software process and products are quantitatively understood and controlled using detailed measures. This level includes all characteristics defined for level 3. Level 5: Optimizing. Continuous process improvement is enabled by quantitative feedback from the process and from testing innovative ideas and technologies. This level includes all characteristics defined for level 4.
13 School of Computing, Department of IT 13 KPA The SEI has associated key process areas (KPAs) with each of the maturity levels. The KPAs describe those software engineering functions (e.g., software project planning, requirements management) that must be present to satisfy good practice at a particular level. Each KPA is described by identifying the following characteristics: Goals the overall objectives Commitments requirements Abilities those things that must be in place (organizationally and technically) to enable the organization to meet the commitments. Activities the specific tasks required to achieve the KPA function. Methods for monitoring implementation the manner in which the activities are monitored as they are put into place. Methods for verifying implementation the manner in which proper practice for the KPA can be verified.
14 School of Computing, Department of IT 14 The following KPAs should be achieved at each process maturity level: Process maturity level 2 Software configuration management Software quality assurance Software subcontract management Software project tracking and oversight Software project planning Requirements management Process maturity level 3 Peer reviews Intergroup coordination Software product engineering Integrated software management Training program Organization process definition Organization process focus Process maturity level 4 Software quality management Quantitative process management Process maturity level 5 Process change management Technology change management Defect prevention
15 School of Computing, Department of IT 15 Software Process Model All software development can be characterized as a problem solving loop in which four distinct stages are encountered: Status quo : Represents the current state of affairs Problem definition : Identifies the specific problem to be solved Technical development : Solves the problem through the application of some technology Solution integration : Delivers the results
16 School of Computing, Department of IT 16 THE LINEAR SEQUENTIAL MODEL
17 17 Water Fall Model Benefits: The main benefit of this methodology is its simplistic, systematic and orthodox approach. Adopts a top down approach. You move on to the next step only after you have completed the present step. Limitations: There is no scope for jumping backward or forward or performing two steps simultaneously. It has many shortcomings since bugs and errors in the code are not discovered until and unless the testing stage is reached. This can often lead to wastage of time, money and valuable resources.
18 18 THE PROTOTYPING MODEL Requirements gathering Quick Design Prototype is constructed Prototype is evaluated by the customer/user The prototype can serve as "the first system.
19 School of Computing, Department of IT 19 Limitations Software quality or long term maintainability is not considered The developer often makes implementation compromises in order to get a prototype working quickly. The customer and developer must both agree that the prototype is built to serve as a mechanism for defining requirements. It is then discarded (at least in part) and the actual software is engineered with an eye toward quality and maintainability.
20 School of Computing, Department of IT 20 RAD Model
21 School of Computing, Department of IT 21 RAD (Rapid application development ) Incremental software development process model that emphasizes an extremely short development cycle. High speed adaptation of the linear sequential model in which rapid development is achieved by using componentbased construction. Suitable if a business application can be modularized in a way that enables each major function to be completed in less than three months Each major function can be addressed by a separate RAD team and then integrated to form a whole.
22 School of Computing, Department of IT 22 Limitations Requires sufficient human resources to create the right number of RAD teams. Requires developers and customers who are committed to the rapid fire activities necessary to get a system complete in a much abbreviated time frame. Not all types of applications are appropriate for RAD. It is not appropriate when technical risks are high
23 School of Computing, Department of IT 23 Evolutionary Software Process Model Evolutionary models are iterative. They are characterized in a manner that enables software engineers to develop increasingly more complete versions of the software. Incremental Model Spiral Model Concurrent Development Model
24 School of Computing, Department of IT 24 Incremental Model Combines elements of the linear sequential model (applied repetitively) with the iterative philosophy of prototyping. Applies linear sequences in a staggered fashion as calendar time progresses. Each linear sequence produces a deliverable increment of the software When an incremental model is used, the first increment is often a core product. The core product is used by the customer. As a result of use and/or evaluation, a plan is developed for the next increment. The plan addresses the modification of the core product to better meet the needs of the customer and the delivery of additional features and functionality. This process is repeated following the delivery of each increment, until the complete product is produced.
25 School of Computing, Department of IT 25 Incremental Model
26 School of Computing, Department of IT 26 Incremental Model Benefits An operational product is delivered in every increment Useful in cases where staffing is unavailable to meet the target dates Technical risks can managed better
27 School of Computing, Department of IT 27 Spiral Model Software is developed in a series of incremental releases During early iterations incremental release might be a prototype. During later iterations, increasingly more complete versions of the engineered system are produced. A spiral model is divided into a number of framework activities, also called task regions Customer communication Planning Risk analysis Engineering Construction and release Customer evaluation
28 School of Computing, Department of IT 28 Spiral Model Customer communication Tasks required to establish effective communication between developer and customer. Planning Tasks required to define resources, timelines, and other project related information. Risk analysis Tasks required to assess both technical and management risks. Engineering Tasks required to build one or more representations of the application. Construction and release Tasks required to construct, test, install, and provide user support (e.g., documentation and training). Customer evaluation Tasks required to obtain customer feedback based on evaluation of the software representations created during the engineering stage and implemented during the installation stage.
29 School of Computing, Department of IT 29 Spiral Model
30 School of Computing, Department of 30 Spiral Model
31 School of Computing, Department of IT 31 Spiral Model The software engineering team moves around the spiral in a clockwise direction, beginning at the center. The spiral model combines the idea of iterative development (prototyping) with the systematic, controlled aspects of the waterfall model. It allows for incremental releases of the product, or incremental refinement through each time around the spiral. In addition, the spiral model also explicitly includes risk management within software development. Identifying major risks, both technical and managerial, and determining how to lessen the risk helps keep the software development process under control. At each iteration around the cycle, the products are extensions of an earlier product. Documents are produced when they are required, and the content reflects the information necessary at that point in the process
32 School of Computing, Department of IT 32 Spiral Model Starting at the center, each turn around the spiral goes through several task regions The software engineering team moves around the spiral in a clockwise direction, beginning at the center. The first circuit around the spiral might result in the development of a product specification; Subsequent passes around the spiral might be used to develop a prototype and then progressively more sophisticated versions of the software. (e.g) Each pass through the planning region results in adjustments to the project plan. Cost and schedule are adjusted based on feedback derived from customer evaluation. In addition, the project manager adjusts the planned number of iterations required to complete the software.
33 School of Computing, Department of IT 33 Spiral Model Benefits The developer and customer better understand and react to risks at each evolutionary level It maintains the systematic stepwise approach suggested by the classic life cycle but incorporates it into an iterative framework that more realistically reflects the real world. Limitation It may be difficult to convince customers (particularly in contract situations) that the evolutionary approach is controllable
34 School of Computing, Department of 34 The Concurrent Development Model The concurrent process model can be represented schematically as a series of major technical activities, tasks, and their associated states. All activities exist concurrently but reside in different states. The concurrent process model defines a series of events that will trigger transitions from state to state for each of the software engineering activities. Example : Iteration Activity State First Customer Communication Completed Analysis None Second Analysis Under Development Third Analysis Awaiting changes
35 School of Computing, Department of 35 Concurrent Development Model
36 School of Computing, Department of 36 Component Based Development The component based development (CBD) model incorporates many of the characteristics of the spiral model. The engineering activity begins with the identification of candidate classes. This is accomplished by examining the data and the algorithms Classes created in past software engineering projects are stored in a class library or repository. Once candidate classes are identified, the class library is searched to determine if these classes already exist. If they do, they are extracted from the library and reused. If a candidate class does not reside in the library, it is engineered using object oriented methods The first iteration of the application to be built is then composed, using classes extracted from the library and any new classes built to meet the unique needs of the application. Process flow then returns to the spiral and will ultimately re enter the component assembly iteration during subsequent passes through the engineering activity.
37 School of Computing, Department of 37 Component Based Development The unified software development process is representative of a number of component based development models that have been proposed in the industry. Using the Unified Modeling Language (UML), the unified process defines the components that will be used to build the system and the interfaces that will connect the components. Using a combination of iterative and incremental development, the unified process defines the function of the system by applying a scenario based approach (from the user point of view). It then couples function with an architectural framework that identifies the form the software will take.
38 School of Computing, Department of 38 THE FORMAL METHODS MODEL The formal methods model encompasses a set of activities that leads to formal mathematical specification of computer software. Formal methods enable a software engineer to specify, develop, and verify a computer based system by applying a rigorous, mathematical notation. Used mainly for safety critical software (e.g., developers of aircraft avionics and medical devices) Limitations 1. The development of formal models is currently quite time consuming and expensive. 2. Because few software developers have the necessary background to apply formal methods, extensive training is required. 3. It is difficult to use the models as a communication mechanism for technically unsophisticated customers.
39 School of Computing, Department of 39 Fourth Generation Technique The term fourth generation techniques (4GT) encompasses a broad array of software tools The software engineer specifies some characteristic of software at a high level. The tool then automatically generates source code based on the developer's specification. The 4GT paradigm for software engineering focuses on the ability to specify software using specialized language forms or a graphic notation that describes the problem to be solved in terms that the customer can understand.
40 School of Computing, Department of 40 4GT A software development environment that supports the 4GT paradigm includes report generation, data manipulation, screen interaction and definition, code generation; high level graphics capability; spreadsheet capability, and automated generation of HTML Implementation using a 4GL enables the software developer to represent desired results in a manner that leads to automatic generation of code to create those results. To transform a 4GT implementation into a product, the developer must conduct thorough testing, develop meaningful documentation, and perform all other solution integration activities that are required in other software engineering paradigms. The use of 4GT is a viable approach for many different application areas. Coupled with computer aided software engineering tools and code generators,4gt offers a credible solution to many software problems.
41 School of Computing, 41 Software Project Management
42 School of Computing, Department of 42 Software Project Management Effective software project management focuses on the four P s: people, product, process, and project. People Software Engineering Institute has developed a people management capability maturity model (PM CMM) The people management maturity model defines the following key practice areas for software people: Recruiting, selection, performance management, training, compensation, career development, organization and work design, and team/culture development.
43 Software Project Management Product The software developer and customer must meet to define product objectives and scope Objectives identify the overall goals for the product (from the customer s point of view) without considering how these goals will be achieved. Scope identifies the primary data, functions and behaviors that characterize the product, and more important, attempts to bound these characteristics in a quantitative manner School of Computing, Department of 43
44 School of Computing, Department of 44 Software Project Management Process A software process provides the framework from which a comprehensive plan for software development can be established. A small number of framework activities are applicable to all software projects, regardless of their size or complexity. Finally, umbrella activities such as software quality assurance, software configuration management and measurement overlay the process model.
45 School of Computing, Department of 45 Software Project Management Project We conduct planned and controlled software projects for one primary reason it is the only known way to manage complexity. In order to avoid project failure, a software project manager and the software engineers who build the product Must avoid a set of common warning signs Understand the critical success factors that lead to good project management Develop a commonsense approach for planning, monitoring and controlling the project
46 School of Computing, Department of 46 Generic Team Organizations The best team structure depends on Management styles of your organization Number of people and their skill levels Overall Problem complexity Mantei suggests three generic team organizations: Democratic decentralized (DD) Controlled decentralized (CD) Controlled Centralized (CC)
47 Democratic decentralized (DD) Controlled decentralized (CD) Controlled Centralized (CC) No Permananet Leader.Task coordinators are appointed for short durations and then replaced by others who may coordinate different tasks Decisions on problems and approach are made by group consensus Communication among team members is horizontal Has a defined leader who coordinates specific tasks and secondary leaders that have responsibility for subtasks Problem solving remains a group activity, but implementation of solutions is partitioned among subgroups by the team leader. Communication among subgroups and individuals is horizontal. Vertical communication along the control hierarchy also occurs. Internal team coordination are managed by a team leader. Top level Problem solving is managed by the team leader Communication between the leader and team members is vertical Best for difficult problems Can be successfully applied to simple problems Can be successfully applied to simple problems Require more time to complete a project Result in high morale and job satisfaction and are therefore good for teams that will be together for a long time. School of Computing, Department of Require comparitively lesser time to complete a project Prone to conflicts which might bring down team morale Require comparitively lesser time to complete a project Prone to conflicts which might bring down team morale 47
48 School of Computing, Department of 48 Melding the Product and the Process Project planning begins with the melding of the product and the process. Each function to be engineered by the software team must pass through the set of framework activities that have been defined for a software organization. Assume that the organization has adopted the following set of framework activities. The team members who work on a product function will apply each of the framework activities to it : Customer communication Planning Risk analysis Engineering Construction and release Customer evaluation
49 School of Computing, Department of 49
50 School of Computing, Department of 50 THE W5HH PRINCIPLE Series of questions that lead to a definition of key project characteristics and the resultant project plan Why is the system being developed? What will be done, by when? Who is responsible for a function? Where are they organizationally located? How will the job be done technically and managerially? How much of each resource is needed?
51 School of Computing, 51 Process Metrics and Software Process Improvement
52 School of Computing, Department of 52 Product Vs Process Process is essential to the creation of the product. Process is a fundamental tool for carrying out community consensus, and for allowing a very large number of people to work together on a collaborative project. A creative software professional should also derive as much satisfaction from the process as the end product.
53 Software Process and Project Metrics Metrics A quantitative measure of the degree to which a system, component, or process possesses a given attribute. Indicator An indicator is a metric or combination of metrics that provide insight into the software process, a software project, or the product itself. The metric provides the manager with insight and insight leads to informed decision making. School of Computing, Department of 53
54 School of Computing, Department of 54 Indicators Process Indicators Process indicators enable a software engineering organization to gain insight into the efficacy of an existing process They enable managers and practitioners to assess what works and what doesn t. Process metrics are collected across all projects and over long periods of time. Their intent is to provide indicators that lead to long term software process improvement.
55 School of Computing, Department of 55 Indicators Project Indicators Enables a software project manager to Assess the status of an ongoing project Track potential risks Uncover problem areas before they go critical Adjust work flow or tasks Evaluate the project team s ability to control quality of software work products.
56 School of Computing, Department of 56 Process and Project Metrics
57 School of Computing, Department of 57 Process Metrics Based on the outcomes that can be derived from the process Measures of errors uncovered before release Defects reported by end users Productivity Calendar time expended Schedule conformance By measuring the characteristics of specific software engineering tasks Effort and time spent performing the umbrella activities Generic software engineering activities
58 School of Computing, Department of 58 Statistical Software Process Improvement (SSPI) SSPI uses software failure analysis to collect information about all errors and defects encountered Failure analysis works in the following manner: 1. All errors and defects are categorized by origin (e.g., flaw in specification, flaw in logic, nonconformance to standards). 2. The cost to correct each error and defect is recorded 3. The number of errors and defects in each category is counted and ranked in descending order. 4. The overall cost of errors and defects in each category is computed. 5. Resultant data are analyzed to uncover the categories that result in highest cost to the organization. 6. Plans are developed to modify the process with the intent of eliminating class of errors and defects that is most costly.
59 School of Computing, Department of 59 Fish Bone Diagram
60 School of Computing, Department of 60 bibliography Software Engineering, Roger Pressman, Fifth Edition Software Engineering, Ian Sommerville, Sixth Edition
61 School of Computing, Department of 61 Review questions What are the layers of Software Engineering? What are the 5 levels illustrated by CMMI Model? What are the limitations for WaterFall Model? When is a RAD model used? What are the framework activities in Spiral Model?
62 School of Computing, Department of 62 Review questions How are the three generic team organizations different? What is Fish Bone diagram and how is it used? What is DRE? How is it calculated?
Software Life Cycle Lecture Objectives What happens in the life of software To look at the life cycle of a software To understand the software process and its related elements To relate to the different
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality
Overview of Software Engineering and the Software Development Process CONTENTS I. Definition of Software and Characteristics of Software II. Types / Categories of Software 1. System Software 2. Real-time
What is Software? The Software Development Process Software is a set of items or objects that form a configuration that includes Programs Documents Data... M8034 Peter Lo 2006 1 M8034 Peter Lo 2006 2 Definition
Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
www.iacpe.com Knowledge, Certification, Networking Page : 1 of 95 Rev. 01- Feb 2016 IACPE No 19, Jalan Bilal Mahmood 80100 Johor Bahru Malaysia Introduction to Software Engineering The International of
SOFTWARE PROJECT MANAGEMENT LECTURE # 2 4 P s in Project Management 15 th September, 2011 Contact Information 2 Instructor: Lecturer Department of Software Engineering U.E.T Taxila Email: email@example.com
1) Explain management spectrum or explain 4 p s of software system. Effective software project management focuses on the four P s: people, product, process, and project. The People People factor is very
INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design
1) Explain quality control and also explain cost of quality. Quality Control Quality control involves the series of inspections, reviews, and tests used throughout the software process to ensure each work
Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 INTRODUCTION This course is designed to provide the students with the basic competencies required to identify requirements, document
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability
What is a system? Software Engineering Software Processes A purposeful collection of inter-related components working together to achieve some common objective. A system may include software, mechanical,
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
272 A Process Model for Software A. Rama Mohan Reddy Associate Professor Dr. P Govindarajulu Professor Dr. M M Naidu Professor Department of Computer Science and Engineering Sri Venkateswara University
Principles of Software Engineering: Software Methodologies COSI 120b, Spring 2005 Overview What are methodologies? The methodologies Traditional Incremental Evolutionary Other Conclusions Way Forward What
Volume 4, Issue 6, June 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Comparative Analysis
Software Processes CSC 221 Introduction to Software Engineering software processes extract from Sommerville s chapter 3 slides Alan Dix Coherent sets of activities for specifying, designing, implementing
Processing Models Of SDLC Mrs. Nalkar Sanjivani Baban Asst. Professor, IT/CS Dept, JVM s Mehta College,Sector 19, Airoli, Navi Mumbai-400708 Nalkar_sanjivani@yahoo.co.in Abstract This paper presents an
System/Software Development Life Cycle Anurag Srivastava Associate Professor ABV-IIITM, Gwalior Why Life Cycle Approach for Software? Life cycle is a sequence of events or patterns that are displayed in
, pp. 213-220 http://dx.doi.org/10.14257/ijseia.2014.8.10.19 A Review of an MVC Framework based Software Development Ronnie D. Caytiles and Sunguk Lee * Department of Multimedia Engineering, Hannam University
Handled By, VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-603203. Department of Information Technology Question Bank- Even Semester 2014-2015 IV Semester CS6403-SOFTWARE ENGINEERING MS.R.Thenmozhi,
PROJECT MANAGEMENT Project management is the discipline of planning, organizing, securing, and managing resources to achieve specific goals. A project is a temporary endeavor with a defined beginning and
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise
Various Software Development Life Cycle Models Sahil Jindal, Puneet Gulati, Praveen Rohilla Dronacharya College of Engineering, India Abstract:An SDLC model is a conceptual framework describing different
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers
PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle
Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.
SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 Analysis Modeling Cardinality and Modality Cardinality
Objective Software Project Measurements Slide 1 Fundamentals of Measurements Educational Objective: To review the fundamentals of software measurement, to illustrate that measurement plays a central role
CSE3308/DMS/2004/25 Monash University - School of Computer Science and Software Engineering Software Engineering: Analysis and Design - CSE3308 Software Quality CSE3308 - Software Engineering: Analysis
P.G.D.C.A SOFTWARE ENGINEERING CONTENTS UNIT I UNIT II UNIT III UNIT IV Lesson 1 The role of Software Software Crisis Software Myths Lesson 2 Software Process Lesson 3 Software Process Modely The Proto
PROJECT SCHEDULING AND TRACKING PROJECT SCHEDULING AND TRACKING Software project scheduling is an activity that distributes estimated effort across the planned project duration by allocating the effort
Software Engineering III B.Tech IT SEM-I Term: 2014-2015 Unit-1 PPT SLIDES Text Books:1.Software Engineering, A practitioner s approach Roger s. Pressman 6 th edition McGraw-Hill 2.Software Engineering
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5. No. 8, November-December 2006 Requirements Engineering Tasks Donald Firesmith,
Lecture 3 Software Development Processes Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 2, 2008 Lecture Overview
CS 1632 SOFTWARE QUALITY ASSURANCE 2 Marks Sample Questions and Answers 1. Define quality. Quality is the degree of goodness of a product or service or perceived by the customer. Quality concept is the
Unit I Introduction Product Life Cycles Products also have life cycles The Systems Development Life Cycle (SDLC) is a framework for describing the phases involved in developing and maintaining information
Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed
Process Improvement Understanding, Modelling and Improving the Software Process Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 1 Process improvement Understanding existing processes
1 CHAPTER 1 INTRODUCTION Exploration is a process of discovery. In the database exploration process, an analyst executes a sequence of transformations over a collection of data structures to discover useful
Modelli di sviluppo software Enrico Giunchiglia The software development process A structured set of activities required to develop a software system, including Specification Design & Development Validation
Steven Zeil June 7, 2013 Contents 1 Software Development Process Models 2 1.1 Components of the Waterfall Model................................. 2 1.1.1 What is a requirement?. 2 1.1.2 Testing..........
Capability Maturity Model Software Development Using Cleanroom Software Engineering Principles - Results of an Industry Project Robert S. Oshana Member Group Technical Staff Raytheon Systems Company firstname.lastname@example.org
ATHABASCA UNIVERSITY Selecting a Software Development Methodology based on Organizational Characteristics BY Adrienne Farrell An essay submitted in partial fulfillment Of the requirements for the degree
Noorul Islam College of Engineering M. Sc. Software Engineering (5 yrs) IX Semester XCS592- Software Project Management 8. What is the principle of prototype model? A prototype is built to quickly demonstrate
Software Process Improvement CMM Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile Software Engineering Institute Founded by the Department of Defense
Evolving Ideas Computing, Communication and Networking Publish by Global Vision Publishing House Edited by Jeetendra Pande Nihar Ranjan Pande Deep Chandra Joshi Requirements Analysis (RA): An Analytical
2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.
1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to
Questions What is the life cycle of a software product? Why do we need software process models? What are the goals of a software process and what makes it different from other industrial processes? Software
CMMI STANDARDS IN SOFTWARE DEVELOPING PROCESS 1 2 C. SenthilMurugan, Dr. S. Prakasam. PhD Scholar Asst., Professor 1,2 Dept of Computer Science & Application, SCSVMV University, Kanchipuram 1 Dept of MCA,
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand
Introduction to Systems Analysis and Design What is a System? A system is a set of interrelated components that function together to achieve a common goal. The components of a system are called subsystems.
Requirements Analysis Concepts & Principles Instructor: Dr. Jerry Gao Requirements Analysis Concepts and Principles - Requirements Analysis - Communication Techniques - Initiating the Process - Facilitated
FUNDAMENTALS OF SOFTWARE ENGINEERING PROJECT MANAGEMENT Johan Gouws B.Eng. & M.Eng. (Elec.) (Rand Afrikaans University, South Africa) MBA (Heriot-Watt University, Scotland) Ph.D. (Wageningen, the Netherlands)
CSCI-485: Software Design Lecture 6 Note: Some slides adapted from Software Engineering by Ian Sommerville Software Processes Code-and-fix model Software process model used in the early days of computing
Software Life Cycle Management of what to do in what order Software Life Cycle (Definition) The sequence of activities that take place during software development. Examples: code development quality assurance
Volume 2, Issue 12, December 2014 ISSN: 2321 7782 (Online) International Journal of Advance Research in Computer Science and Management Studies Research Article / Survey Paper / Case Study Available online
Software Production and Lifecycle Models 1 Problem Definition Change Architectural Design Verification Personnel Basic Phases Potential Difficulties, Verification, and Testing Implementation and Integration
Reaching CMM Levels 2 and 3 with the Rational Unified Process Rational Software White Paper TP174 Table of Contents INTRODUCTION... 1 LEVEL-2, REPEATABLE... 3 Requirements Management... 3 Software Project
Personal Software Process (PSP) Application of CMM principles to individuals Developed by Watts Humphrey of the Software Engineering Institute (SEI) in the early 1990s Extensive supporting materials: books,
Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room