Introduction to Software Engineering

Size: px
Start display at page:

Download "Introduction to Software Engineering"

Transcription

1 Chapter 1 Introduction to Software Engineering

2 Content 1. Introduction 2. Components 3. Layered Technologies 4. Generic View of Software Engineering 4. Generic View of Software Engineering 5. Study of Different Models 6. Process Technology

3 1. Introduction What is Software? Software is nothing but a collection of computer programs and related documents that are intended to provide desired features, functionalities and better performance. Software products may be: 1.Generic-That means developed to be sold to range of different customers. 2.Custom-That means developed for a single customer according to their specifications.

4 Evolution of Software Engineering Early Computer Programming High level language Programming Control flow-based design Data structure-oriented design Data flow-oriented design Object-oriented design Web-based design

5 2. Components Any software consist of three major components Programs, Documents, Operating Procedure. Programis one part of entire software. Documentationconsists of various Manuals.(SRS and Different diagrams) Procedurerepresent instructions for initial setup.(user guide, Installation guide)

6 3. Layered Technologies Softwareengineering is discipline in which theories, methods and tools are applied to develop professional software product. SoftwareEngineering Layers

7 Layered Technologies (Continued..) A qualitymanagement is a backbone of software engineering technology. Processdefines the framework for timely delivery of software Here Actual Methodof implementation is carried out with the help of analysis, design, coding and testing. Toolsare used to bring automation in software development process.

8 Software Characteristics Software is engineered, not manufactured. -In software development process, problems can be rectified. Software does not ware out. -Software cant be replaced by another components like Hardware. Most software is custom built rather than being assembled from components. -In Hardware components such as ICs, capacitors and registers are assembled according to design but this is not done while building software.

9 4. Generic View of Software Engineering Common Process Framework: It is characterized by Process Framework Activities, Task sets and Umbrella Activities. Process Framework Activities: 1.Communication 4. Constructions 2.Planing 5. Deployment (feedback of customer) 3.Modeling Task Set: The task set defines the actual work done in order to achieve the software objective. It is divided to : 1.Collection of software engineering work task 2. Project milestones 3. Software quality assurance points

10 Common Process Framework (Continued) Umbrella Activities : 1.Software project tracking and control (Progress and schedule) 2.Risk Management (may affect project outcomes) 3. SQA (to maintain quality) 4. Formal technical review (remove errors) 5. Software configuration management 6. Work product preparation and production (to create models, log, documentation) 7. Reusability management 8. Measurement.

11 5. Study of Different Models Software Development Life Cycle (SDLC): A framework that describes the activities performed at each stage of a software development project.

12 Phases of SDLC 1. Software Requirement Analysis 2. System Analysis and Design 3. Code Generation 4. Code Testing 5. Implementation 6. Maintenance

13 Phases of SDLC (1) Software Requirement Analysis: This process is also known as feasibility study. In this phase, the development team visits the customer and studies their system. They investigate the need for possible software automation in the given system. By the end of the feasibility study, the team furnishes a document that holds the different specific recommendations for the candidate system. It also includes the personnel assignments, costs, project schedule, target dates etc... The requirement gathering process is intensified and focused specially on software. To understand the nature of the program(s) to be built, the system engineer or "Analyst" must understand the information domain for the software, as well as required function, behavior, performance and interfacing. The essential purpose of this phase is to find the need and to define the problem that needs to be solved

14 Phases of SDLC (2) System Analysis and Design: 1. High Level Design (HLD) List of modules and a brief description of each module. Brief functionality of each module. Interface relationship among modules. Dependencies between modules (if A exists, B exists etc). Database tables identified along with key elements. Overall architecture diagrams along with technology details. 2. Low Level Design (LLD) Detailed functional logic of the module, in pseudo code. Database tables, with all elements, including their type and size. All interface details. All dependency issues Complete input and outputs for a module. A software development model is thus created. Analysis and Design are very crucial in the whole development cycle. Any glitch in the design phase could be very expensive to solve in the later stage of the software development. The logical system of the product is developed in this phase.

15 Phases of SDLC (3) Code Generation: The design must be translated into a machine-readable form. The code generation step performs this task. If the design is performed in a detailed manner, code generation can be accomplished without much complication. Programming tools like compilers, interpreters, debuggers etc... are used to generate the code. Different high level programming languages like C, C++, Pascal, Java are used for coding. With respect to the type of application, the right programming language is chosen.

16 Phases of SDLC (4) Testing: Once the code is generated, the software program testing begins. Different testing methodologies are available to detect the bugs that were committed during the previous phases. Different testing tools and methodologies are available. Some companies build their own testing tools that are tailor made for their own development operations.

17 Phases of SDLC (5) Installation : Installation of the product in its operational environment.

18 Phases of SDLC (6) Maintenance: After the software is released and the client starts using the software, maintenance phase is started. 3 things happen - Bug fixing, Upgrade, Enhancement Bug fixing bugs arrived due to some untested scenarios. Upgrade Upgrading the application to the newer versions of the software. Enhancement - Adding some new features into the existing software.

