Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
|
|
|
- Amy Greene
- 10 years ago
- Views:
Transcription
1 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 by the million monkey approach Software is unreliable and needs permanent maintenance Software is messy, lacks transparency, prevents improvement or building on (or costs too much to do so) General Problems 50% of all software projects fail Never delivered/completed Do not meet requirements or user needs Excessive failures (bugs) Excessively over budget or late Quality and reliability of many software systems can not be formally assessed 1
2 Problems with Software Production Complexity Conformity - conform to the existing process or have the process conform to the software Changeability - Software can easily be changed, but a bridge is almost impossible to move Invisibility - software is very hard to visualize Brook s No Silver Bullet [IEEE Computer 9(4), 1987] Software is very difficult to develop, and most likely will not get easier. Reuse is one solution suggested. In 20 years, 6% per year production improvement. Questions Why does it take so long to get software completed? Why are costs so high? Why can t all errors be found before the software is put into production? Why is it difficult to measure the progress at which software is being developed? Some Facts Software is developed not manufactured. Software does not wear out. Most software is custom built rather than assembled from existing components. 2
3 Software Engineering Quality Focus Process Methods Tools Focus on quality A Layered Approach Power plant vs. Word processor Process layer that enables rational and timely development of software (Waterfall) Key process areas must be established for effective delivery of software technology Methods provide support for process (OO) Tools provide support for methods (.net) Building Software What is the problem to be solved? What characteristics of the entity are used to solve the problem? How will the entity (and solution) be realized? How will the entity be constructed? What approach will be used to uncover errors? How will it be supported over the long term? 3
4 Phases of Software Life Cycle Definition Phase - behavior of the system Development Phase - How to obtain the desired behavior Maintenance - change the behavior Corrective - fix uncovered defect Adaptive - Platform change Enhancement - Perfective, additional functionality Preventive - re-engineering, make system more maintainable Cost to fix faults Cost Req Spec Design Maintenance Development Phase Cost to fix faults 60* to 100* 1.5* to 6* Cost 1* Definition Development Post Release 4
5 Software Applications System Software Real time Business Engineering and Scientific Embedded systems Personal Computing What types of Development Models fit for which applications? Software Process Models Classical Process Models Waterfall Linear Sequential Prototyping Model Rapid Application Development Evolutionary Process Models Incremental Model Spiral Model Component Assembly Model Concurrent Development Model Classical Lifecycle Model aka Waterfall Requirements Phase Specification Phase (Analysis) Planning Phase Design Phase Implementation Phase Integration and Testing Maintenance Retirement 5
6 Sequential Model Requirements Testing/Verify Maintenance Specification Testing/Verify Planning Testing/Verify Design Testing/Verify Implementation Testing/Verify Integration Testing/Verify Operations Mode Sequential Model Feedback loops to correct uncovered faults Testing and Verification at each phase Documentation at each phase Each phase is completed before next phase can begin Sequential Model: Problems Real projects don t often run sequentially Customers must have patience Development is often delayed, i.e., blocking states Specifications may not reflect client expectations Staffing problems, e.g., tall, narrow developers versus short, wide developers 6
7 Prototyping Modified Sequential Model A prototype is constructed to determine system requirements and specifications Prototype is used as a tool to determine clients needs Numerous problems can be uncovered during prototype development and evaluation Prototyping: Problems Prototype is viewed by the customer and management as a completed system Design decisions, e.g., language, platform, API, etc., chosen for prototype are difficult to have changed, but may be inappropriate for completed system Small, visible changes between prototype and finished system are easily perceived by the customer Rapid Application Development High-speed modification of linear sequential mode. Component-based construction of system Very short time frame Typically used for information systems Difficult for applications in which the parts are not already components Unsuited for projects with high technical risk 7
8 Software Evolution All software evolves (changes) over time Requirements change over the lifetime of the project Time to market means we cannot wait until the very end of the project for a solution Must make efficient use of team members Iterative model Develop increasingly more complex versions of the software Incremental Model Combines linear sequential model with prototyping Produces increments of a system. First produce the core product A set of new functionality is added in each new increment The first increment can be viewed as a prototype that is used by the client Overlapping sequences of process stages Focus on a set of deliverables Allows workers dedicated to a particular stage, e.g., short, wide developers Spiral Model Software is developed in a set of incremental releases Early iterations may be prototypes or paper models Later iterations are increasingly more complex versions of the software Divided into a number of framework activities or task regions (typically between 3 and 6) Allows for efficient use of resources 8
9 Spiral Model C ustomer C ommunica tion Pla nning Risk Analysis Engineering C ustomer Evalua tion Construction & Release Component Assembly Model Use a set of pre-existing components to construct a new system Need a library of existing component Need a method of indexing these components Narrow domain Subset of system uses existing components Which process to use? Based on needs and goal of the organization Problem domain Application area Composition of development team Customized process to fit the organization It s not a process unless it s written down. Define: Goals, processes, methods, tools 9
10 Methods: OO Analysis and Design Object Oriented Analysis - Method of analysis which examines requirements from a perspective of the classes and objects found in the vocabulary of the problem domain. Object Oriented Design - Method of Design encompassing the process of object oriented decomposition. Logical and physical as well as static and dynamic models are depicted. Software Testing Verification - whether something has been correctly carried out. Are we building the product right? Validation - whether something satisfies its specification. Are we building the right product? Software testing process: Software Quality Assurance (SQA) Independent Verification and Validation (IV&V) SQA Activities Evaluations to be performed Audits and reviews to be performed Standards that are applicable to the project Procedures for error reporting and tracking Documents to be produced by SQA group Amount of feedback provided to software project team 10
11 Types of Testing Execution based testing Non-execution based testing Non-execution based testing: Walkthroughs Inspections Walkthroughs Informal examination of a product (document) Made up of: developers client next phase developers SQA leader Produces: list of items not understood list of items thought to be incorrect Inspections Formalized examination of a product (document) Formal steps: Overview Preparations Inspection Rework Follow-up 11
12 Inspections Overview - of the document is made Preparation - participants understand the product in detail Inspection - a complete walk through is made, covering every branch of the product. Fault finding is done Rework - faults are fixed Follow - up check fixed faults. If more than say 5% of product is reworked then a complete inspection is done again. Statistics are kept: fault density Execution Based Testing Program testing can be a very effective way to show the presents of bugs but is hopelessly inadequate for showing their absence [Dijkstra] Fault: bug incorrect piece of code Failure: result of a fault Error: mistake made by the programmer/developer Behavioral Properties Correctness - does it satisfy its output specification? Utility - are the user s needs met Reliability - frequency of the product failure. How long to repair it? How lone to repair results of failure? Robustness - How crash proof in an alien environment? Does it inform the user what is wrong? Performance - response time, memory usage, run time, etc. 12
13 Methods of Testing Test to specification: Black box, Data driven Functional testing Code is ignored: only use specification document to develop test cases Test to code: Glass box/white box Logic driven testing Ignore specification and only examine the code. Feasibility Pure black box testing (specification) is realistically impossible because there is (in general) too many test cases to consider. Pure testing to code requires a test of every possible path in a flow chart. This is also (in general) infeasible. Also every path does not guarantee correctness. Normally, a combination of Black box and Glass box testing is done. Can you Guarantee a Program is Correct? This is called the Halting Problem (Theory of Computer Science stuff). Write a program to test if any given program is correct. The output is correct or incorrect. Test this program on itself. If output is incorrect, then how do you know the output is correct? Conundrum, Dilemma, or Contradiction? 13
14 Development of Test Cases Test cases and test scenarios comprise much of a software systems testware. Testware is all the wares that go with testing. Black box test cases are developed by domain analysis and examination of the system requirements and specification. Glass box test cases are developed by examining the behavior of the source code. Pairing down test cases Use methods that take advantage of symmetries, data equivalencies, and independencies to reduce the number of necessary test cases. Equivalence Testing Boundary Value Analysis Determine the ranges of working system Develop equivalence classes of test cases Examine the boundaries of these classes carefully Equivalence Testing Example: sort(lst, n) Sort a list of numbers The list is between 2 and 1000 elements Domains: The list has some item type (of little concern) n is an integer value (subrange) Equivalence classes; n<2 n> <= n <=
15 Equivalence Testing (example) What do you test? Not all cases of integers Not all cases of positive integers Not all cases between 1 and 1001 Highest payoff for detecting faults is to test around the boundaries of equivalence classes. Test n=1, n=2, n=1000, n=1001, and say n= 10 Five tests versus Structural Testing Statement coverage - Test cases which will execute every statement at least once. Tools exist for help No guarantee that all branches are properly tested. Loop exit? Branch coverage All branches are tested once Path coverage - Restriction of type of paths: Linear code sequences Definition/Use checking (all definition/use paths) Can locate dead code Proofs of Correctness Mathematical proofs (as complex and error prone as coding) Leavenworth 70 did an informal proof of correctness of a simple text justification program. (Claims it s correct!) London 71 found four faults, then did a formal proof. (Claims it s now correct!) Goodenough and Gerhar 75 found three more faults. Testing would have found these errors with much difficulty. 15
16 Software Metrics Measure - quantitative indication of extent, amount, dimension, capacity, or size of some attribute of a product or process. Metric - quantitative measure of degree to which a system, component or process possesses a given attribute. Number of errors Number of errors found per person hours expended Metric: A handle or guess about a give attribute. Process and Product Metrics Process - Insights of process paradigm, software engineering tasks, work product, or milestones. Lead to long term process improvement. Product - Assesses the state of the project Track potential risks Uncover problem areas Adjust workflow or tasks Evaluate teams ability to control quality Some Metrics Defects rates Errors rates Measured by: individual module during development Errors should be categorized by origin, type, cost 16
17 Some Metrics Direct measures - cost, effort, LOC, etc. Indirect Measures - functionality, quality, complexity, reliability, maintainability Size Oriented: Lines of code - LOC Effort - person months errors/kloc defects/kloc cost/kloc Complexity Metrics LOC - a function of complexity language dependent Halstead s Software Science (entropy measures) n 1 - number of distinct operators n 2 - number of distinct operands N 1 - total number of operators N 2 - total number of operands Halstead s Metrics Length: N = N 1 + N 2 Vocabulary: n = n 1 + n 2 Estimated length: N = n 1 log2 n 2 + n 1 log2 n 2 Volume: V = N log2 n Number of bits to provide a unique designator for each of the n items in the program vocabulary. 17
18 Estimating Software Size Standard Component Method Function Point Proxy Based Estimation Standard Component Method Gather data about various level of program abstraction, subsystems, modules, reports, screens. Compare these to what is predicted in the system Estimate= Smallest value estimate + 4* Most likely or common + estimate Largest value estimate Function Point Method Functions: Inputs: screens, forms (UI) or other programs which add data to the system. Inputs that require unique processing Outputs: Screens, reports, etc Inquiries: Screens which allow users to interrogate or ask for assistance or information Data files: logical collections of records, tables in a DB Interfaces: Shared files, DB, parameters lists 18
19 Function Point Method Review requirements Count number of each function point type Use historical data on each function point type to determine estimate Function point does not map to physical part of source. Can not measure FP in a given system (automatically) 19
Software Testing. Quality & Testing. Software Testing
Software Testing Software Testing Error: mistake made by the programmer/developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures
Process Models and Metrics
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
Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process
Definitions Software Metrics Software Engineering Measure - quantitative indication of extent, amount, dimension, capacity, or size of some attribute of a product or process. Number of errors Metric -
(Refer Slide Time: 01:52)
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
Software Project Models
INTERNATIONAL JOURNAL OF TECHNOLOGY ENHANCEMENTS AND EMERGING ENGINEERING RESEARCH, VOL 1, ISSUE 4 135 Software Project Models Abhimanyu Chopra, Abhinav Prashar, Chandresh Saini [email protected],
What is a life cycle model?
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
TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW
Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of
International Journal of Advance Research in Computer Science and Management Studies
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 Engineering. What is a system?
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,
Lecture 3 Software Development Processes
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 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
JOURNAL OF OBJECT TECHNOLOGY
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,
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)
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
And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software?
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
Software quality engineering. Quality assurance. Testing
4 Software Quality Engineering c Jeff Tian, to be published by John Wiley, 2005 Software quality engineering Quality assurance Testing Figure 1.1. engineering Scope and content hierarchy: Testing, quality
Introduction to Software Engineering. 8. Software Quality
Introduction to Software Engineering 8. Software Quality Roadmap > What is quality? > Quality Attributes > Quality Assurance: Planning and Reviewing > Quality System and Standards 2 Sources > Software
Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci
Software Engineering Software Development Process Models Lecturer: Giuseppe Santucci Summary Modeling the Software Process Generic Software Process Models Waterfall model Process Iteration Incremental
To introduce software process models To describe three generic process models and when they may be used
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
2. Analysis, Design and Implementation
2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,
Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).
0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems
How To Model Software Development Life Cycle Models
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 Process Models. Xin Feng
Software Process Models Xin Feng Questions to Answer in Software Engineering? Questions to answer in software engineering What is the problem to be solved? Definition What are the characteristics of the
SOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
Fundamentals of Measurements
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
Sample Exam. 2011 Syllabus
ISTQ Foundation Level 2011 Syllabus Version 2.3 Qualifications oard Release ate: 13 June 2015 ertified Tester Foundation Level Qualifications oard opyright 2015 Qualifications oard (hereinafter called
Elite: A New Component-Based Software Development Model
Elite: A New Component-Based Software Development Model Lata Nautiyal Umesh Kumar Tiwari Sushil Chandra Dimri Shivani Bahuguna Assistant Professor- Assistant Professor- Professor- Assistant Professor-
SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki
SE464/CS446/ECE452 Software Life-Cycle and Process Models Instructor: Krzysztof Czarnecki 1 Some of these slides are based on: Lecture slides by Ian Summerville accompanying his classic textbook software
Metrics in Software Test Planning and Test Design Processes
Master Thesis Software Engineering Thesis no: MSE-2007:02 January 2007 Metrics in Software Test Planning and Test Design Processes Wasif Afzal School of Engineering Blekinge Institute of Technology Box
SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur
SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 2 Process What is it? A series of predictable steps
Course/Year W080/807 Expected Solution Subject: Software Development to Question No: 1
Subject: Software Development to Question No: 1 Page 1 of 2 Allocation: 33 marks (a) (i) A layout manager is an object that implements the LayoutManager interface and determines the size and position of
Verification and Validation of Software Components and Component Based Software Systems
Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research [email protected]
Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
Software Development Life Cycle
4 Software Development Life Cycle M MAJOR A J O R T TOPICSO P I C S Objectives... 52 Pre-Test Questions... 52 Introduction... 53 Software Development Life Cycle Model... 53 Waterfall Life Cycle Model...
Objectives. The software process. Basic software process Models. Waterfall model. Software Processes
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
Unit 1 Learning Objectives
Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham [email protected] www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction
Lecture 1: Introduction to Software Quality Assurance
Lecture 1: Introduction to Software Quality Assurance Software Quality Assurance (INSE 6260/4-UU) Winter 2009 Thanks to Rachida Dssouli for some slides Course Outline Software Quality Overview Software
A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management
International Journal of Soft Computing and Engineering (IJSCE) A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management Jayanthi.R, M Lilly Florence Abstract:
Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
2. Analysis, Design and Implementation
2. Analysis, Design and Implementation Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Programs to Application Systems Products Software Development:
Personal Software Process (PSP)
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,
Basic Testing Concepts and Terminology
T-76.5613 Software Testing and Quality Assurance Lecture 2, 13.9.2006 Basic Testing Concepts and Terminology Juha Itkonen SoberIT Contents Realities and principles of Testing terminology and basic concepts
Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur
Module 2 Software Life Cycle Model Lesson 4 Prototyping and Spiral Life Cycle Models Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a prototype is.
Software Life Cycle Processes
Software Life Cycle Processes Objective: Establish a work plan to coordinate effectively a set of tasks. Improves software quality. Allows us to manage projects more easily. Status of projects is more
CSTE Mock Test - Part I - Questions Along with Answers
Note: This material is for Evaluators reference only. Caters to answers of CSTE Mock Test - Part I paper. 1. A branch is (Ans: d) a. An unconditional transfer of control from any statement to any other
What is Software? The Software Development Process. Definition of Software. Why Software?
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
Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005
Principles of Software Engineering: Software Methodologies COSI 120b, Spring 2005 Overview What are methodologies? The methodologies Traditional Incremental Evolutionary Other Conclusions Way Forward What
<name of project> Software Project Management Plan
The document in this file is adapted from the IEEE standards for Software Project Management Plans, 1058-1998, which conforms to the requirements of ISO standard 12207 Software Life Cycle Processes. Tailor
Managing Successful Software Development Projects Mike Thibado 12/28/05
Managing Successful Software Development Projects Mike Thibado 12/28/05 Copyright 2006, Ambient Consulting Table of Contents EXECUTIVE OVERVIEW...3 STATEMENT OF WORK DOCUMENT...4 REQUIREMENTS CHANGE PROCEDURE...5
COMP 354 Introduction to Software Engineering
COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: [email protected] Winter 2015 Course
Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities
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
Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases
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
PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >
PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME > Date of Issue: < date > Document Revision #: < version # > Project Manager: < name > Project Management Plan < Insert Project Name > Revision History Name
11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?
11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process Project management encompasses all the
Title: Topic 3 Software process models (Topic03 Slide 1).
Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski
CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers
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
Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems
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
A Review of an MVC Framework based Software Development
, 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
Introduction to Software Engineering: Project Management ( Highlights )
Introduction to Software Engineering: Project Management ( Highlights ) John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from chapters 14, 15, and 16 of Object
Quality Management. Lecture 12 Software quality management
Quality Management Lecture 12 Software quality management doc.dr.sc. Marko Jurčević prof.dr.sc. Roman Malarić University of Zagreb Faculty of Electrical Engineering and Computing Department of Fundamentals
COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4
COURSE TITLE : SOFTWARE ENGINEERING COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 Software engineering discipline evolution
Keywords: SQA,Black Box Testing( BBT), White Box testing(wbt).
Volume 3, Issue 10, October 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Enhancing Software
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, [email protected] 2 ABB Corporate Research,
Software Engineering. Objectives. Designing, building and maintaining large software systems
Software Engineering Objectives Designing, building and maintaining large software systems To define software engineering and explain its importance To discuss the concepts of software products and software
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer
The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI. [email protected].
The software process Software Development Methods Bayu Adhi Tama, ST., MTI. [email protected] A structured set of activities required to develop a software system Specification; Design; Validation; Evolution.
IT3205: Fundamentals of Software Engineering (Compulsory)
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
SECTION 4 TESTING & QUALITY CONTROL
Page 1 SECTION 4 TESTING & QUALITY CONTROL TESTING METHODOLOGY & THE TESTING LIFECYCLE The stages of the Testing Life Cycle are: Requirements Analysis, Planning, Test Case Development, Test Environment
SWEBOK Certification Program. Software Engineering Management
SWEBOK Certification Program Software Engineering Management Copyright Statement Copyright 2011. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted
Overview of Software Engineering and the Software Development Process
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
Outline. Definitions. Course schedule
SENG480A/CSC576A Topics in Software Engineering Software Development, Architecture & Evolution Lectures, Sep 17, 20, 2001 Hausi A. Müller University of Victoria Outline Assignment 1 due Sep 27 Last week
IV. Software Lifecycles
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
A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.
Processing Models Of SDLC Mrs. Nalkar Sanjivani Baban Asst. Professor, IT/CS Dept, JVM s Mehta College,Sector 19, Airoli, Navi Mumbai-400708 [email protected] Abstract This paper presents an
Software Development Processes. Software Life-Cycle Models
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
Plan-Driven Methodologies
Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a
Karunya University Dept. of Information Technology
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
ASSESSMENT OF SOFTWARE PROCESS MODELS
ASSESSMENT OF SOFTWARE PROCESS MODELS Akhilesh Research Scholar, Department of Computer Science, Manav Bharti University, Solan (H.P.) ABSTRACT The field of software engineering is related to the development
Standard for Software Component Testing
Standard for Software Component Testing Working Draft 3.4 Date: 27 April 2001 produced by the British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) Copyright Notice This document
http://www.test-institute.org International Software Test Institute
THE ONLY BOOK CAN SIMPLY LEARN SOFTWARE TESTING! Page 1 Contents ABOUT THE AUTHOR... 3 1. Introduction To Software Testing... 4 2. What is Software Quality Assurance?... 7 3. What Is Software Testing?...
Software Engineering. An Introduction. Fakhar Lodhi
Software Engineering An Introduction Fakhar Lodhi 1 Engineering The science concerned with putting scientific knowledge to practical use. Webster s Dictionary Physics versus Electrical Engineering 2 Software
CS4507 Advanced Software Engineering
CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development
A Comparison between Five Models of Software Engineering
International Journal of Research in Information Technology (IJRIT) www.ijrit.com ISSN 2001-5569 A Comparison between Five Models of Software Engineering Surbhi Gupta, Vikrant Dewan CSE, Dronacharya College
Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology
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
10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design
Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development
R214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM
The American Association for Laboratory Accreditation Document Revised: R214: Specific Requirements: Information Technology Testing Laboratory Accreditation July 13, 2010 Program Page 1 of 26 R214 SPECIFIC
Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler
Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems [email protected]
Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction
Software Testing Rajat Kumar Bal Introduction In India itself, Software industry growth has been phenomenal. IT field has enormously grown in the past 50 years. IT industry in India is expected to touch
Software Development Life Cycle (SDLC)
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
Application of software product quality international standards through software development life cycle
Central Page 284 of 296 Application of software product quality international standards through software development life cycle Mladen Hosni, Valentina Kirinić Faculty of Organization and Informatics University
Supporting Workflow Overview. CSC532 Fall06
Supporting Workflow Overview CSC532 Fall06 Objectives: Supporting Workflows Define the supporting workflows Understand how to apply the supporting workflows Understand the activities necessary to configure
CSSE 372 Software Project Management: Managing Software Projects with Measures
CSSE 372 Software Project Management: Managing Software Projects with Measures Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: [email protected] Dimensional Analysis Abuse Learning
Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 1/10/99 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
Software Engineering (Set-I)
MCA(4 th Sem) Software Engineering (Set-I) Q. 1) Answer the following questions (2x10) a) Mention the importance of phase containment errors. Relate phase containment errors with the development cost of
CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT
CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT CONTENTS 5.1 Introduction 5.2 Component based software life cycle process model 5.2.1 Rapid Application Development Model 5.2.2 The Y
MANUAL TESTING. (Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info
MANUAL TESTING (Complete Package) WEB APP TESTING DB TESTING MOBILE APP TESTING We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info START DATE : TIMINGS : DURATION :
1. Introduction. Annex 7 Software Project Audit Process
Annex 7 Software Project Audit Process 1. Introduction 1.1 Purpose Purpose of this document is to describe the Software Project Audit Process which capable of capturing different different activities take
3C05: Unified Software Development Process
3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2
