Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Workshop 1 Methodology 13 January 2011. Introduction Method can be defined as a systematic and orderly procedure or process for attaining some objective."— Presentation transcript:

1 Workshop 1 Methodology 13 January 2011

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

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

4 Software Development Methodology 1970s – Structured programming since 1969 Structured programming – Cap Gemini SDM, originally from PANDATA, the first English translation was published in 1974. 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 1991. 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

5 Software Development Cycle

6 Software development Cycle

7 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

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

9 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

10 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

11 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;

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

13 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

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

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

16 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

17 References http://en.wikipedia.org/wiki/Software_develo pment_methodology http://en.wikipedia.org/wiki/Software_develo pment_methodology http://en.wikipedia.org/wiki/Software_develo pment_process http://en.wikipedia.org/wiki/Software_develo pment_process


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

Similar presentations


Ads by Google