CPSC 2150 August 21, 2015. Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.

Slides:



Advertisements
Similar presentations
Software Life Cycle Requirements analysis System design Program design Program implementation (coding) Unit testing Integration testing System testing.
Advertisements

Lecture # 2 : Process Models
Object-Oriented Software Development CS 3331 Fall 2009.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
McGraw-Hill/Irwin © 2006 The McGraw-Hill Companies, Inc. All rights reserved BUSINESS DRIVEN TECHNOLOGY Chapter Nineteen: Building Software to Support.
BUSINESS DRIVEN TECHNOLOGY
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Ch 3 System Development Environment
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Software Life Cycles ECE 417/617: Elements of Software Engineering
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
CHAPTER 17 Building Software to Support an Agile Organization
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
The web application development process Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 1.
CHAPTER 19 Building Software.
Chapter 1 The Systems Development Environment
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Transforming Organizations
Chapter 1 The Systems Development Environment
Business Driven Technology Unit 5 Transforming Organizations McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
The Rational Unified Process
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Object Oriented Analysis and Design Introduction.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Understand Application Lifecycle Management
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 e X treme P rogramming D. Dranidis September 2000 CITY College.
MCS 270 Spring 2014 Object-Oriented Software Development.
Software Engineering Management Lecture 1 The Software Process.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
June 05 David A. Gaitros Jean Muhammad Introduction to OOD and UML Dr. Jean Muhammad.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
Systems Analysis and Design in a Changing World, Fourth Edition
The principles of an object oriented software development process Week 04 1.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Waterfall Model Software project Management. Waterfall Model  The Waterfall Model was first Process Model to be introduced. It is also referred to as.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Software Development Life Cycle. The Software Life Cycle  Encompasses all activities from initial analysis until end of work  Formal process for software.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Software Development.
Process 4 Hours.
Software Engineering Management
The Web Application Development Process Models
Approaches to Systems Development
Software Processes.
Rational Unified Process
Rational Unified Process (RUP)
Basic SDLC Models SDLC  System Development Life Cycle.
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Software Engineering Lecture 17.
Logical Architecture & UML Package Diagrams
Presentation transcript:

CPSC 2150 August 21, 2015

Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges of software development Software Development Activities Desirable qualities of software products

Challenges What do you think challenges of software development might be?

Challenges Software packages are no longer small Larger packages means software more complex requiring teams of programs; thereby increasing ?what? Debugging and testing Higher expectation from clients

Software Development Activities SD involves much more than writing code Software Documentation Project requirements specification Architecture and design documents Installation and user manuals

Steps Involved in SD Software Development Life Cycle (SDLC) Requirements analysis Design Implementation and Unit Testing Integration and System Testing Maintenance

Requirements Analysis Goal: to establish the functions, services, and constraints of the software to be developed. (define the problem) Two types Customized software – for one specific customer Commercial “shrink-wrapped” - to be sold Two categories of requirements Functional – What is the software suppose to do Non-Functional – What constraints does the software operate under

Design Goal: construct a solution to the problem by establishing an overall architecture of the software by Partitioning the software into components or subsystems Identifying the relationships and dependencies among them Two categories of design System design – breaking into manageable components Detail design - creating the solution to each component

Implementation and Unit Testing Implementation is the realization of the actual code Implement each component separately Test each component indivicually

Integration and System Testing Putting all components together and testing the system as a whole Ensures the system meets the system specifications

Maintenance This step involves activities after the software has been delivered Activities include Correcting bugs Improving performance Enhancing functions or services Adapting to new environments Longest and most costly activity in the life cycle

Software Development Processes Involves when and how to complete the steps in the SDLC Options Waterfall method – each step is completed before you move on to the next step - not realistic Iterative design process Rational Unified Process (RUP) Extreme Programming (XP)

Iterative Design Introduced in 1994 by Software Engineer, Grady Booch Goal: use a number of successive iterations of the following steps: Identify a necessary class Identify the attributes and behaviors of the class Identify the relationships between the classes Define a class interface Implement the class

Iterative Design Each iteration deals with a small portion of the system until the whole system is complete This process follows the following phases AnalysisModelingDesignImplementationMaintenance Became known as the Rational Unified Process(RUP)

Iterative Design Each iteration deals with a small portion of the system until the whole system is complete Follows the following phases AnalysisModelingDesignImplementationMaintenance Became known as the Rational Unified Process(RUP)

Key Practices of RUP Develop software iteratively Systematically elicit, organize, and manage changing requirements Use component-based architecture Visually model software using UML Continually verify software quality Control changes to software

Extreme Programming XP A lightweight process – emphases producing high-quality executable code throughout the development process Small iterations that produces small bit of the overall system Each iteration improves the previous iteration until the entire system is built Relies heavily on refactoring to facilitate changes and enhancements Refactoring – restructures the code to improve the quality of the system

Key Practices of XP Planning Frequent and small release Metaphor when communicating with customer Simple design Test first Refactoring Pair programming

Key Practices of XP Collective ownership Continuous integration 40-hour weeks On-site customer Coding standards