19 Types of Process flows Linear Process flow Iterative Process flow Evolutionary Process flow Parallel Process flow

20

21 SOFTWARE LIFE CYCLE MODELS Waterfall Model / Linear Sequential Model Prototype Model Rapid Application Development (Rad) Model Evolutionary Process Models: Incremental Model Spiral Model Concurrent Development Model

22 Waterfall Model

23 Waterfall Model The project is divided in to separate distinct phases Each next phase starts after finishing the previous phase. Each phase communicate to next through pre specified output When an error is detected or revision is required it is traced back to one previous phase at a time, until it gets resolved at some earlier phase

24 Waterfall Strengths Easy to understand, easy to use Provides structure to inexperienced staff Milestones are well understood Sets requirements stability Good for management control (plan, staff, track) Works well when quality is more important than cost or schedule

25 Waterfall deficiencies All requirements must be known upfront Deliverables created for each phase are considered frozen(unmoving) reduce flexibility Can give a false impression of progress Does not reflect problem-solving nature of software development iterations of phases Integration is one big bang at the end Little opportunity for customer to preview the system (until it may be too late)

26 When to use the Waterfall Model Requirements are very well known Product definition is stable i.e. Deliverables of each Phase can be frozen. Technology is understood New version of an existing product Porting an existing product to a new platform.

27 Prototyping Model Co m m un icat ion communication Quick plan Q u ick p lan Modeling Quick design Mo d e lin g Q u ick d e sig n Deploym ent Deployment D e live r y delivery & Fe e db& ack feedback Con st r u ct io n Construction o f pof r prototype o t e

28 Prototyping Model This model uses constant user interaction, early in the requirements gathering stage to produce a prototype. Developers build a prototype during the requirements phase Prototype is evaluated by end users Users give corrective feedback Developers further refine the prototype Whentheuserissatisfied,theprototypecode is brought up to the standards needed for a final product.

29 Prototyping Steps A preliminary project plan is developed An partial high-level paper model is created The model is source for a partial requirements specification A prototype is built with basic and critical attributes to show how the eventual software system look like, how input screens and output reports would look like. The designer builds the database user interface algorithmic functions Continue.

30 Prototyping Steps (continued) The designer demonstrates the prototype, the user reviews and evaluates for problems, more features and suggests improvements. Based on feedback the prototype is improved and sent for review. This loop continues until the user is satisfied Finally software product is created based on the prototype.

31 Prototyping Strengths Customers can see the system requirements as they are being gathered Developers learn from customers Amoreaccurateendproduct Unexpected requirements accommodated Allows for flexible design and development Steady, visible signs of progress produced Interaction with the prototype stimulates awareness of additional needed functionality

32 Prototyping Weaknesses The customer may want the prototype delivered. Insufficient analysis User confusion of prototype and finished system Developer misunderstanding of user objectives Excessive development time of the prototype Expense of implementing prototyping

33 When to use Prototyping Requirements are unstable or have to be clarified Where we have a user who can give feedback. Can be used as the requirements clarification stage of a waterfall model Develop user interfaces New, original development

34 Evolutionary Process models Incremental model Spiral model Concurrent Development model

35 Incremental SDLC Model Combines elements of Linear and Parallel process flows Construct a partial implementation of a total system Then slowly add increased functionality The incremental model prioritizes requirements of the system and then implements them in groups. Each subsequent release of the system adds function to the previous release, until all designed functionality has been implemented.

36 Incremental SDLC Model increment # n C o m m u n i c a t i o n P l a n n i n g M o d e l i n g analysis design C o n s t r u c t i o n code t est D e p l o y m e n t d e l i v e r y f e e d b a c k increment # 2 delivery of nt h increment C o m m u n i c a t i o n P l a n n i n g increment # 1 M o d e l i n g analysis design C o n s t r u c t i o n code t est D e p l o y m e n t d e l i v e r y f e e d b a c k delivery of 2nd increment C o m m u n i c a t i o n P l a n n i n g M o d e l i n g analysis design C o n s t r u c t i o n code t est D e p l o y m e n t d e l i v e r y f e e d b a c k delivery of 1st increment project calendar time

37 Incremental Model Strengths Develop high-risk or major functions first Each release delivers an operational product Customercanrespondtoeachbuild Uses divide and conquer breakdown of tasks Initial product delivery is faster Customers get important functionality early Risk of changing requirements is reduced

38 Incremental Model Weaknesses Requires good planning and design Requires early definition of a complete and fully functional system to allow for the definition of increments Well-defined module interfaces are required (some will be developed long before others) Total cost of the complete system is not lower

39 When to use the Incremental Model Funding, schedule, program complexity, or need for early realization of benefits. Mostoftherequirementsareknownupfront but are expected to evolve over time A need to get basic functionality to the market early On projects which have lengthy development schedules Onaprojectwithnewtechnology

40 Spiral Model It is an evolutionary software process model that couples the iterative nature of prototyping and the controlled and systematic aspects of the linear sequential model It provides the potential for rapid development of incremental versions of the software. Software is developed in a series of incremental releases. During early iterations, the incremental release might be a paper model or prototype. During later iterations, increasingly more complete versions of the engineered system are produced.

