Software development process ธนวัฒน์ แซ่ เอียบ. The development...

22
Software development process ธธธธธธธ ธธธธธธธธ

Transcript of Software development process ธนวัฒน์ แซ่ เอียบ. The development...

Page 1: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

Software development process

ธนวั�ฒน� แซ่เอี ยบ

Page 2: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

The development process

• Process– set of rules which define how a development project.

• Methodology and method– specify techniques for developing particular design

artifacts.– It also tells you something about how you should

produce these things.– specifies what modeling language should be used in

describing the analysis and design work.– UML is not methodology, but Unified Process is.

Page 3: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

process

Page 4: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

method

• Flowchart – The first major software method.

• Structured analysis– organize computer programs into a functionally.

• Object oriented – organize computer programs into larger abstractions

called objects that mirrored the real world.

• Agile methods– improve customer satisfaction.

Page 5: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

Methodology

• New methodology– Agile Manifesto– XP (Extreme Programming)– Scrum– Crystal– Context Driven Testing– Lean Development– (Rational) Unified Process

• unify software processes (like the UML) • same time as the agile methods

Page 6: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

Unified process

• Unified process (UP) is The development process

• UML is the virtual language.

Page 7: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

History of UP

• RUP is commercial version of UP from IBM

Page 8: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

UP phase

• Inception– Get the project off the ground.

• Elaboration– Create an executable architectural baseline.– Risk assessment.– Define quality attributes.

• Construction– Complete all.

• Transition– Deploy.

Page 9: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

UP phase

Page 10: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

UP

• defines the who, what, when, and how• Who

– Roles.• User particapate in system.

• what– activities and artifacts.

• Activities are tasks that will be permormed by user.• Artifacts are thing that are input and output.

– Source code, programs,standards, documentation

• When– Workflow

• Sequences of related activities that are preformed by user.

Page 11: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

The development process

• Any development process aims to produce

program• single diagram could capture verything about our

design ?

– So We will build different models of our design, reflecting these different aspects and will express

each model

Page 12: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

Models and modeling languages

• A model – is an abstract representation of a

specification, a design or a system, from a particular point of view.

• A modeling language– is a way of expressing the various models

produced during the development process.

Page 13: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

distinguish models

• The use case model – describes the required system from the users’

points of view.

• A static model – describes the elements of the system and

their relationships.

• A dynamic model– describes the behavior of the system over

time.

Page 14: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

What is the UML?

• The Unified Modeling Language is a visual language for specifying, constructing and documenting the artifacts of systems.

• Visual is pictures (with some text) related to software primarily OO software.

• focuses on frequently used diagrams.

Page 15: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

UML 1 and UML 2

• Grady Booch, Ivar Jacobson, and Jim Rumbaugh as its creators .

• official Diagram Types of the UML

Page 16: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

UML 1 and UML 2

• official Diagram Types of the UML

Page 17: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

Classification of UML diagram types

Page 18: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

Three Ways to Apply UML

• UML as sketch– Informal and incomplete diagrams created to explore

difficult parts of the problem or solution space.– often hand sketched on whiteboards.

• UML as blueprint– 1) reverse engineering to visualize and better

understanding existing code in UML diagrams– 2) code generation (forward engineering).

• UML as programming language– Complete executable specification of a software

system in UML

Page 19: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

Three Perspectives to Apply UML

• 1. Conceptual perspective– describing things in a situation of the real

world or domain of interest.

• 2. Specification (software) perspective– describe software abstractions or

components.

• 3. Implementation (software) perspective– describe software implementations.

Page 20: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

Different perspectives with UML.

Page 21: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

Why a unified modeling language?

• 1. expressive enough

• 2. easy enough to use

• 3. unambiguous

• 4. supported by suitable tools, so that developers

• 5. widely used

Page 22: Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.

ที่ �มา• UML2 and Unified Process : jim arlow