com332 – sa3 rad, dsdm,ooa,rup. oo methods –oo emerged in 1970’s in various fields in computer...

31
COM332 – SA3 RAD, DSDM,OOA,RUP

Upload: carl-savelle

Post on 31-Mar-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

COM332 – SA3

RAD, DSDM,OOA,RUP

Page 2: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• OO Methods– OO emerged in 1970’s in various fields in computer science– OO often associated with small-scale programming & rapid

prototyping– Both features facilitated by Smalltalk development environment

• Over past 10 years OO popular for:– Reuse– Data abstraction– Rapid prototyping– Affording powerful & intuitive approach to S/W development– Increased productivity

Page 3: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• UML Aims (Booch, Rumbaugh etc.)– Provide a ready-to-use, expressive, visual modelling

language so users can develop and exchange meaningful models

– Ability to extend and specialise core concept– Independence from programming languages and

development processes– Formal basis for understanding modelling language– Encourage growth of OO tools market– Support higher-level development concepts– Integrate best practices and methodologies

Page 4: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• UML Techniques– Static application diagrams

• Class diagrams• Object diagrams• Component diagrams• Deployment diagrams

– Dynamic behaviour diagrams• Use case diagrams• Sequence diagrams

– Activity diagrams• Collaboration diagrams• Statechart diagrams

– Organisation and management• Packages• Subsystems• Models

Page 5: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• OO Methodologies– OOA – Object Oriented Analysis– RUP – Rational Unified Process

Page 6: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• Object oriented analysis (OOA)– There has been a many different

approaches to the analysis and design of object oriented system, the most well known is Coad and Yourdon Object-Oriented Analysis (OOA) methodology.

– This approach was published before the advent of UML and was described in 1990

Page 7: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• Activities – finding class-and-objects

– identifying structures

– identifying subjects

– identifying attributes

– identifying services

• these are the activities need to be performed, not necessarily been seen as stages or sequential steps.

Page 8: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• Finding class-and-objects– This activity is about increasing the analysts

understanding of the problem domain and identifying relevant and stable classes and objects that will form the core of the application.

• Student Registration System Student is a class– Coad a nd Yourdon offer a set of helpful hints in

order to find relevant class-&-object• look for structures (see activity 2)• look at other systems with which this one interacts• ask what physical devices the system interacts with• examine the events that must be remembered and recorded• examine relevant physical, geographical and organisational

units

Page 9: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• Identifying the structure– Organise the class-&-objects into hierarchies that will enable

the benefits of inheritance to be realised

• Identifying subjects– Purpose of this is reduce the complexity of the model by

dividing or grouping it into more manageable and understandable subject areas.

• Defining attributes– Attributes of the class-&-object are defined. – For the class student - student number, name, address are

attributes

• Defining services– Services of the class and objects are defined.

• Create, delete, update etc.

Page 10: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• Rational Unified Process– In 1998 Jacobson stated that the methods war

was over by the introduction of UML – unified modelling language.

– Every one will use UML• He also recognise having a standardised modelling

language is not that all needed, people should know how to use it.

– UML is a modelling language, discovering what need to be modelled is quiet different.

– For this Jacobson, Rumbaugh, Booch, Kruchten and Royce developed and evolved a process that has become known as Unified Process and which utilizes UML for modelling.

Page 11: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• Jacobson doesn’t like the term method or methodology. He says– “a method[ology] is usually a set of interesting ideas and

general step-by-step descriptions. However, it typically does not guide developers in how to use it in commercial product development”

• he identifies a number of shortcomings of method[ologie]s– they are paper products, typically frozen in a book– they are rarely tried or tested on real products before

publication– they are simple introductions, insufficient for use in real,

typically complex projects– they focus on developing new systems at the expense of

evolving development and maintenance– they are rich in notations but lack semantics

Page 12: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• The unified process is described as use-case driven, architecture centric, iterative and incremental.– Use-case are used to capture the user

requirements. – Use case describes an element of the functionality

of the system that give the user a result of value. They thus focus on things of specific value to a particular user, and this way overcome the growth of wish list or vague general functionality.

– The system is designed based on the use-cases, implemented to support the use-cases, and is tested based upon the content of the use-cases.

Page 13: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

– RUP is an architecture centred process. • The architecture contain the details of the

hardware, operating system, the database, network etc.

– RUP is also iterative and incremental because the authors believe the requirements cannot be fully and accurately defined initially at one go.

• Requirements evolve with improved understanding and change over time.

Page 14: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• RUP has a number of cycles which together makes up the development of a project and run through its life.

• Each cycle consists of four phases– inception– elaboration– construction– transition

Page 15: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• There are nine core process workflows in RUP. – Workflow is a sequence of activities that produces a result of

observable value. • Business modelling• Requirements• Analysis and design• Implementation• Test• Deployment• Configuration and change management• Project management• Environment (support: processes, methods, tools)

– RUP also have the concept of a worker, who actually performs the role.

Page 16: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• RUP workflows– Business modelling

• Establishing the context of the system being developed and the shape of the organisation in which the system is going to be deployed.

• Identifies the currents problems, areas for re-design, identification of business rules etc.

– Requirements• Establish with the stakeholders

– what the system should do and why, – identify the boundaries of the system, – estimate the costs and the timescale.

• Vision of the system is developed which is then translated into a use-case model