41 Spiral Model

42 Spiral Model Task Regions 1. Customer communication tasks required to establish effective communication between developer and customer. 2. Planning tasks required to define resources, timelines, and other project related information. 3. Risk analysis tasks required to assess both technical and management risks. 4. Engineering tasks required to build one or more representations of the application. Continue

43 Spiral Model Task Regions (continued..) 5. Construction and release tasks required to construct, test, install, and provide user support (e.g., documentation and training). 6. 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.

44 Alternative view of Spiral model Examine the project entry point axis Concept development project starts at the core of the spiral New development project If the concept is to be developed into an actual product Product enhancement project when process is inactive, but starts when change is initiated Product maintenance project using customer feedback

45 Alternative view of Spiral model

46 Spiral Model Strengths Provides early indication of risks, without much cost Users see the system early because of rapid prototyping tools Critical high-risk functions are developed first The design does not have to be perfect Users can be closely tied to all lifecycle steps Early and frequent feedback from users Cumulative costs assessed frequently

47 Spiral Model Weaknesses Time spent for evaluating risks too large for small or low-risk projects Time spent planning, resetting objectives, doing risk analysis and prototyping may be excessive The model is complex Risk assessment expertise is required Spiral may continue indefinitely Developers must be reassigned during nondevelopment phase activities May be hard to define objective, verifiable milestones that indicate readiness to proceed through the next iteration

48 When to use Spiral Model When creation of a prototype is appropriate When costs and risk evaluation is important For medium to high-risk projects Long-term project commitment unwise because of potential changes to economic priorities Users are unsure of their needs Requirements are complex New product line Significant changes are expected (research and exploration)

49 Concurrent Development model Also called concurrent engineering Constitutes a series of framework activities, software engineering action, tasks and their associated states All activities exist concurrently but reside in different states It defines a network of activities. Each activity on the network exists simultaneously with other activities Event generated at one point in the process trigger transitions among the states

50 Concurrent Development model n o n e M o d e lin g a c t iv it y U n d e r d e v e lo p m e n t r e p r e s e n t s t h e s t at e o f a s o f t w a r e e ng i n ee r in g a c t iv i t y o r t as k A w a it in g c h a n g e s U n d e r r e v ie w U n d e r r e v is io n B a s e lin e d D o n e

51 Concurrent Development model Usage Often used as the paradigm for the development of client/server applications A client/server system is composed of a set of functional components. When applied to client/server, the concurrent process model defines activities in two dimensions A System dimension -issues are addressed using three activities: design, assembly, and use A Component dimension -addressed with two activities: design and realization Applicable to all types of software development

52 Rapid Application Development Model (RAD) An incremental software process model Having a short development cycle High-speed adoption of the waterfall model using a component based construction approach Creates a fully functional system within a very short span time of 60 to 90 days Multiple software teams work in parallel on different functions Modeling encompasses three major phases: Business modeling, Data modeling and process modeling Construction uses reusable components, automatic code generation and testing

53 Rapid Application Development (RAD) Model Team # n Mo d e lin g business modeling data modeling process modeling Communicat ion Team # 2 Modeling business modeling dat a modeling process modeling Co n st ru ct io n component reuse automatic code generation testing Planning Team # 1 Modeling business modeling dat a modeling process modeling Const ruct ion component reuse aut omat ic code generat ion t est ing Deployment int egrat ion delivery feedback Const ruct ion component reuse aut omat ic code generat ion t est ing days

54 RAD Strengths Reduced cycle time and improved productivity with fewer people means lower costs Time-box approach reduce cost and schedule risk Customer involved throughout the complete cycle minimizes risk of not achieving customer satisfaction and business needs Focus moves from documentation to code Uses modeling concepts to capture information about business, data, and processes.

55 RAD Weaknesses Requires a number of RAD teams Requires commitment from both developer and customer for rapid-fire completion of activities Not suited when technical risks are high Accelerated development process must give quick responses to the user Hard to use with inherited systems Requires a system that can be modularized

56 When to use RAD Reasonably well-known requirements When we have CASE and other modeling tools User involved throughout the life cycle Project can be time-boxed Functionality delivered in increments High performance not required Low technical risks System can be modularized

57 Component Based Development Object-oriented technologies provide the technical framework for this type of model Incorporates many of the characteristics of the spiral model It is evolutionary in nature demanding an iterative approach The engineering activity begins with the identification of candidate classes

58 Component Based Development

59 6. Process Technology The process models must be adapted for use by a software project team For that, process technology tools have been developed to help software organizations Process technology tools allow a software organization to build an automated model of the common process framework, task sets, and umbrella activities This model (or network), can be analyzed to determine typical work flow and examine alternative process structures for reducing development time or cost

60 Process Technology (Continued..) Other process technology tools can also be used to allocate, monitor and control the tasks defined as part of the process model The process technology tool can also be used to coordinate the use of other computer-aided software engineering (CASE) tools that are appropriate for a particular work task

