CSC 354 – System Development Life Cycles & Processes, Spring 2015 March 2015 Dr. Dale Parson.

Slides:



Advertisements
Similar presentations
Systems Development Environment
Advertisements

CSC340: Tutorial 1 Software Lifecycles TA: Yuan An Date: 9:00-10:00am, Fri. Oct. 3, 2003 Location: BA1130.
Diane Pozefsky. Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will start)
Software Project Management
CS487 Software Engineering Omar Aldawud
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
29 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
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
GAI Proprietary Information
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
03/12/2001 © Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Connecting with Computer Science, 2e
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
COMP 350: Object Oriented Analysis and Design Lecture 2
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Chapter 1 The Systems Development Environment
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
Software Development Process
Chapter 2: Approaches to System Development
Chapter 1 The Systems Development Environment
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Objectives:  To define RAD  Describe RAD as a system development method  List the advantages of RAD as a method  List the disadvantages of RAD  State.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
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.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Content The system development life cycle
The Systems Development Life Cycle
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
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,
2 Systems Analysis and Design in a Changing World, Fifth Edition.
The Spiral Model Sultana & Mahmood. Systems development life-cycle The process of creating or altering computer systems The models that define the processes.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
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.
2 Systems Analysis – ITEC 3155 Systems Analysis Tasks.
10 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
4.2 SOFTWARE DEVELOPMENT METHODOLOGGY PRESENTED BY : AZURA IBRAHIM SYARIFAH SYAZA BTE SEYD ZULKAFLY CS230(5A)
Systems Development Process and Methodologies Dr. T. Ravichandran.
Software Development.
Methodologies and Algorithms
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Introduction to Software Engineering
Lecture 2 Revision of Models of a Software Process
CSC 354 – System Development Life Cycles & Processes, Fall 2013
CS101 Introduction to Computing Lecture 20 SW Development Methodology
Computer Science & Engineering Electrical Engineering
System Development Methods
Presentation transcript:

CSC 354 – System Development Life Cycles & Processes, Spring 2015 March 2015 Dr. Dale Parson

Waterfall Model This classic model performs each phase of software construction sequentially and never goes back. Requirements gathering & specification (from customers), functional specification (architect to customers), high-level & low-level design specification (architect & developers), testing specs, user manuals. In the face of too-little-information at the start, and incremental acquisition of domain, requirements and design knowledge, the Waterfall Model is unresponsive to change and prone to failure.

Iterative Development, Prototyping Iterative development is a repetitive cycle of small waterfalls, where each major phase develops a subset of a big system, with its own requirement through deployment sub-phases. Rapid prototyping is construction of partial solutions, stubs and driver code that completes some parts, partially completes some, and skips others. It may use a high-level domain or prototyping language. Spiral design combines iterative development (prototyping & consolidation) with the Waterfall. We are doing spiral design with each semester’s overall project being a sub-phase.

Surgical Team Approach This is the process we are using this semester. The Chief Surgeon is the Architect. The Architect is the team leader for the team leaders. The Architect is responsible for Conceptual Integrity – one or a few minds steer the central architectural concepts and structures. Individual project teams have leaders. Creativity is manifest in design and implementation. This approach is hierarchical.

Model-Driven Architecture Use a modeling approach such as Unified Modeling Language (UML) to drive the architecture & design. We are using UML for sketches (a.k.a. maps). Strong proponents promote models for blueprints & even as a substitute for code via CASE (Computer Aided Software Engineering) tools. Domain-specific tools (e.g. parser generators) and domain-specific modeling languages exist, but generally CASE tools generate only the boilerplate code. velopment.html velopment.html

Model-Driven Tools Creation tool creates models. Analysis tool analyzes models (e.g., for completeness.) Transformation tool transforms models into other models, documentation, or code. Composition tool merges model hierarchies. Simulation & test tools test models & code. Metadata management tool controls mappings between models and to code. Reverse engineering tool transforms legacy code into models.

Agile & Extreme – Good Parts Agile Programming (including “Scrum”) and Extreme Programming are the fashion. There is minimal reliance on formal specs. Everything lives in the code. (I like UML maps.) Have a working copy of the code at the end of every day. (I am underlining the good ideas.) Integrate tests into the build & test repository as you write code or even before.

Agile & Extreme – some OK Parts Sit together. (Max communication bandwidth.) Tear down the cubicle walls? I like some privacy. The corporate drones like hive mentality. Keep the architect involved in coding. Flatten development organization structure. Pair programming: “Write all production programs with all people sitting at one machine.” ??? There seems to be an over-emphasis on cosmetic details. “Extreme” too easily becomes another religion.

Become More Human Slavish adherence to any development methodology becomes too doctrinaire. Individuals need to be able to learn. Organizations need to be able to learn. Learning entails experimenting & adapting. Processes are fundamentally machines. Don’t let the machines do your thinking for you.