Page 17: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

– Analysis and design• Convert the requirements from above into an

implementation specification. • Analysis ensures the functional requirements are met,

typically ignoring the non-functional requirements and the run-time environment.

• Analysis is the logical view of the system. • Design takes the output of the analysis and adapts it to

the constraints of the architecture and non-functional requirements.

– Implementation• Converts the designs into implementation

Page 18: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

– Test• Test and verifies the interaction of components, that all

requirements have been implemented and a quality product has been developed.

– Deployment• Deploy the finished software. This involves testing the

software, training the end-user, migrating from existing system, packaging the software and installing the software.

– Configuration and change management• Tracks and maintains the integrity of the project.

Artefacts must be identified and stored, and the various history and versions controlled.

Page 19: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

– Project management• Provides a framework for managing the project

and managing the risk. Also provides guidelines for planning, staffing, monitoring and generally performing the project management.

– Environment (support: processes, methods, tools)

• This is about supporting the project with relevant processes, methods, and tools in an organisation.

Page 20: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• SDLC – Traditional Waterfall Approach to IS development:– Emphasis on sequential activities– Pre-defined detailed deliverables– Separation of users from IT specialists

• Criticised for delivering systems that are:– Over budget– Over schedule– Not what users need– Exacerbate the ‘culture gap’

Page 21: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

– Evolutionary Development– Staged or incremental approach that periodically delivers the

system that increasingly completes over the time– It evolves through iterations

– Prototyping– A prototype is an approximation of a type that exhibits the

essential features of the final version of that type– Functional, process, performance, organisational

– uses system development tools in bid to improve requirements analysis

– Unclear, unstable requirements– High innovative innovativeness

– what the users wants is what they get– prototyping can be seen as improved form of system investigation

& analysis & an aid to design

Page 22: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• RAD – Rapid Application Development– speeding up the development process – The need to develop information system more rapidly has

been driven by rapidly changing business needs – Incremental development

• Not all the system requirements are known in the beginning– Time boxing

• System divided into number of components– Fixed resources and time variable functionality

– The Pareto principle• 80/20 rule

– MoSCow Rules– JAD work shops– Prototyping

• Help to establish user requirements– Sponsor and Champion– Toolsets

Page 23: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

– RAD Potential Strengths:• Better Client-Developer communication & collaboration• Encouraging change of mind by clients allowing systems to

evolve through changing business environment/client perspective

• Encouraging an effective learning environment for both developers & users

• Increasing client confidence• Facilitating earlier & more testing• Providing the potential for cost reductions• Reducing the deadline effect • Facilitating better interfaces• Reducing risk• Motivating users and developers

Page 24: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• Potential Weaknesses:– Management problems– Lack of control– Raised user expectations– Selecting & motivating the right users &

developers– Not viewing RAD as a fundamental change in

approach, attitude & philosophy

Page 25: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

– Martin, (1991) suggests RAD is an example of an approach that uses prototyping as part of an overall methodology

– The most important characteristics of JMRAD

– It adopts the evolutionary/prototyping approach, is not based on the traditional life cycle

– Focuses upon identifying the important users and involving them via workshops at early stages of development

– It focuses on obtaining commitment from business users

– It requires a toolset with a sophisticated repository

Page 26: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• Four phases– Requirements planning– User design– Construction– Cutover

Page 27: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• Requirements planning – two techniques– JRP, JAD– JRP Joint requirements planning (identify high level

mgmt. requirements of system at ‘strategic level’• Participants – senior managers• vision & understanding of overall objectives of system – how

can contribute to goals & strategy of organisation• Workshops

– To identify priorities– To eliminate unnecessary functions

– Joint application design (JAD)• Also the main technique of user design phase (analysis &

design)• Business users and information system people

Page 28: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• User Design– Use JAD workshops– User design achieved by right environment, use of good

prototyping tools– Prototyping tools allow quick exploration of processes:

• Interfaces• Reports• Screens• Dialogues

– Developed and expressed using 4 diagramming techniques:• entity modelling:• Functional decomposition• DFD’s• Action diagrams

Page 29: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• Construction phase– Takes the user design into detailed design and code generation. – Under taken by information system professionals using a toolset – Small development SWAT (skilled with advanced tools) teams to

improve communication– Require to work quickly

• Maximum possible use of reusable design and code

– Therefore IS’s implemented at:• lower cost• higher quality• increased speed• meeting needs of business• leading to lower maintenance costs

Page 30: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• Cutover– Involves further comprehensive testing using

realistic data in operational situation. – The user trained on the system– Organisational changes are implemented– Final cutover is effected by running the old and

new system in parallel until the new system is proved itself and the old system is phased out.

Page 31: COM332 – SA3 RAD, DSDM,OOA,RUP. OO Methods –OO emerged in 1970’s in various fields in computer science –OO often associated with small-scale programming

• JMRAD adopts the evolutionary or timebox approach to the development and implementation.– Recommends the system implementation is 90 days.

– The objective is to have the easiest and most important 80 percent of the system functionality produced in the first 90-day time box and the rest in the subsequent time boxes.

– The advantage of timebox is that it creates a focus on achieving an implementation in the specified period. In order to achieve this functionality must be trimmed accordingly.

– The timebox approach contrast with traditional approach where every conceivable requirement is implemented together & resulting complexity often cause delays.