61 Product and Process If the process is weak, the end product will undoubtedly suffer, but an obsessive overreliance on process is also dangerous People derive as much (or more) satisfaction from the creative process as they do from the end product

System Development Life Cycle Methods/Approaches/Models

System Development Life Cycle Methods/Approaches/Models Week 11 System Development Life Cycle Methods/Approaches/Models Approaches to System Development System Development Life Cycle Methods/Approaches/Models Waterfall Model Prototype Model Spiral Model Extreme

More information

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping. i About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Ahmed Lawgali Ahmed.lawgali@uob.edu.ly Slide 1 Systems Analysis & Design Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition

More information

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Topic 01. Software Engineering, Web Engineering, agile methodologies. Topic 01 Software Engineering, Web Engineering, agile methodologies. 1 What is Software Engineering? 2 1 Classic Software Engineering The IEEE definition: Software Engineering is the application of a disciplined,

More information

CMSC 435: Software Engineering Section 0201

CMSC 435: Software Engineering Section 0201 CMSC 435: Software Engineering Section 0201 Atif M. Memon (atif@cs.umd.edu) 4115 A.V.Williams building Phone: 301-405-3071 Office hours Tu.Th. (11:00am-1:00pm) Don t wait, don t hesitate, do communicate!!

More information

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS 1. Explain iterative waterfall and spiral model for software life cycle and various activities

More information

Software Process. Software Process

Software Process. Software Process Software Process What is SW process? Definition, Development, Support phases Process models: Waterfall Prototyping Spiral, Incremental & iterative (best practices) UP process model What is it? How does

More information

Specifying and Prototyping

Specifying and Prototyping Contents Specifying and Prototyping M. EVREN KIYMAÇ 2008639030 What is Specifying? Gathering Specifications Specifying Approach & Waterfall Model What is Prototyping? Uses of Prototypes Prototyping Process

