Chapter 3. Software Processes
|
|
|
- Cordelia Lawrence
- 10 years ago
- Views:
Transcription
1 Chapter 3. Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems 1 Objectives To introduce the concept of software process and software process models To describe a number of different process models and when they may be used To describe outline process models for requirements engineering, software development, testing and evolution To introduce CASE technology to support software process activities 2
2 Topics covered Software process models Process iteration Software specification Software design and implementation Software validation Software evolution Automated process support CASE support 3 The software process A structured set of activities required to develop a software system(sw process) fundamental activities common to all SW processes Specification(function & constraints of the SW) Design & Implementation(meet the spec.) Validation(ensure the SW is what the customer s needs) Evolution(meet change of the customer s need) A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective SW process improvement(chap. 25) 4
3 Generic software process models The waterfall model Separate and distinct phases of SW process activities Evolutionary development SW processes are interleaved An initial system is rapidly developed from abstract spec. Formal systems development A mathematical system model is formally transformed to an implementation by mathematical methods (code gen. By math.) Reuse-based development (chap. 14) The system is assembled from existing reusable components by integrating existed components rather than development new one. 5 Software Life-cycle & Waterfall model Requirement definition System and SW design Implementation And Unit test Integration & System test Operation & maintenance 6
4 Waterfall model phases Requirements analysis and definition services & constraints System and software design establish system architecture Implementation and unit testing verify each unit Integration and system testing integration test, B/W box test Operation and maintenance correct errors The following phase should not start until the previous phase has finished (stages overlap and feed information to each other) The SW process is not a simple linear model but involves a sequence of iteration of development activities After a small no. of iterations, it is normal to freeze parts of the development such as spec. and continue with the later development stages 7 Waterfall model problems Error and omission in early phases are discovered during the last phase (operation and maintenance) Inflexible partitioning of the project into distinct stages This makes it difficult to respond to the changing customer requirements The drawback of the waterfall model is the difficulty of accommodating change after the process is underway The waterfall model should only be used when the requirements are well understood For a larger system engineering project is used the waterfall SW process model for developing 8
5 Evolutionary development Develop an initial implementation (GUI), expose this to user comment and refine this through many versions until an adequate system has been developed. Exploratory development (chap. 8) Objective is to work with customers and to evolve a final system from an initial outline specification of customer s requirement. Should start with well-understood requirements Throw-away prototyping Objective is to understand the customer s requirements. Should start with poorly understood requirements More effective than waterfall model in producing system The spec. can be developed incrementally 9 Evolutionary development Concurrent activities Specification Initial version Outline description Development Intermediate versions Validation Final version 10
6 Evolutionary development Problems Lack of process visibility (developing quickly and no document) Systems are often poorly structured (because continual changes) Special skills may be required (incompatible with other tools or techniques and few people may have the skills) Applicability For small(< loc.) or medium-size interactive systems For parts of large systems (e.g. the user interface) For short-lifetime systems A mixed process that incorporates the best features of waterfall and evolutionary development model for developing system Developing a throw-away prototype using an evolutionary approach to understand the uncertainties of the system spec. and then redeveloped using a waterfall-based process 11 Formal systems development Requirements definition Formal specification Formal transformation Integration and system testing 12
7 Formal systems development Based on the transformation of a mathematical specification through different representations to an executable program Transformations are correctness-preserving so it is straightforward to show that the program conforms to its specification Embodied in the Cleanroom approach to software development 13 Formal systems development SW spec. is refined and expressed in a math. notation The design, implementation and unit test are replaced by a series of transformation into programs Each steps add detail (incremently) & No verification errors Ex. IBM s Cleanroom process in Chap. 19 Problems Need specialised skills and training to apply the technique (B Method) Impractical for large-scale system Difficult to formally specify some aspects of the system such as the user interface in mathematical notation subjective Applicability Critical systems especially those where a safety, reliability or security case must be made before the system is put into operation (domain limit) 14
8 Formal transformations Formal transformations T1 T2 T3 T4 Formal specification R1 R2 R3 Executable program P1 P2 P3 P4 Proofs of transformation correctness 15 Reuse-oriented development Requirements specification Component analysis Requirements modification System design with reuse COTS Development and integration System validation 16
9 Reuse-oriented development People works on the project which is similar to the previous one just modifies them to meet the new one Based on systematic reuse where systems are integrated from existing components or COTS (Commercial-off-the-shelf) systems reusable components (a large database for control) Process stages Component analysis (search for suitable components) Requirements modification (modify requirement to fit the component) System design with reuse (framework design or reuse) Development and integration (develop component and integrate with COTS) This approach is becoming more important but still limited experience with it system may not meet the real needs of users Version control is a big problem If succeed, it leads to faster delivery of the SW 17 Process iteration System requirements ALWAYS evolve in the course of a project so process iteration where earlier stages are reworked is always part of the process for large systems Iteration can be applied to any of the generic process models Two (related) approaches to support process iteration Incremental development (each phase is broken down into a series of increments and are developed in turn) Spiral development (development of system spirals outwards from an initial outline to the final developed system) Essence of iterative processes is the spec. is developed in conjunction with the SW 18
10 Incremental development In-between approach of Waterfall and Evolutionary models Reducing rework (Waterfall for change spec.) in developing Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality User requirements are prioritised and the highest priority requirements are included in early increments Customer has the chance to delay decision until he had some experience with the system Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve Requirement changes for the current increments are not accepted 19 Incremental development Define outline requirements Assign requirements to increments Design system architecture Develop system increment Validate increment System incomplete Integrate increment Validate system Final system 20
11 Incremental development advantages Customer don t have to wait the entire system is delivered. The first increment satisfies the most critical requirement can be immediately used Early increments act as a prototype to help elicit requirements for later increments Lower risk of overall project failure (though may cause problems in some increments) The highest priority system services tend to receive the most testing just because the service is first released and all other services are integrated with it 21 Extreme programming Problems of incremental development: Increments should be relative small and each increment should deliver some system functions Difficult to map the customer s requirement onto increments of the right sizes Requirements are not defined in detail until an increment, it is difficult to identify common facilities that all increments require Extreme programming New approach to development based on the development and delivery of very small increments of functionality Relies on constant code improvement, customer involvement in the development team and pair-wise programming (chap. 23) 22
12 Spiral development Process is represented as a spiral rather than as a sequence of activities with backtracking Each loop in the spiral represents a phase of the SW process. No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required Risks are explicitly assessed and resolved throughout the process 23 Spiral model 4 sectors Objective setting Specific objectives for the phase are identified (constraints on the process are identified) Risk assessment and reduction Risks are assessed and activities put in place to reduce the key risks by prototype Development and validation A development model for the system is chosen which can be any of the generic models(ui risk Evolutionary prototype, Safety risk Formal Transformation, subsystem integration risk WaterFall) Planning Project is reviewed and a decision is made whether to continue or stop The project is reviewed and the next phase of the spiral is planned Explicitly consideration of the risk in the spiral model 24
13 Spiral model of the software process Objective setting Planning Determine objectives alternatives and constraints Plan next phase REVIEW Requirements plan Life-cycle plan Development plan Integration and test plan Risk analysis Risk analysis Risk analysis Prototype 2 Risk analysis Prototype 1 Concept of Operation S/W requirements Requirement validation Design V&V Service Acceptance test Evaluate alternatives identify, resolve risks Prototype 3 Operational protoype Simulations, models, benchmarks Product design Integration test Code Unit test Detailed design Develop, verify next-level product Risk Assessment Develop & Validation 25 Software specification The SW spec. is intended to establish what services are required and the constraints on the system s operation and development (activity requirement engineering) error at this stage leads to later problem in system development Requirements engineering process Feasibility study (An estimate is made to decide whether the current SW/HW technology are satisfied by user) maybe predicted!!! Requirements elicitation and analysis(derive the system requirement through observation of existing system, discussing, task analysis) Requirements specification (translating gathered information during analysis activity to form the requirement document) Requirements validation (check the requirement for realism, consistency and completeness) 2 level of requirement: Customer and End-user need a high-level of requirement System developer need a more detailed system spec. 26
14 The requirements engineering process Feasibility study Feasibility report Requirements elicitation and analysis System models Requirements specification User and system requirements Requirements validation Requirements document 27 Software design and implementation The process of converting the system specification into an executable system Software design Description an implemented software structure that realises the specification Implementation Translate this SW structure into an executable program The activities of design and implementation are closely related and may be inter-leaved Design is to discover the error and omission in the earlier stage and feed back to the previous phase to refine 28
15 Design process activities Architectural design (identify the subsystem relationship to make up a system) Abstract specification (each subsystem s constraint and service is defined) Interface design (interface among sub-systems is defined) Component design (services are allocated to different components) Data structure design (data structure used in the system is defined) Algorithm design (detailed services are defined) 29 The software design process Requirements specification Design activities Architectural design Abstract specification Interface design Component design Data structure design Algorithm design System architecture Software specification Interface specification Component specification Data structure specification Algorithm specification Design products 30
16 Design methods Systematic approaches to develop a software design The design is usually documented as a set of graphical models (supported by CASE tools) notation & guideline Possible models of CASE tools Data-flow model (system is modelling by data transformation) Entity-relation-attribute model(describe the basic entity and their relations) Structural model (focus on system components and their interactions) Object-oriented models (inheritance of objects, static and dynamic relationships between objects) State machine diagram and entity life histories Petri-net diagram for real-time system 31 Programming and debugging CASE tools generate a skeleton program from a design Developer adds details of the operation for each component program Translating a design into a program and removing errors from that program Programming is a personal activity - there is no general programming process (start with the well-understood component?) Programmers carry out some program testing to discover faults in the program and remove these faults in the debugging process Testing establishes the existing defects and debugging is to correct them Debugging is both SW development and testing 32
17 The debugging process Locate error Design error repair Repair error Re-test program 33 Software validation Verification and validation is intended to show that a system conforms to its specification and meets the requirements of the system customer Involves checking and review processes and system testing System testing involves executing the system with test cases that are derived from the specification of the real data to be processed by the system Systems should be tested as a single unit for small program, System should be tested by subsystem incrementally for large system System components test, integrated system test, tested by user Test case generator 34
18 The testing process Unit testing Module testing Sub-system testing System testing Acceptance testing Component testing Integration testing User testing 35 Testing stages Unit testing(a function) Individual components are tested Module testing Related collections of dependent components(a module) are tested Sub-system testing Modules are integrated into sub-systems and tested. The focus here should be on module interface testing System testing Testing of the system as a whole. Testing of functional and emergent properties (performance, security, safety). Test subsystem s interface Acceptance testing(alpha test) Testing with customer data(real not simulated) to check that it is acceptable Beta testing Deliver a system to a number of potential users who agree to use that system and report problems to the system developer 36
19 Testing phases Requirements specification System specification System design Detailed design Acceptance test plan System integration test plan Sub-system integration test plan Module and unit code and tess Service Acceptance test System integration test Sub-system integration test 37 Software evolution Software is inherently flexible and can change. As requirements change through changing business circumstances, the software that supports the business must also evolve and change (change SW is cheaper than HW change) Although there has been a demarcation between development and evolution (maintenance) this is increasingly irrelevant as fewer and fewer systems are completely new The cost of maintenance are several times the initial development costs, maintenance is considered to be less challenging than original SW development Development and maintenance are considered to be a continuum 38
20 System evolution Define system requirements Assess existing systems Propose system changes Modify systems Existing systems New system 39 Automated process support (CASE) Computer-aided software engineering (CASE) is the softwares to support software development and evolution processes Activity automation Graphical editors for system model development Data dictionary to manage design entities and relations Graphical UI builder for user interface construction Debuggers to support program fault finding Automated translators to generate new versions of a program ( Old PL[COBOL] New PL[JAVA ] ) 40
21 Case technology Case technology has led to significant improvements in the software process (improve SW quality and productivity) though not the order of magnitude improvements that were once predicted by using ICASE environment Software engineering requires creative thought - this is not readily automatable by AI technology Software engineering is a team activity and, for large projects, much time is spent in team interactions. CASE technology does not really support these 41 CASE classification Classification helps us understand the different types of CASE tools and their support for process activities Functional perspective» Tools are classified according to their specific function Process perspective process integration» Tools are classified according to process activities that are supported Integration perspective control integration» Tools are classified according to how they are organized into integrated units which provide support for process activities 42
22 Functional tool classification Tool type Planning tools Editing tools Change ma na gem ent tools Configuration m anagem en t tools Prototyping tools Method-support tools La nguag e-proce ssi ng tools Program ana lysis tools Testing tools Debugging tools Docum entation tools Re-e ngine ering tools Examples PERT tools, estim ation tools, spreadsheets Text editors, diagram editors, word processors Requirem en ts trac eab ility tool s, chan ge control sys te ms V er si on m anag ement s yst ems, sys te m building tools Very h igh-level languages, user in terface generators Design editors, data dictionaries, code gene rators Com pile rs, inter pr ete rs Cro ss refe rence gener ato rs, s ta tic analysers, dynamic analysers Te st data generators, file comp arators Interactive debugging s ystems Page l ayout programs, ima ge editors Cro ss-r efer enc e s yst ems, program restru ct uring s yst ems 43 Reengineering tools Testing tools Debugging tools Program analysis tools Language-processing tools Method support tools Prototyping tools Configuration management tools Change management tools Documentation tools Editing tools Planning tools Activity-based classification Specification Design Implementation Verification and Validation
23 CASE integration Tools Support individual process tasks such as design consistency checking, compiling a program, comparing test result, etc. Workbenches Support a process phase such as specification or design, Normally include a number of integrated tools Environments Support all or a substantial part of an entire software process. Normally include several integrated workbenches 45 Tools, workbenches, environments CASE technology Tools Workbenches Environments Editors Compilers File comparators Integrated environments Process-centred environments Analysis and design Programming Testing Multi-method workbenches Single-method workbenches General-purpose workbenches Language-specific workbenches 46
24 Problem of CASE tools(supplement) Many tools developed by different vendors are used Different vendors tools have different data format Tools may have different GUI Tools provides duplicated services The name of services may be the same, the semantic is different Tools may compensate the drawback of each other through Integration 47 Integration Approach Brute force integration 1. No data semantic is considered 2. Just import/export functions is provided 3. New tools for integration is a big problem tool 1 tool 3 tool 2 tool 4 How about tool4? 48
25 Integration Approach(Cont.) Vendor dependent integration(icase) 1. Tools developed by the same vendor are well-integrated 2. Tools developed by different vendor are hard to integrate unless the meta-model is provided User interface Tool A Tool B Tool C Repository manager Repository Another Vendor's tool If metamodel is provided to other vendor 49 Integration Approach(Cont.) Vendor independent integration Tools can be integrated no matter they are developed by the same or different vendors through Presentation, Control, Process, Data integration A. Presentation Integration(PI) integrates tools in a consistent GUI way de facto standards : OSF/MOTIF, SUN/OpenWindows in UNIX, Microsoft/Windows, IBM/Wrap in DOS environment B. Control Integration(CI) provides the flexible services among tools standards : ECMA/PCTE,ANSI X3H6, OSF DCE, and OMG CORBA de facto standards : Microsoft/OLE, IBM/SOM, Sun/ToolTalk 50
26 Integration Approach(Cont.) Vendor independent integration(cont.) C. Process Integration(PRI) ensure an interactive environment to support predefined processes D. Data Integration(DI) provides the data repository service for sharing the common information of tools in a consistent data format standards : ECMA/PCTE s Repository, CDIF, and IEEE std de facto standards : Microsoft/DCOM, IBM/DSOM, Apple/OpenDoc PCTE and CORBA are still under revision. No standards can cover all these integration components. 51 The proposed enhanced architecture Plug-In/play or Replace tools Tool A... Tool N Data Integration (Repository) Control Integration (CID/CII) Inference Process Engine Integration Presentation Integration 52
27 Key points Software processes are the activities involved in producing and evolving a software system. They are represented in a software process model General activities are specification, design and implementation, validation and evolution Generic process models describe the organisation of software processes Iterative process models describe the software process as a cycle of activities 53 Key points Requirements engineering is the process of developing a software specification Design and implementation processes transform the specification to an executable program Validation involves checking that the system meets to its specification and user needs Evolution is concerned with modifying the system after it is in use CASE technology supports software process activities 54
28 HomeWork Based on your project, How about your project s evolutionary(incremental) development? Based on your project to think How many CASE tools that your project s should use(classified CASE tools)? 55
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
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
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
Modelli di sviluppo software. Enrico Giunchiglia
Modelli di sviluppo software Enrico Giunchiglia The software development process A structured set of activities required to develop a software system, including Specification Design & Development Validation
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
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
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.
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
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 Processes. Topics covered
Software Processes cmsc435-1 Topics covered Systems vs. software engineering Software process models Process iteration Process activities Computer-aided software engineering cmsc435-2 What is a system?
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
Chapter 2 Software Processes
Chapter 2 Software Processes Chapter 2 Software Processes Slide 1 Topics covered Software processes and process models Generic models: Waterfall Incremental development Reuse-oriented software engineering
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
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
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,
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
Software Engineering. Software Engineering. Software Costs
Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable performance 4) with correct operation. Ian
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
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
Software Production and Lifecycle Models
Software Production and Lifecycle Models 1 Problem Definition Change Architectural Design Verification Personnel Basic Phases Potential Difficulties, Verification, and Testing Implementation and Integration
Foundations of software engineering
Foundations of software engineering Waterfalls, V s and Spirals: Standard SE Methodologies Dr. Julie Greensmith G51 Objectives To introduce three of the major software process models: Waterfall methods
CSCI-485: Software Design
CSCI-485: Software Design Lecture 6 Note: Some slides adapted from Software Engineering by Ian Sommerville Software Processes Code-and-fix model Software process model used in the early days of computing
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 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],
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,
Unit I. Introduction
Unit I Introduction Product Life Cycles Products also have life cycles The Systems Development Life Cycle (SDLC) is a framework for describing the phases involved in developing and maintaining information
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
Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1
Rapid software development 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of more useful software To discuss the essence of agile development methods
(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 Engineering Tools and Methods
Software Engineering Tools and Methods Fernando Brito e Abreu ([email protected]) Universidade Nova de Lisboa (http://www.unl.pt) QUASAR Research Group (http://ctp.di.fct.unl.pt/quasar) SWEBOK: the 10
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...
Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1
Design with Reuse Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Objectives To explain the benefits of software reuse and some reuse
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
Software Engineering Question Bank
Software Engineering Question Bank 1) What is Software Development Life Cycle? (SDLC) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step
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
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
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:
Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
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
Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali
Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 [email protected] Spring 2014 (elicitation)
Umbrella: A New Component-Based Software Development Model
2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.
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
Chapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
Software Development: The Waterfall Model
Steven Zeil June 7, 2013 Contents 1 Software Development Process Models 2 1.1 Components of the Waterfall Model................................. 2 1.1.1 What is a requirement?. 2 1.1.2 Testing..........
Advanced Software Engineering. Software Development Processes
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Advanced Software Engineering Software Development Processes Prof. Agostino Poggi Software Development
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development
General Problem Solving Model. Software Development Methodology. Chapter 2A
General Problem Solving Model Software Development Methodology These focus on understanding what the problem is about Chapter 2A Concerned with understanding more about the nature of the problem and possible
Dependable (Safe/Reliable) Systems. ARO Reliability Workshop Software Intensive Systems
Dependable (Safe/Reliable) Systems Composing, Analyzing and Validating s to Assess / Develop / Validate Methods and Supporting Tools for the Creation of Dependable Systems ARO Reliability Workshop Intensive
CSE 435 Software Engineering. Sept 16, 2015
CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process
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
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
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
A Capability Maturity Model (CMM)
Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability
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
Classical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
Software Process for QA
Software Process for QA Basic approaches & alternatives CIS 610, W98 / M Young 1/7/98 1 This introduction and overview is intended to provide some basic background on software process (sometimes called
Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)
Total Quality Management (TQM) Quality, Success and Failure Total Quality Management (TQM) is a concept that makes quality control a responsibility to be shared by all people in an organization. M7011
Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1
Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of
CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD)
CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD) 1. INTRODUCTIONS RAD refers to a development life cycle designed Compare to traditional life cycle it is Faster development with higher quality
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
Requirements Engineering Process
Software Engineering Requirements Engineering Process Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To describe the principal requirements engineering activities and d their
Basic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering
CASE workbenches. . Software tools to support specific process phases. Objectives. Chapter 26. Chapter 26 CASE Workbenches
Chapter 26 Chapter 26 CASE Workbenches Learning Objective. Software tools to support specific process phases Frederick T Sheldon Assistant Professor of Computer Science Washington State University From
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
Rapid Software Development
Software Engineering Rapid Software Development Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain how an iterative, incremental development process leads to faster delivery
How To Write Software
Overview of Software Engineering Principles 1 Software Engineering in a Nutshell Development of software systems whose size/ complexity warrants a team or teams of engineers multi-person construction of
Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur
Module 2 Software Life Cycle Model Lesson 3 Basics of Software Life Cycle and Waterfall Model Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what is a
Requirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
How To Understand Software Engineering
PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
CMSC 435: Software Engineering Course overview. Topics covered today
CMSC 435: Software Engineering Course overview CMSC 435-1 Topics covered today Course requirements FAQs about software engineering Professional and ethical responsibility CMSC 435-2 Course Objectives To
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
CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:
CS 487 Week 8 Reading: 1. Ian Sommerville, Chapter 3. Objective: 1. To check the understandibility of the students in life cycle and process model for development of a software product. 2. To check if
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.
Análisis, diseño y construcción de Software
Análisis, diseño y construcción de Software Dizan Vasquez 1/38 Presentación 2010-2011 Profesor / ITESM Mexico - Consultor 2007-2009 2003-2004 2002-2003 2001-2002 1993-2001 1993 Postdoc / ETH Zurich Doctorado
CSC 342 Semester I: 1425-1426H (2004-2005 G)
CSC 342 Semester I: 1425-1426H (2004-2005 G) Software Engineering Systems Analysis: Requirements Structuring Context & DFDs. Instructor: Dr. Ghazy Assassa Software Engineering CSC 342/Dr. Ghazy Assassa
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
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
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
CSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models
CSC 492 The Practice of Software Engineering Lecture 3 University of Mount Union Software Life Cycle Models Software Life Cycle Models Every program (no matter what size) has several distinct phases that
Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering System Models Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain why the context of a system should be modeled as part of the RE process To describe
Chapter 13: Program Development and Programming Languages
15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning
Software Development Process Models
Software Development Process Models Balasankar C S1 M.Tech CSE 1 / 24 Software Development Process Models Activities directly related production design, coding, testing Specifies major development & quality
Business Process Management In An Application Development Environment
Business Process Management In An Application Development Environment Overview Today, many core business processes are embedded within applications, such that it s no longer possible to make changes to
CREDENTIALS & CERTIFICATIONS 2015
THE COMMUNITY FOR TECHNOLOGY LEADERS www.computer.org CREDENTIALS & CERTIFICATIONS 2015 KEYS TO PROFESSIONAL SUCCESS CONTENTS SWEBOK KNOWLEDGE AREA CERTIFICATES Software Requirements 3 Software Design
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
Software Engineering UNIT -1 OVERVIEW
UNIT -1 OVERVIEW The economies of ALL developed nations are dependent on software. More and more systems are software controlled. Software engineering is concerned with theories, methods and tools for
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
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
Requirements Engineering Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 7 Slide 1
Requirements Engineering Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 7 Slide 1 Objectives To describe the principal requirements engineering activities and their relationships
A Methodology for the Development of New Telecommunications Services
A Methodology for the Development of New Telecommunications Services DIONISIS X. ADAMOPOULOS Centre for Communication Systems Research School of Elec. Eng., IT and Mathematics University of Surrey Guildford
Systems Development Life Cycle (SDLC)
DEPARTMENT OF BUDGET & MANAGEMENT (SDLC) Volume 1 Introduction to the SDLC August 2006 Table of Contents Introduction... 3 Overview... 4 Page 2 of 17 INTRODUCTION 1.0 STRUCTURE The SDLC Manual consists
CDC UNIFIED PROCESS JOB AID
CDC UNIFIED PROCESS JOB AID Independent Verification & Validation Activities Document Purpose This Job Aid is a brief document listing the items to be noted, checked, remembered, and delivered when completing
