Workshop 1 Methodology 13 January 2011. Introduction Method can be defined as a systematic and orderly procedure or process for attaining some objective.

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture # 2 : Process Models
CS487 Software Engineering Omar Aldawud
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Chapter 3 Process Models
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Chapter 4 Quality Assurance in Context
LIFE CYCLE MODELS FORMAL TRANSFORMATION
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
Alternate Software Development Methodologies
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
CS 325: Software Engineering January 15, 2015 Software Process & Methodology Prototyping Process Model Evolutionary Process Model Spiral Process Model.
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
Software Life Cycles ECE 417/617: Elements of Software Engineering
Software Engineering General Project Management Software Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Chapter 1 Principles of Programming and Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
An Agile View of Process
Chapter 1 The Systems Development Environment
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Software Development Process
CSI315 Web Applications and Technology Overview of Systems Development (342)
Chapter 2 The process Process, Methods, and Tools
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Chapter 1: Introduction to Systems Analysis and Design
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
1 Introduction to Software Engineering Lecture 1.
Software Development Life Cycle by A.Surasit Samaisut Copyrights : All Rights Reserved.
An Introduction to Software Engineering
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Software Development Life Cycle(SDLC)‏
Methodology Review Chapter 7 Part 2: Design Methodology Object-Oriented Modeling and Design Byung-Hyun Ha
10 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
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.
Principles of Programming & Software Engineering
Software Engineering cosc 4359 Spring 2017.
Software Development - Methodologies
Software Development.
Methodologies and Algorithms
Appendix B Agile Methodologies
Chapter 1: Introduction to Systems Analysis and Design
Software Development methodologies
Introduction to Software Engineering
Chapter 1: Introduction to Systems Analysis and Design
Project Lifecycle and IT Product Life Cycle
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Workshop 1 Methodology 13 January 2011

Introduction Method can be defined as a systematic and orderly procedure or process for attaining some objective. Methodology can be: "the analysis of the principles of methods, rules, and postulates employed by a discipline"; [1] [1] "the systematic study of methods that are, can be, or have been applied within a discipline". [1] [1] the study or description of methods [2] [2]

..Introduction doesn't describe specific methods; specify several processes that need to be followed. – These processes constitute a generic framework. – broken down in sub-processes, they may be combined, or their sequence may change. – However any task exercise must carry out these processes in one form or another. [3] [3] description of process, or may be expanded to include a philosophically coherent collection of theories, concepts or ideas as they relate to a particular discipline or field of inquiry.theories a simple set of methods or procedures, or it may refer to the rationale and the philosophical assumptions that underlie a particular study relative to the scientific method.philosophical assumptionsscientific method

Software Development Methodology 1970s – Structured programming since 1969 Structured programming – Cap Gemini SDM, originally from PANDATA, the first English translation was published in SDM stands for System Development Methodology Cap Gemini SDM 1980s – Structured Systems Analysis and Design Methodology (SSADM) from 1980 onwards Structured Systems Analysis and Design Methodology – Information Requirement Analysis/Soft systems methodology Information Requirement Analysis/Soft systems methodology 1990s – Object-oriented programming (OOP) has been developed since the early 1960s, and developed as the dominant object oriented programming approach during the mid-1990s. Object-oriented programming – Rapid application development (RAD) since Rapid application development – Scrum (development), since the late 1990s Scrum – Team software process developed by Watts Humphrey at the SEI Team software processSEI – Extreme Programming since 1999 Extreme Programming

Software Development Cycle

Software development Cycle

Software development activities Planning – Focus on the requirement analysis – Abstract idea as what they want as an end result, but not what the software should do – Incomplete, ambiguous ideas; with contradictory and challenging requirements to be met – Determine and state the scope – Determine the functions and modules

Software Development Activities Implementation, testing and documenting – Start program the code – Test the software from time to time – Internal design of the software is generated Input, output, modules, interaction, control, etc.

Software Development Activities Deployment and maintenance – Starts after the code is appropriately tested – A.k.a product release/sold – Should include training and support – Bug tracking and maintenance

Models Waterfall Model – The waterfall model shows a process, where developers are to follow these phases in order: Requirements specification (Requirements analysis) Requirements specificationRequirements analysis Software Design Integration Testing (or Validation) TestingValidation Deployment (or Installation) DeploymentInstallation Maintenance

Model Spiral Model – a process passing through some number of iterations, with the four quadrant diagram representative of the following activities: – formulate plans to: identify software targets, selected to implement the program, clarify the project development restrictions; – Risk analysis: an analytical assessment of selected programs, to consider how to identify and eliminate risk; – the implementation of the project: the implementation of software development and verification;

Model Iterative and Incremental development – initially small but ever larger portions of a software project to help all those involved to uncover important issues early before problems or faulty assumptions can lead to disaster. – allows a potential of reaching the design goals of a customer who does not know how to define what they want. Agile development uses iterative development as a basis but advocates a lighter and more people-centric viewpoint than traditional approaches. use feedback, rather than planning, as their primary control mechanism. The feedback is driven by regular tests and releases of the evolving software.

Model Formal methods – mathematical approaches to solving software (and hardware) problems at the requirements, specification and design levels. – Examples of formal methods include the B-Method, Petri nets, Automated theorem proving, RAISE and VDM.B-MethodPetri nets Automated theorem provingRAISEVDM – Various formal specification notations are available, such as the Z notation. More generally, automata theory can be used to build up and validate application behavior by designing a system of finite state machines. Z notationautomata theoryfinite state machines Finite state machine (FSM) based methodologies allow executable software specification and by-passing of conventional coding (see virtual finite state machine or event driven finite state machine).virtual finite state machine event driven finite state machine

Model Model-driven engineering (MDE) – focuses on creating models, or abstractions, more close to some particular domain concepts rather than computing (or algorithmic) concepts. – to increase productivity by maximizing compatibility between systems, simplifying the process of design, and promoting communication between individuals and teams working on the system.

Model Rapid Application Development (RAD) – minimal planning in favor of rapid prototyping. – involves techniques like iterative development and software prototyping.iterative development software prototyping – The "planning" of software developed using RAD is interleaved with writing the software itself. – The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements.

Model Object-Oriented – takes the objects as the basis. – the system to be developed is observed and analyzed and the requirements are defined as in any other method of system development. – Once this is done, the objects in the required system are identified. – For example in case of a Banking System, a customer is an object, a chequebook is an object, and even an account is an object. – similar to the traditional approach of system designing, in that it also follows a sequential process of system designing but with a different approach. – The basic steps of system designing using Object Modeling may be listed as: System Analysis, System Design, Object Design, Implementation System AnalysisSystem DesignObject DesignImplementation

References pment_methodology pment_methodology pment_process pment_process