More information

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1 Failure Rate Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1 SOFTWARE (What is Software? Explain characteristics of Software. OR How the software product is differing than

More information

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

ISSN: [Kaur* et al., 6(10): October, 2017] Impact Factor: 4.116

ISSN: [Kaur* et al., 6(10): October, 2017] Impact Factor: 4.116 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY COMPARATIVE ANALYSIS OF SOFTWARE DEVELOPMENT MODELS Sandeep Kaur* *Department of computer Science & Engineering, Guru Nanak Dev

More information

Module - 3. System Development Models and System Analysis and Design

Module - 3. System Development Models and System Analysis and Design Module - 3 System Development Models and System Analysis and Design 3.1 Terminologies 3.11 Various Terminologies used in System Development Models and System Analysis and Design are defined in below section.

More information

Dilbert Scott Adams. CSc 233 Spring 2012

Dilbert Scott Adams. CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 2 Dilbert Scott Adams CSc 233 Spring 2012 3 prerequisites CSc 233 Spring 2012 I thought we had agreed long ago that the Department

More information

Requirements and Design Overview

Requirements and Design Overview Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Introduction software development projects are large and complex a phased approach to control it is necessary

More information

Systems Analysis and Design

Systems Analysis and Design Systems Analysis and Design Michael Brydon Summer 2003 Slide 1 Introduction to the Course Course structure Lectures: material from the Dennis text Labs: in-lab assignments, demonstrations, and consulting

More information

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping Coping with change Change is inevitable in all large software projects. Business changes lead to new and changed system requirements New technologies open up new possibilities for improving implementations

More information

*ANSWERS * **********************************

*ANSWERS * ********************************** CS/183/17/SS07 UNIVERSITY OF SURREY BSc Programmes in Computing Level 1 Examination CS183: Systems Analysis and Design Time allowed: 2 hours Spring Semester 2007 Answer ALL questions in Section A and TWO

More information

Software Engineering Lifecycles. Controlling Complexity

Software Engineering Lifecycles. Controlling Complexity Software Engineering Lifecycles Class url:http://laser.cs.umass.edu/courses/cs320.spring11/ Controlling Complexity Separation of Concerns Planning Ahead Do a little work now to make later work easier The

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

More information

Software Development Chapter 1

Software Development Chapter 1 Software Development Chapter 1 1. Introduction Software Applications are increasingly used to tackle problems that concern everyday life : Automatic Bank tellers Airline reservation systems Air traffic

More information

Process Models. Projects Process. Common Process Models. Typical Student Process Model. Waterfall Model

Process Models. Projects Process. Common Process Models. Typical Student Process Model. Waterfall Model Process Models A process model specifies a general process, usually as a set of stages This model will be suitable for a class of projects i.e. a model provides generic structure of the process that can

More information

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment Copyright Rational Software 2002 http://www.therationaledge.com/content/dec_02/m_uiiterativeenvironment_jc.jsp Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

More information

VO Software Engineering

VO Software Engineering Administrative Issues Univ.Prof. Dr. Peter Auer Chair for Information Technology Email: auer@unileoben.ac.at Lecture Thursday 10:15 11:45 Project Lab Montag 16:00 19:00 Literature Helmut Balzert, Lehrbuch

More information

((MARKS)) (1/2/3...) ((QUESTIO N)) ((OPTION_ A)) What is Software?

((MARKS)) (1/2/3...) ((QUESTIO N)) ((OPTION_ A)) What is Software? SNJB s Late Sau. KBJ COE, Chandwad Department of Computer Engg PART I : Software development process, language and software development environments, language and software design methods, languages and

More information

Lecture 7: Software Processes. Refresher: Software Always Evolves

Lecture 7: Software Processes. Refresher: Software Always Evolves Lecture 7: Software Processes What is a Software Development Process? The Lifecycle of a Software Project Agile vs. Disciplined Some common approaches: RUP, SCRUM, XP, ICONIX, Where UML fits in (next lecture)

More information

Process of Interaction Design and Design Languages

Process of Interaction Design and Design Languages Process of Interaction Design and Design Languages Process of Interaction Design This week, we will explore how we can design and build interactive products What is different in interaction design compared

More information

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal Administrivia Software Process CS169 Lecture 2 Added 20 more so far Will limit enrollment to ~65 students Only one TA so far Start thinking about project proposal Bonus points for proposals that will be

More information

History of object-oriented approaches

History of object-oriented approaches Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented

More information

User-Centered Development

User-Centered Development Software Lifecycle CS470 User-Centered Development User-centered development refers to a design process for creating a system that meets the needs of the user Users should be included in the design process

More information

CS51 SOFTWARE ENGINEERING UNIT I SOFTWARE PRODUCT AND PROCESS

CS51 SOFTWARE ENGINEERING UNIT I SOFTWARE PRODUCT AND PROCESS CS51 SOFTWARE ENGINEERING UNIT I SOFTWARE PRODUCT AND PROCESS Software engineering paradigm: The framework activities will always be applied on every project... BUT the tasks (and degree of rigor) for

More information

Second. Incremental development model

Second. Incremental development model 3 rd Stage Lecture time: 8:30 AM-2:30 PM Instructor: Ali Kadhum AL-Quraby Lecture No. : 4 Subject: Software Engineering Class room no.: Department of computer science Second. Incremental development model

More information

Chapter 1: Introduction to Systems Analysis

Chapter 1: Introduction to Systems Analysis Systems Analysis and Design With UML 2.0 An Object-Oriented Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan Dennis, Barbara Wixom, and David Tegarden 2005

More information

Higher National Unit specification: general information. Graded Unit 2

Higher National Unit specification: general information. Graded Unit 2 Higher National Unit specification: general information This Graded Unit has been validated as part of the HND Computing: Software Development. Centres are required to develop the assessment instrument

More information

SOFTWARE LIFE-CYCLE MODELS 2.1

SOFTWARE LIFE-CYCLE MODELS 2.1 SOFTWARE LIFE-CYCLE MODELS 2.1 Outline Software development in theory and practice Software life-cycle models Comparison of life-cycle models 2.2 Software Development in Theory Ideally, software is developed

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK TWO MARKS UNIT I SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering

More information

Managing Change and Complexity

Managing Change and Complexity Managing Change and Complexity The reality of software development Overview Some more Philosophy Reality, representations and descriptions Some more history Managing complexity Managing change Some more

More information

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6403 SOFTWARE ENGINEERING II year/ IV sem CSE (Regulation 2013) UNIT 1- SOFTWARE PROCESS AND PROJECT

More information

Assuring Certainty through Effective Regression Testing. Vishvesh Arumugam

Assuring Certainty through Effective Regression Testing. Vishvesh Arumugam Assuring Certainty through Effective Regression Testing Vishvesh Arumugam Agenda Introduction The Problem Magnitude Management Regression Test Efficiency Solution and Approach Test Suite Maintenance Determining

More information

Software Verification and Validation (VIMMD052) Introduction. Istvan Majzik Budapest University of Technology and Economics

Software Verification and Validation (VIMMD052) Introduction. Istvan Majzik Budapest University of Technology and Economics Software Verification and Validation (VIMMD052) Introduction Istvan Majzik majzik@mit.bme.hu Budapest University of Technology and Economics Dept. of Measurement and Information s Budapest University of

More information

Software Engineering Principles

Software Engineering Principles 1 / 19 Software Engineering Principles Miaoqing Huang University of Arkansas Spring 2010 2 / 19 Outline 1 2 3 Compiler Construction 3 / 19 Outline 1 2 3 Compiler Construction Principles, Methodologies,

More information

Introduction to System Analysis and Design

Introduction to System Analysis and Design Introduction to System Analysis and Design - Dr. Mahmoud Abu-Arra - Mr. Ahmad Al-Ghoul Learning Objectives Explain systems development tools, including modeling, prototyping, and CASE tools Discuss and

More information

Object-Oriented Systems. Development: Using the Unified Modeling Language

Object-Oriented Systems. Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 3: Object-Oriented Systems Development Life Cycle Goals The software development process Building high-quality software

More information

Modern Software Engineering Methodologies Meet Data Warehouse Design: 4WD

Modern Software Engineering Methodologies Meet Data Warehouse Design: 4WD Modern Software Engineering Methodologies Meet Data Warehouse Design: 4WD Matteo Golfarelli Stefano Rizzi Elisa Turricchia University of Bologna - Italy 13th International Conference on Data Warehousing

More information

Qualification Specification for the Knowledge Modules that form part of the BCS Level 4 Software Developer Apprenticeship

Qualification Specification for the Knowledge Modules that form part of the BCS Level 4 Software Developer Apprenticeship Qualification Specification for the Knowledge Modules that form part of the BCS Level 4 Software Developer Apprenticeship BCS Level 4 Diploma in Software Development Methodologies BCS Level 4 Diploma in

More information

ANZSCO Descriptions The following list contains example descriptions of ICT units and employment duties for each nominated occupation ANZSCO code. And

ANZSCO Descriptions The following list contains example descriptions of ICT units and employment duties for each nominated occupation ANZSCO code. And ANZSCO Descriptions The following list contains example descriptions of ICT units and employment duties for each nominated occupation ANZSCO code. Content 261311 - Analyst Programmer... 2 135111 - Chief

More information

Improved Database Development using SQL Compare

Improved Database Development using SQL Compare Improved Database Development using SQL Compare By David Atkinson and Brian Harris, Red Gate Software. October 2007 Introduction This white paper surveys several different methodologies of database development,

More information

Software processes. Objectives. Contents

Software processes. Objectives. Contents 2 Software processes Objectives The objective of this chapter is to introduce you to the idea of a software process a coherent set of activities for software production. When you have read this chapter

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

Higher National Unit specification: general information. Graded Unit title: Computing: Networking: Graded Unit 2

Higher National Unit specification: general information. Graded Unit title: Computing: Networking: Graded Unit 2 Higher National Unit specification: general information This Graded Unit has been validated as part of the HND Computing: Networking. Centres are required to develop the assessment instrument in accordance

More information

1. i. What are the 3 major components of a information system and show their relationship input output

1. i. What are the 3 major components of a information system and show their relationship input output Higher National Diploma in Information Technology First Year, Second semesterexamination-2011 IT2005: System Analysis and Design Answer Script No. of pages: 11 1. i. What are the 3 major components of

More information

Planning for Information Network

Planning for Information Network Planning for Information Network Lecture 2: The network design methodology Assistant Teacher Samraa Adnan Al-Asadi 1 Contents The PPDIOO network lifecycle. Benefits of the lifecycle approach to network

More information

Objectives. Connecting with Computer Science 2

Objectives. Connecting with Computer Science 2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering process models Understand what a design document is and how it should be used during

More information

The requirements engineering process

The requirements engineering process 3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process

More information

Graded Unit title: Computing: Networking: Graded Unit 2

Graded Unit title: Computing: Networking: Graded Unit 2 SQA Advanced Unit specification: general information for centres This graded unit has been validated as part of the SQA Advanced Diploma in Computing: Networking. Centres are required to develop the assessment

More information

White Paper. Incorporating Usability Experts with Your Software Development Lifecycle: Benefits and ROI Situated Research All Rights Reserved

White Paper. Incorporating Usability Experts with Your Software Development Lifecycle: Benefits and ROI Situated Research All Rights Reserved White Paper Incorporating Usability Experts with Your Software Development Lifecycle: Benefits and ROI 2018 Situated Research All Rights Reserved Learnability, efficiency, safety, effectiveness, memorability

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 Agile Methodologies: XP 1 extreme Programming (XP) Developed by Beck in 1996. The first authentic XP book appeared in 1999, with a revised

More information

Gradational conception in Cleanroom Software Development

Gradational conception in Cleanroom Software Development Gradational conception in Cleanroom Software Development Anshu Sharma 1 and Shilpa Sharma 2 1 DAV Institute of Engineering and Technology, Kabir Nagar, Jalandhar, India 2 Lovely Professional University,

More information

Software Testing and Maintenance

Software Testing and Maintenance Software Testing and Maintenance Testing Strategies Black Box Testing, also known as Behavioral Testing, is a software testing method in which the internal structure/ design/ implementation of the item

More information

Implementing ITIL v3 Service Lifecycle

Implementing ITIL v3 Service Lifecycle Implementing ITIL v3 Lifecycle WHITE PAPER introduction GSS INFOTECH IT services have become an integral means for conducting business for all sizes of businesses, private and public organizations, educational

More information

CSC Advanced Object Oriented Programming, Spring Overview

CSC Advanced Object Oriented Programming, Spring Overview CSC 520 - Advanced Object Oriented Programming, Spring 2018 Overview Brief History 1960: Simula first object oriented language developed by researchers at the Norwegian Computing Center. 1970: Alan Kay

More information

1.264 Midterm Exam Solutions Fall, Name:

1.264 Midterm Exam Solutions Fall, Name: 1.264 Midterm Exam Solutions Fall, 2006 Name: Exam guidelines: 1. 80 minutes are allowed to complete the exam. 2. Open notes, open book. 3. No laptop computers or calculators are allowed. 4. No cell phones

More information

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Examples. Object Orientated Analysis and Design. Benjamin Kenwright Examples Object Orientated Analysis and Design Benjamin Kenwright Outline Revision Questions Group Project Review Deliverables Example System Problem Case Studey Group Project Case-Study Example Vision

More information

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process Agile Accessibility Ensuring accessibility throughout the Agile development process Presenters: Andrew Nielson, CSM, PMP, MPA Ann Marie Davis, CSM, PMP, M. Ed. Cammie Truesdell, M. Ed. Overview What is

More information

SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming

SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming Slide 1 Lesson Objectives Understand major activities of software projects Understand the place of these in different lifecycle models

More information

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design Database Systems: Design, Implementation, and Management Tenth Edition Chapter 9 Database Design Objectives In this chapter, you will learn: That successful database design must reflect the information

More information

(Objective-CS605 Software Engeenring-II)

(Objective-CS605 Software Engeenring-II) Which one of the following is NOT a useful indicator of software quality? Correctness Code size (Page 67) Maintainability Integrity Usability Which one of the following does not belong to a strategy for

More information

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT PART A (2 MARKS) UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering is a discipline in which theories, methods and tools are applied to develop professional

More information

CASE TOOLS LAB VIVA QUESTION

CASE TOOLS LAB VIVA QUESTION 1. Define Object Oriented Analysis? VIVA QUESTION Object Oriented Analysis (OOA) is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary

More information

Software change. Software maintenance

Software change. Software maintenance Software change 1 Software change is inevitable New requirements emerge when the software is used The business environment changes Errors must be repaired New equipment must be accommodated The performance

More information

About HP Quality Center Upgrade... 2 Introduction... 2 Audience... 2

About HP Quality Center Upgrade... 2 Introduction... 2 Audience... 2 HP Quality Center Upgrade Best Practices White paper Table of contents About HP Quality Center Upgrade... 2 Introduction... 2 Audience... 2 Defining... 3 Determine the need for an HP Quality Center Upgrade...

More information

Managing the development and purchase of information systems (Part 2)

Managing the development and purchase of information systems (Part 2) Managing the development and purchase of information systems (Part 2) (Week 14, Thursday 4/12/2007) BUS3500 - Abdou Illia, Spring 2007 1 LEARNING GOALS Describe alternative systems development methodologies

More information

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process Quatrani_Ch.01.fm Page 1 Friday, October 27, 2000 9:02 AM Chapter 1 Introduction What Is Visual Modeling? The Triangle for Success The Role of Notation History of the UML The Role of Process What Is Iterative

More information

Quality Management Plan (QMP)

Quality Management Plan (QMP) Quality Management Plan for LEMA Family Accountability System Version 3.3 Quality Management Plan (QMP) PROJECT TITLE LEMA FAMILY ACCOUNTABILITY SYSTEM TEAM NO #04 TEAM MEMBERS & ROLES NAME ROLES Teawon

More information

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements Journal of Software Engineering and Applications, 2016, 9, 112-127 Published Online April 2016 in SciRes. http://www.scirp.org/journal/jsea http://dx.doi.org/10.4236/jsea.2016.94010 The Analysis and Proposed

More information

COSC 310: So*ware Engineering. Dr. Bowen Hui University of Bri>sh Columbia Okanagan

COSC 310: So*ware Engineering. Dr. Bowen Hui University of Bri>sh Columbia Okanagan COSC 310: So*ware Engineering Dr. Bowen Hui University of Bri>sh Columbia Okanagan 1 Admin A2 is up Don t forget to keep doing peer evalua>ons Deadline can be extended but shortens A3 >meframe Labs This

More information

The software lifecycle and its documents

The software lifecycle and its documents The software lifecycle and its documents Supplementary material for Software Architecture course B. Meyer, May 2006 Lifecycle models Origin: Royce, 1970, Waterfall model Scope: describe the set of processes

More information

DESIGN AND TECHNOLOGY

DESIGN AND TECHNOLOGY Qualification Accredited A LEVEL NEA Marking Criteria April 2017 DESIGN AND TECHNOLOGY H404, H405 and H406 For first teaching in 2017 www.ocr.org.uk/gcsedesignandtechnology A Level Design and Technology

More information

COMP6471 WINTER User-Centered Design

COMP6471 WINTER User-Centered Design COMP6471 WINTER 2003 User-Centered Design Instructor: Shahriar Ameri, Ph.D. Student: Pedro Maroun Eid, ID# 5041872. Date of Submission: Monday, March 10, 2003. (Week 9) Outline Outline... 2 ABSTRACT...3

More information

User Experience Metric (UXM) and Index of Integration (IoI): Measuring Impact of HCI Activities

User Experience Metric (UXM) and Index of Integration (IoI): Measuring Impact of HCI Activities User Experience Metric (UXM) and Index of Integration (IoI): Measuring Impact of HCI Activities Anirudha Joshi, Industrial Design Centre, IIT Bombay Design 1 Sanjay Tripathi, Tech Mahindra Ltd. Outsourced

More information

Higher National Unit specification: general information. Graded Unit title: Computer Science: Graded Unit 2

Higher National Unit specification: general information. Graded Unit title: Computer Science: Graded Unit 2 Higher National Unit specification: general information This Graded Unit has been validated as part of the HND Computer Science. Centres are required to develop the assessment instrument in accordance

More information

Terms, Methodology, Preparation, Obstacles, and Pitfalls. Vulnerability Assessment Course

Terms, Methodology, Preparation, Obstacles, and Pitfalls. Vulnerability Assessment Course Terms, Methodology, Preparation, Obstacles, and Pitfalls Vulnerability Assessment Course All materials are licensed under a Creative Commons Share Alike license. http://creativecommons.org/licenses/by-sa/3.0/

More information

Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515

Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515 Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515 1 2 1 Selecting the Best Alternative Major Activities in the Analysis Phase Gather information Define system requirements Prototype for feasibility

More information

Topics. CS5714 Usability Engineering. Typical Software Engineering LC. An Iterative, Evaluation- Centered Life Cycle For Interaction Development

Topics. CS5714 Usability Engineering. Typical Software Engineering LC. An Iterative, Evaluation- Centered Life Cycle For Interaction Development CS5714 Usability Engineering An Iterative, Evaluation- Centered Life Cycle For Interaction Development Copyright 2004 H. Rex Hartson Deborah Hix Topics Connections of user interaction development to engineering

More information

Software Prototyping Animating and demonstrating system requirements. Uses of System Prototypes. Prototyping Benefits

Software Prototyping Animating and demonstrating system requirements. Uses of System Prototypes. Prototyping Benefits Software Prototyping Animating and demonstrating requirements Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Uses of System Prototypes

More information

PERSPECTIVE. End-to-end test automation A behaviordriven and tool-agnostic approach. Abstract

PERSPECTIVE. End-to-end test automation A behaviordriven and tool-agnostic approach. Abstract PERSPECTIVE End-to-end test automation A behaviordriven and tool-agnostic approach Anand Avinash Tambey Product Technical Architect, Infosys Abstract In today s fast changing world, IT is under constant

More information

PROTOTYPING 29/11/2017. Presented by: Shuchita Singh

PROTOTYPING 29/11/2017. Presented by: Shuchita Singh PROTOTYPING 29/11/2017 Presented by: Shuchita Singh Outline Requirement Analysis Overview Prototyping Life cycle of Prototyping Types of prototyping techniques Advantages and Disadvantages Case Studies

More information

Quality Management Plan (QMP)

Quality Management Plan (QMP) Quality Management Plan (QMP) UDM United Direct Marketing Team 09 Fall Semester Chun-Ling Chen Project manager/ Prototyper Chun-Pei Su Lifecycle Planner Shao-yen Cheng System Architect Yuan-Chang Chang

More information

For presentation at the Fourth Software Engineering Institute (SEI) Software Architecture Technology User Network (SATURN) Workshop.

For presentation at the Fourth Software Engineering Institute (SEI) Software Architecture Technology User Network (SATURN) Workshop. For presentation at the Fourth Software Engineering Institute (SEI) Software Architecture Technology User Network (SATURN) Workshop. The authors can be reached at cb@mitre.org or ioannis @Mitre.org. In

More information

Six Sigma in the datacenter drives a zero-defects culture

Six Sigma in the datacenter drives a zero-defects culture Six Sigma in the datacenter drives a zero-defects culture Situation Like many IT organizations, Microsoft IT wants to keep its global infrastructure available at all times. Scope, scale, and an environment

More information

OO Project Management

OO Project Management OO Project Management Twin Cities Java User s Group November 17, 1999 Mary Poppendieck Poppendieck.LLC Object Oriented Development Objects Simulate the Real World Example: Process Control On/Off Switch

More information

CS 490 Design Exhibition Fall 2010

CS 490 Design Exhibition Fall 2010 CS 490 Design Exhibition Fall 2010 Sanjeev Setia http://www.cs.gmu.edu/~setia/cs490/ Course Objectives Provide students an opportunity to work on a semester long project Project more substantial than a

More information

Chapter 12 Developing Business/IT Solutions

Chapter 12 Developing Business/IT Solutions Chapter 12 Developing Business/IT Solutions James A. O'Brien, and George Marakas. Management Information Systems with MISource 2007, 8 th ed. Boston, MA: McGraw-Hill, Inc., 2007. ISBN: 13 9780073323091

More information

DESIGN AND TECHNOLOGY

DESIGN AND TECHNOLOGY Qualification Accredited GCSE (9 1) NEA Marking Criteria April 2017 DESIGN AND TECHNOLOGY J310 For first teaching in 2017 www.ocr.org.uk/gcsedesignandtechnology GCSE Design and Technology Iterative Design

More information

18-642: Software Development Processes

18-642: Software Development Processes 18-642: Software Development Processes 9/6/2017 Coding Is Essentially 0% of Creating Software http://e.ubmelectronics.com/2013embeddedstudy/index.html 2 Old-School Waterfall Development Cycle Bugs SPECIFY

More information

Software Engineering with Objects and Components Open Issues and Course Summary

Software Engineering with Objects and Components Open Issues and Course Summary Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages

More information