Software Production 0721330 1 (0721330) First Semester 2011/2012 Dr. Samer Odeh Hanna (PhD)

Slides:



Advertisements
Similar presentations
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Advertisements

Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Computer Science Department
Chapter 2 Approaches to System Development
Software Life Cycle Sources:
CSC 480 Software Engineering
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
IS6112 Application Modelling and Design Introduction.
Introduction To System Analysis and Design
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Software Engineering About the Course Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.
Chapter 8, Object Design Introduction to Design Patterns
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Systems Analysis and Design in a Changing World, Fifth Edition
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
System Engineering Instructor: Dr. Jerry Gao. System Engineering Jerry Gao, Ph.D. Jan System Engineering Hierarchy - System Modeling - Information.
Software Engineering Course Instructor: Aisha Azeem.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
SYSTEM ANALYSIS AND DESIGN
The Software Development Cycle Defining and understanding the problem.
Introduction To System Analysis and design
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Chapter 2: Approaches to System Development
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
Course Introduction Software Engineering
Introduction to Software Design Chapter 1. Chapter Objectives  To become familiar with the software challenge and the software life cycle  To understand.
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
Introduction To System Analysis and Design
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Content The system development life cycle
The Systems Development Life Cycle
2 Systems Analysis and Design in a Changing World, Fifth Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Software Production Chapter 2: Identifying Software Development Activities.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle (Waterfall)
IS2210: Systems Analysis and Systems Design and Change Twitter:
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Production ( ) Lecture 3: Dr. Samer Odeh Hanna (PhD) office: 318.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Appendix B: Getting Started in Systems Analysis and Design.
Methodology Review Chapter 7 Part 2: Design Methodology Object-Oriented Modeling and Design Byung-Hyun Ha
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Software Production ( ) Second Semester 2010/2011 Dr. Samer Odeh Hanna (PhD) office: 318.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Software Engineering – Fall 2015 (CSC 4350/6350) TR. 5:30 pm – 7:15 pm Rao Casturi 09/01/2015
INTERNATIONAL BURCH UNIVERSITY
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Dr. Samer Odeh Hanna (PhD)
Chapter 1, Introduction to Software Engineering
Presentation transcript:

Software Production ( ) First Semester 2011/2012 Dr. Samer Odeh Hanna (PhD)

Software Production Course Objectives  This course provides students with an overall context in which software systems are developed from the viewpoint of processes that support the development.  Software engineering is described as the set of activities developers engage in to create high-quality products within schedule and budget constraints.

Software Production Specific Objectives  Understand the theoretical basis for process improvement efforts.  Compare specific processes

Software Production Objectives Actual Core Processes Process Improvement Frameworks Process Models Making Things Better Knowing What we Are doing In first place

Software Production Textbooks  B. Bruegge, A. H. Dutoit, “Object-Oriented Software Engineering Using UML, Patterns, and Java”, Third Edition, Prntice Hall,  R. Pressman, “Software Engineering, A Practitioner’s Approach” Seventh Edition, McGraw-Hill,  J. Hunt, “Agile Software Construction”, Springer, Notes:  First and second textbooks are available at the university library  Third is available as a pdf file on the lecturer’s website.

Software Production Chapter 1: Introduction

Software Production Requirements Software What we intend

Software Production How it should go Requirements Analysis Implementation Design Testing Delivery and Installation

Software Production Inherent Problems with Software Development  Requirements are complex  The client does not know the functional requirements in advance  Requirements may be changing  Technology enablers introduce new possibilities to deal with requirements  Frequent changes are difficult to manage  There is more than one software system  New system must be backward compatible with existing system (“legacy system”)  This leads us to software life cycle modeling

Software Production Definitions  Software lifecycle modeling: Attempt to deal with complexity and change  Software lifecycle:  Set of activities and their relationships to each other to support the development of a software system

Software Production Identifying Software Development Activities  For finding activities and dependencies we can use the same modeling techniques when modeling a system such as creating scenarios, use case models, object identification, drawing class diagrams, activity diagrams  Questions to ask:  What is the problem?  What is the solution?  What are the mechanisms that best implement the solution?  How is the solution constructed?  Is the problem solved?  Can the customer use the solution?  How do we deal with changes that occur during the development? Are enhancements needed?

Software Production Possible Identification of Software Development Activities Requirements Analysis What is the problem? System Design What is the solution? Program Design What are the mechanisms that best implement the solution? Program Implementation How is the solution constructed? Testing Is the problem solved? Delivery Can the customer use the solution? Maintenance Are enhancements needed? Problem Domain Problem Domain Implementation Domain Implementation Domain

Software Production Software Development as Application Domain: A Use Case Model

Software Production Activity diagram for the same life cycle model Software development goes through a linear progression of states called software development activities

Software Production Software Development as Application Domain: Simple Object Model Object Design Document Requirements Analysis Document Executable systemProblem Statement Software Development System Design Document Test Manual User Manual

Software Production What is a process?  A group of homogeneous tasks that are related together in which an outcome can be identified.  People, equipment, input, methods, and environment that work together to produce output.  The set of activities, methods, and practices that are used in the production and evolution of software.  Set of activities, organized in steps, in order to transform users needs into operational software.  Steps, partially ordered, are in interaction and aim to achieve a goal.

Software Production Processes, Activities and Tasks  Process Group: Consists of Set of Processes  Process: Consists of Activities  Activity: Consists of sub activities and tasks Process Group Process Group Process Activity Development Design Task Design Database Design Database Make a Purchase Recommendation Make a Purchase Recommendation

Software Production Object Model of the Software Life Cycle

Questions