workshop 1 methodology

17
Workshop 1 Methodology 11 January 2011

Upload: ghita

Post on 05-Jan-2016

37 views

Category:

Documents


1 download

DESCRIPTION

Workshop 1 Methodology. 11 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] - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Workshop 1 Methodology

Workshop 1Methodology

11 January 2011

Page 2: Workshop 1 Methodology

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]

• "the systematic study of methods that are, can be, or have been applied within a discipline".[1]

• the study or description of methods [2]

Page 3: Workshop 1 Methodology

..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]

• 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.

• 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.

Page 4: Workshop 1 Methodology

Software Development Methodology

• 1970s– Structured programming since 1969– Cap Gemini SDM, originally from PANDATA, the first English translation was

published in 1974. SDM stands for System Development Methodology• 1980s

– Structured Systems Analysis and Design Methodology (SSADM) from 1980 onwards– 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.

– Rapid application development (RAD) since 1991.– Scrum (development), since the late 1990s– Team software process developed by Watts Humphrey at the SEI– Extreme Programming since 1999

Page 5: Workshop 1 Methodology

Software Development Cycle

Page 6: Workshop 1 Methodology

Software development Cycle

Page 7: Workshop 1 Methodology

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

Page 8: Workshop 1 Methodology

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.

Page 9: Workshop 1 Methodology

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

Page 10: Workshop 1 Methodology

Models

• Waterfall Model– The waterfall model shows a process, where

developers are to follow these phases in order:• Requirements specification (Requirements analysis)• Software Design• Integration• Testing (or Validation)• Deployment (or Installation)• Maintenance

Page 11: Workshop 1 Methodology

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;

Page 12: Workshop 1 Methodology

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.

Page 13: Workshop 1 Methodology

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. – 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.

• 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).

Page 14: Workshop 1 Methodology

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.

Page 15: Workshop 1 Methodology

Model

• Rapid Application Development (RAD) – minimal planning in favor of rapid prototyping. – involves techniques like iterative development and

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.

Page 16: Workshop 1 Methodology

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