Introduction. Introduction. Software Engineering. Software Engineering. Software Process. Department of Computer Science 1
|
|
|
- Georgia Boone
- 10 years ago
- Views:
Transcription
1 COMP209 Object Oriented Programming System Design Mark Hall Introduction So far we ve looked at techniques that aid in designing quality classes To implement a software system successfully requires planning, design and testing For larger projects, the amount of time spent on planning and design is often much greater than actual coding If you spend most of your time keying in code and fixing bugs, you can cut down on total time spent by concentrating more on the planning and design phase Introduction The techniques we are going to look at are the domain of the fields of Software Engineering and Systems Analysis and Design We ll take a look at some simple techniques and processes COMP314 delves deeper Software Engineering Software engineers model parts of the real world in software Models can be abstract and complex, so are recorded and made visible in documents. This is more useful to other developers than hard to understand code Modelling and documentation is as important in the SE process as programming Many different approaches, one common idea: Decomposition of a complicated problem into less complicated parts Software Engineering Primary objective: produce quality software products Quality SE product is On time Within budget Functional User friendly Bug free Flexible Adaptable Software Process A software project usually starts because a customer has a problem and will pay money to have it solved US Dept. Defense was an early proponent of a formal process for software development A formal process identifies and describes different phases of development + guidelines on how to carry out the phases Department of Computer Science 1
2 The Software Lifecycle Many software engineers divide the process into five phases (referred to as the Software Lifecycle): Analysis decide what the project is supposed to accomplish Output: a requirements document Design develop a plan for how to implement the system Output: description of classes and methods, with diagrams showing relationships among classes Implementation write and compile program code Output: completed program (all classes and methods implemented) Testing run tests to verify that program runs correctly Output: report describing tests and their results Deployment release program and install for use The Waterfall Model In the early 1970s, software engineers had a very simple visual model of these phases Analysis Design Implementation Testing One phase runs to completion, its output spills over to the next phase, and the next phase begins Deployment The Waterfall Model When rigidly applied, the waterfall model did not work Difficult to come up with perfect requirements specification Common to discover requirements problems during the design phase Design problems often come to light during implementation Many bugs found during testing often fatal problems that could only be fixed by starting again! Unhappy customers :-( Spiral Model Developed in the late 1980 s to address shortcomings in the standard waterfall process Iterative in nature Spiral Phases (perhaps like the waterfall) are performed in each iteration to develop software that is not necessarily the final product Construction of prototypes in early iterations When intermediate system is done, the project is evaluated to see if further development should be done Spiral Model Driven by risk Risk of failure is high for large complex systems Eg. it may not be known whether the system can be produced with the resources that can be brought to bear In first turn of spiral developers try to resolve this question After each turn of the spiral new risks come to light, and a next turn is planned to resolve them In later turns, the software prototypes begin to look more an more like finished products Along the way, the original requirements might have been modified so that the final system contains only a portion of what was originally intended ie, that portion for which the risks were overcome Even complex development processes with many iterations have not always met with success In 1999 Kent Beck introduced, a development methodology that strives for simplicity Cuts out most of the formal trappings of traditional development methodologies Focuses on a set of practices Department of Computer Science 2
3 12 Commandments of : 1. Realistic planning Meet with coders, managers, and the customer each week to schedule tasks for the next phase. Update the plan regularly 2. Small releases Put a simple system into production quickly, then release new versions on a short cycle 3. Metaphor Create an analogy that expresses how the parts of the new system work 4. Simplicity Design everything to be as simple as possible instead of preparing for future complexity 12 Commandments continued 5. Testing Write test programs that assure every portion of the code runs flawlessly before attempting a new task 6. Refactoring Restructure the system continuously to improve the code and eliminate duplication 7. Pair programming Write all code with two programmers at one machine 8. Collective ownership Permit anyone on the team to change code anywhere in the system at any time 12 Commandments continued: 9. Continuous integration Whenever a task is completed, build the entire system and test it hour week Don t cover up unrealistic schedules with bursts of heroic effort 11. On-site customer Include a real, live user on the team, available full-time to answer questions 12. Coding standards Use agreed-upon styles and nomenclature to promote easy understanding of what the code does Many of the extreme programming practices are common sense For this course you will not need a full-fledged methodology to solve your assignments We will take a look at a few modeling techniques that can help in the analysis and design phase Analysis In the analysis phase of software development, the task is to discover the requirements for the software What is the software supposed to do for its users? Behaviour of the software under various conditions One tool that can help discover and organize requirements are What is a Use Case? Use cases document the behaviour of the system from the user s point of view Express requirements at a high level The first step in software analysis is to develop a sufficient set of use cases Will also be useful later on for system testing E.g. for a word processor: Build an index Insert a picture Ensure consistent formatting Department of Computer Science 3
4 A use case is a sequence of actions that an actor performs with the help of the system to accomplish a particular task An actor represents A role a user can play with regard to a system An entity such as another system or a database (outside of the system being modelled) Result of use case modelling all required system functionality is described in the use cases Use cases provide a structured approach to requirements analysis Identify the actors For each actor find out What they need from the system: that is, what use cases there are which have value for them Detail the use case: describe the steps the user would go through with the system to accomplish the usage scenario Use cases also provide a good basis for writing the user manual for the software Example: The University Library System Problem statement : You have been contracted to develop a software system for a university library. The library currently uses a 1960 s program, written in an obsolete language, for some simple bookkeeping tasks, and a card index, for user browsing. You are asked to build an interactive system which handles both of these aspects on line. Vague, but typical of an initial request University Library requirements facts after some investigation Books and journals The library contains books and journals. It may have several copies of a given book. Some of the books are for short term loans only. All other books may be borrowed by any library member for three weeks. Members of the library can normally borrow up to six items at a time, but members of staff may borrow up to 12 items at one time. Only members of staff may borrow journals. New books and journals arrive regularly and are sometimes disposed of. The current year s journals are sent away to be bound into volumes at the end of each year. There may in future be be a requirement for users to be able to extend the loan of a book if it is not reserved. Borrowing The system must keep track of when books and journals are borrowed and returned, enforcing the rules described above. Browsing The system will allow users to search for a book by topic, author, etc., to check whether a copy of a book is available for loan, and if not, to reserve the book. Anybody can browse in the library Users: Librarian Library member Non-library member Actors (roles): Librarian BookBorrower JournalBorrower Browser Actors in the Library System in the Library System BookBorrower Reserve book, Borrow copy of book, Return copy of book, Extend loan JournalBorrower Borrow journal, Return journal Browser Browse Librarian Update catalogue Department of Computer Science 4
5 Library System Use Case Diagram Library System Reserve book Borrow journal JournalBorrower BookBorrower Borrow copy of book Return copy of book Return journal Browse Browser Extend loan Update catalogue Librarian Documenting Detail of each use case should be documented Use third-person, active voice English Use terms from the problem domain (i.e. Those that the user would understand) Say what the system does, not how or implementation detail The basic course of action is the main start-to-finish path the user will follow under normal circumstances An alternative course of action can represent an infrequently used path, an exception, or error Borrow copy of book use case Actor: BookBorrower Trigger: A potential BookBorrower presents a book to the Librarian Preconditon(s): The Librarian has successfully identified himself or herself to the library system by entering a valid library staff identification number and password. Basic course: A BookBorrower presents a book. The system checks that the potential borrower is a member of the library and that he/she does not already have the maximum permitted number of books on loan. The system records that this library member has this copy of the book on loan. Alternative course(s): 1) If potential borrower is not a member of the library the system refuses the loan. 2) If the library member has the maximum permitted number of books (12 for staff members, otherwise 6) the system refuses the loan Postcondition(s): If the loan is successful then the system records the loan against the library member s record. Otherwise, nothing in the system has changed when this use case ends. Documenting Granularity? How big or small should a use case be? Guideline: a use case should accomplish something of value for the actor involved E.g. ATM system: is enter pin number using keypad a use case? No, it doesn t achieve something of value for the actor Probably one step in a withdraw funds use case here the value for the user is the funds received from the ATM Helps with three difficult aspects of development Identifying and capturing requirements Planning iterations of development Testing systems Department of Computer Science 5
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer
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
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
6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.
6. Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project. Hundreds of different kinds of models are known and used.
Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal [email protected]
Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal [email protected] Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC
Testing, What is it Good For? Absolutely Everything!
Testing, What is it Good For? Absolutely Everything! An overview of software testing and why it s an essential step in building a good product Beth Schechner Elementool The content of this ebook is provided
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,
XP and TDD. Extreme Programming and Test Driven Development. Bertrand Meyer, Manuel Oriol Andreas Leitner. Chair of Software Engineering ETH Zurich
XP and TDD Extreme Programming and Test Driven Development Bertrand Meyer, Manuel Oriol Andreas Leitner ETH Zurich October 27, 2006 Outline Development Processes Overview Extreme Programming Test Driven
Extreme Programming, an agile software development process
Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled
Large Scale Systems Design G52LSS
G52LSS Lecture 3 Rapid and Agile Development Rapid Application Development Prototyping CASE Tools Agile Development Extreme Programming Learning outcomes: describe main features of methods for RAD and
From Business Event to BUC
From Business Event to BUC This is the third article in a series that explains the thinking behind the Volere 1 requirements techniques. Subsequent articles will explore various aspects of applying these
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
Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
(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
Extreme Programming, an agile software development process
Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled
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
Agile Software Development Methodologies and Its Quality Assurance
Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed
Agile Models. Software Engineering 2004-2005. Marco Scotto ([email protected]) Software Engineering
Agile Models 2004-2005 Marco Scotto ([email protected]) Content Introduction Tame projects & wicked projects Win-Win Spiral software development model XP software development process Enforcing the
Software Development Life Cycle Models- Comparison, Consequences
Software Development Life Cycle Models- Comparison, Consequences Abstract- Software Development Life Cycle is a well defined and systematic approach, practiced for the development of a reliable high quality
How To Understand The Difference Between Extreme Programming And Feature Driven Development
Comparing extreme Programming and Feature Driven Development in academic and regulated environments Serguei Khramtchenko (Address removed) [email protected] Final paper for CSCIE-275: Software Architecture
Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML
Use-Case Analysis Use-Case Analysis! What is it?! An informal, user-friendly, technique useful for functional requirements analysis and specification! From where did it come?! Ivar Jacobson, a Swedish
Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008
Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008 Who wants to be involved in a BI project or program that is labeled slow or inflexible? While I don t believe
Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem
Agile processes Extreme Programming, an agile software development process Perdita Stevens School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development
Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods
Topics covered Chapter 3 Agile Software Development Agile methods Plan-driven and agile Extreme programming Agile project management Scaling agile methods 1 2 Need for rapid software Rapid software Changing
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
XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories
XP & Scrum Beatrice Åkerblom [email protected] extreme Programming XP Roles XP Roles, cont!d! Customer ~ Writes User Stories and specifies Functional Tests ~ Sets priorities, explains stories ~ May or
How To Develop An Application
What is Application Lifecycle Management? David Chappell Sponsored by Microsoft Corporation Copyright 2014 Chappell & Associates Defining application lifecycle management (ALM) isn t easy. Different people
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)
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
Agile So)ware Development
Software Engineering Agile So)ware Development 1 Rapid software development Rapid development and delivery is now often the most important requirement for software systems Businesses operate in a fast
Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.
Software Process Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind. Any process has these characteristics: The process prescribes all
Getting Started with Kanban Paul Klipp
Getting Started with Kanban Paul Klipp kanbanery 2 Contents 3/ Getting Started with Kanban 4/ What is Kanban? 7/ Using Kanban Does kanban apply to me? How can it help me? What will I have to change? 10/
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
Introduction to Software Paradigms & Procedural Programming Paradigm
Introduction & Procedural Programming Sample Courseware Introduction to Software Paradigms & Procedural Programming Paradigm This Lesson introduces main terminology to be used in the whole course. Thus,
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,
Agile processes. Extreme Programming, an agile software development process
Agile processes Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development
ATM Case Study Part 1
ATM Case Study Part 1 A requirements document specifies the purpose of the ATM system and what it must do. Requirements Document A local bank intends to install a new automated teller machine (ATM) to
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
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
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
CMMI - The AGILE Way By Hitesh Sanghavi
CMMI - The AGILE Way By Hitesh Sanghavi 1 The Maturity Levels 5 Focus on process improvement Optimizing 3 4 2 Process measured and controlled Process characterized for the organization and is proactive
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...
Software Development Process
Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software
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
Software Development Processes. Software Life-Cycle Models
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
Software Development Methodologies
Software Development Methodologies Jonathan Hoyle Eastman Kodak Thursday, June 2, 2005 Overview Predictive Methodologies Waterfall Other Predictive Methodologies Agile Methodologies Extreme Programming
Story Card Based Agile Software Development
Story Card Based Agile Software Development Chetankumar Patel, and Muthu Ramachandran Leeds Metropolitan University, UK [email protected] Abstract The use of story cards for user stories in many Extreme
Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology
Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...
4.4 What is a Requirement? 4.5 Types of Requirements. Functional Requirements
4.4 What is a Requirement? It is a statement describing either 1) an aspect of what the proposed system must do, or 2) a constraint on the system s development. In either case it must contribute in some
Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 1/10/99 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
Getting started with API testing
Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...
Software Life Cycle. Management of what to do in what order
Software Life Cycle Management of what to do in what order Software Life Cycle (Definition) The sequence of activities that take place during software development. Examples: code development quality assurance
UML TUTORIALS THE USE CASE MODEL
UML TUTORIALS THE USE CASE MODEL www.sparxsystems.com.au Sparx Systems 2004 Page 1/5 describes the proposed functionality of the new system. A Use Case represents a discrete unit of interaction between
Software Development Life Cycle & Process Models
Volume 1, Issue 1 ISSN: 2320-5288 International Journal of Engineering Technology & Management Research Journal homepage: www.ijetmr.org Software Development Life Cycle & Process Models Paritosh Deore
The Impact of Transaction-based Application Performance Management
An AppDynamics Business White Paper MASTERING APPLICATION PERFORMANCE IN FINANCIAL SERVICES The Impact of Transaction-based Application Performance Management Managing applications in the world of Financial
SOFTWARE ENGINEERING CSC 423 B - MWF 11-12 EXTREME PROGRAMMING
SOFTWARE ENGINEERING CSC 423 B - MWF 11-12 EXTREME PROGRAMMING TO: Dr. Khaldoun El Khalidi FROM: Lamia Nassif, Jessy, Nadine Ghanem, & Pedro Maroun Eid Due: 20 March 2002 1 Table of Contents I. ABSTRACT...3
Agile methods. Objectives
Agile methods CMSC435-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 To explain
In the same spirit, our QuickBooks 2008 Software Installation Guide has been completely revised as well.
QuickBooks 2008 Software Installation Guide Welcome 3/25/09; Ver. IMD-2.1 This guide is designed to support users installing QuickBooks: Pro or Premier 2008 financial accounting software, especially in
Writing Use Case Scenarios for Model Driven Development
Writing Use Case Scenarios for Model Driven Development This guide outlines how to use Enterprise Architect to rapidly build Use Cases and increase your productivity through Model Driven Development. Use
Sofware Requirements Engineeing
Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (). Understandable
The structure of accounting systems: how to store accounts Lincoln Stoller, Ph.D.
The structure of accounting systems: how to store accounts Lincoln Stoller, Ph.D. balances In my most recent article I considered the simplest accounting system consisting of a single file of general ledger
Access Teams with Microsoft Dynamics CRM 2013
Access Teams with Microsoft Dynamics CRM 2013 VERSION: 1.0 AUTHOR: Roger Gilchrist COMPANY: Microsoft Corporation RELEASED: November 2013 Copyright This document is provided "as-is". Information and views
The Software Lifecycle. Software Lifecycles
The Software Lifecycle Examining the phases of large-scale software development projects Jeff Stephenson Software Lifecycles Software Engineering vs. Programming What you have done for our past assignments
Software Life Cycle Models
Software Life Cycle Models Waterfall model Prototyping models Rapid prototyping Incremental prototyping Evolutionary prototyping Spiral model 1 Waterfall Model Like liquid flows down stair steps... the
Secrets to Automation Success. A White Paper by Paul Merrill, Consultant and Trainer at Beaufort Fairmont, LLC
5 Secrets to Automation Success A White Paper by Paul Merrill, Consultant and Trainer at Beaufort Fairmont, LLC 5 Secrets to Automated Testing Success 2 Secret #1 Practice Exceptional Leadership If you
extreme Programming An Overview
extreme Programming An Overview Methoden und Werkzeuge der Softwareproduktion WS 1999/2000 Author Thomas Dudziak 1 INTRODUCTION... 4 WHAT IS EXTREME PROGRAMMING?... 4 OUTLINE... 4 BASIC CONCEPTS... 5 THE
Foundations for Systems Development
Foundations for Systems Development ASSIGNMENT 1 Read this assignment introduction. Then, read Chapter 1, The Systems Development Environment, on pages 2 25 in your textbook. What Is Systems Analysis and
INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal
INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal Research Article ISSN 2277 9140 ABSTRACT Analysis and tabular comparison
Advanced Test-Driven Development
Corporate Technology Advanced Test-Driven Development Software Engineering 2007 Hamburg, Germany Peter Zimmerer Principal Engineer Siemens AG, CT SE 1 Corporate Technology Corporate Research and Technologies
RUP. Development Process. Iterative Process (spiral) Waterfall Development Process. Agile Development Process. Well-known development processes
Well-known development processes Development Process RUP (Rational Unified Process) (Capability Maturity Model Integration) Agile / XP (extreme Programming) Waterfall Development Process Iterative Process
SECTION 2 PROGRAMMING & DEVELOPMENT
Page 1 SECTION 2 PROGRAMMING & DEVELOPMENT DEVELOPMENT METHODOLOGY THE WATERFALL APPROACH The Waterfall model of software development is a top-down, sequential approach to the design, development, testing
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology [email protected] Beate List Vienna University of Technology [email protected]
Top Ten Reasons to Transition Your IT Sandbox Environments to the Cloud
Top Ten Reasons to Transition Your IT Sandbox Environments to the Cloud WHITE PAPER BROUGHT TO YOU BY SKYTAP 2 Top Ten Reasons to Transition Your IT Sandbox Environments to the Cloud Contents Executive
Chapter 5. Regression Testing of Web-Components
Chapter 5 Regression Testing of Web-Components With emergence of services and information over the internet and intranet, Web sites have become complex. Web components and their underlying parts are evolving
3C05: Unified Software Development Process
3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2
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
Course Registration Case Study
Course Registration Case Study Table of Contents Case Study...1 Case Study Background... 2 Course Registration System Problem Statement... 2 The Role of Tools... 2 Project Summary... 2 The Inception Phase...
Chapter 8 Approaches to System Development
Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases
PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT
PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT Ing. David BEDNÁŘ, Doctoral Degree Programme (2) Dept. of Information Systems, FIT, BUT E-mail: [email protected] Supervised by:
Agile Projects 7. Agile Project Management 21
Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management
1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)
1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4) A software process model is a standardised format for planning organising, and running a development project. 1 Hundreds of different models
Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD
Development Techniques CSE301 University of Sunderland Harry R. Erwin, PhD Sources Boehm, 1981, Software Engineering Economics, Prentice- Hall. Stephens and Rosenberg, 2003, Extreme Programming Refactored:
Testing Rails. by Josh Steiner. thoughtbot
Testing Rails by Josh Steiner thoughtbot Testing Rails Josh Steiner April 10, 2015 Contents thoughtbot Books iii Contact us................................ iii Introduction 1 Why test?.................................
COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring 2008. For the 1 st Quiz
COSC 3351 Software Design Recap for the first quiz Spring 2008 For the 1 st Quiz Three large topic areas: UML syntax and diagrams Software architectural styles Object oriented design principles A couple
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference
Implementing Continuous Integration Testing Prepared by:
Implementing Continuous Integration Testing Prepared by: Mr Sandeep M Table of Contents 1. ABSTRACT... 2 2. INTRODUCTION TO CONTINUOUS INTEGRATION (CI)... 3 3. CI FOR AGILE METHODOLOGY... 4 4. WORK FLOW...
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
SEEM4570 System Design and Implementation Lecture 10 Software Development Process
SEEM4570 System Design and Implementation Lecture 10 Software Development Process Software Development A software development process: A structure imposed on the development of a software product Also
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
COMP 354 Introduction to Software Engineering
COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: [email protected] Winter 2015 Course
TOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
15.3.3 OOA of Railway Ticket Reservation System
448 15.3.3 OOA of Railway Ticket System Assume that domain analysis is complete and DAD is ready for reference. The analyst also has a fair knowledge of the system and the system environment. For the sake
