1 / 17

Workshop 1 Methodology

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]

ghita
Download Presentation

Workshop 1 Methodology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Workshop 1Methodology 11 January 2011

  2. Introduction • Method can be defined as a systematic and orderly procedure or process for attaining some objective. • Methodologycan 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]

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

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

  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) • Software Design • Integration • Testing (or Validation) • Deployment (or Installation) • 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. • 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).

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

  17. References • http://en.wikipedia.org/wiki/Software_development_methodology • http://en.wikipedia.org/wiki/Software_development_process

More Related