43
Company LOGO DEVACOM CO., LTD. Building Better Software Faster with Software Factory Microsoft Partner Day By Mr.Prakob Pongpatimet MCSD, CSPM 21 DEC, 2006

Software Factory Tools Partner Day Final

Embed Size (px)

Citation preview

Page 1: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Building Better Software Faster with Software Factory

Microsoft Partner Day

By

Mr.Prakob PongpatimetMCSD, CSPM

21 DEC, 2006

Page 2: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Agenda

• What is Software Factory?

• Software Factory Tools

• Demo Software Factory Tools

• Demo Software Factory Application

• Benefit of Software Factory

• Question & Answer

Page 3: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

What is Software Factory?

Page 4: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

The Target of Software Factory

• Integrating critical innovations to promote the

transition from craftsmanship to manufacturing.

Page 5: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Model-Driven

Development

Architecture

Frameworks

Product Line

Development

The Four Pillars of Software Factory

Guidance

Automation

Page 6: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Overview of a Software Product Line

Product Line

Development

Production AssetsRequirements

And Feedback

Product

Development

Product Line

Member

Produces

produces uses

usesproduces

Page 7: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Model-Driven Development (MDD)

• MDD uses information captured by models to

automate development processes.

• The interest is not creating design

documentation, but rather using models to

capture information in forms that can be

processed easily.

• Using information captured by models, MDD can

also provide more extensive automation of these

activities, and more advanced forms of

automation.

Page 8: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Model Language

• We propose to use models in much the same

way as we use source code.

• Precise a modeling language must be designed

for a specific purpose.

Page 9: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Model Language Specification

• The purpose for which the modeling language is

designed should be explicitly stated.

• The concepts of the language must be

understood by people familiar with its purpose.

• The notation for the modeling language, whether

graphical or textual.

• The modeling language should have a well-

defined set of rules.

• A modeling language that meets these criteria is

called a Domain Specific Language (DSL).

Page 10: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Software Factory Schemas

• Use Cases and

Scenarios

• Business Goal

And Objectives

• Business Entity

and Relationship

• Business

Processes

• Service

Factoring

• Service

Distribution

• Quality of

Service Strategy

• Message

Schemas and

Document

Specifications

• Workflow Model

• Role Definition

• Service

Interactions

• Service Definition

• Object Models

• Logical Server

Type

• Service Mapping

• Process

Specification

• Database Schema

• Data Access

Strategy

• Use Cases and

Scenarios

• Business Goal

And Objectives

• Physical Server

• Software Installed

• Network Layout

Conceptual

Logical

Physical

Business Information Application Technology

Page 11: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

A Software Factories

Product Line Development

Software Schema

Variable Assets

Fixed Assets

Product Line Analysis

Product Line Design

Product Line Implementation

Product Development

Product Configuration

Extensible Tools

Customized Tools

Product Development

Page 12: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Software Factory Tools

Page 13: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Why tools is important for Software

Factory?

• A software factory contains a variety of

software assets and software tools.

Software FactoriesAssembling Applications

with Patterns, Models,

Frameworks, and Toolsby

Jack Greenfield and

Keith Short

Page 14: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Software Factory Tools and Framework

1. Microsoft Visual Studio 2005

2. Composite UI Application Block,

3. Enterprise Library Block,

4. Smart Client Software Factory,

5. Guidance Automation Toolkit,

6. Web Service Software Factory,

7. Web Client Software Factory

8. DSL Tools,

9. Visual Studio SDK,

10. etc.,

Page 15: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Composite UI Application Block (CAB)

Page 16: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Composite UI Application Block (CAB)

• CAB helps you build complex user interface

application that run in Windows.

• It provides both an architecture and implementation

that assists with building applications.

• Basic infrastructure for building presentation factory

on Smart Client Software Factory.

Page 17: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Shell Application

Page 18: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Demo Stage1 Create the Shell and the Form

Page 19: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Demo Stage2 Creating and Loading the Module

Page 20: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Demo Stage3 Adding the TabWorkspace

Page 21: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Demo Stage4 Create and Showing the SmartPart

Page 22: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Enterprise Library Block

Page 23: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Enterprise Library Block 3.0

Caching

Security

Data

AccessLogging

Exception

Handling

Plug-in

Config

Helpers

& Design

Instrumen-

tation

Object

Builder

Cryptography

Core

Policy Injection

Validation

Page 24: Software Factory Tools Partner Day Final

Company

LOGO

DEVACOM CO., LTD.

Smart Client Software Factory

Page 25: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Smart Client Software Factory

Page 26: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Guidance Automation Toolkit

Page 27: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Web Service Software Factory

Page 28: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Web Service Software Factory

• The Web Service Software

Factory, also referred to as

the Service Factory,

provides you with a set of

proven practices for building

distributed applications.

• Each of the Service Factory

elements is a collection of

recommended practices for

service-oriented application

development.

Page 29: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Web Client Software Factory

Page 30: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Web Client Software Factory

• Providing an integrated set of guidance

that assists architects and developers in

creating Web client application.

• It includes the following:

– ObjectBuilder

– The Page Flow Application Block

– The Composite Web UI Application

Block

• This kind of architectures fits extreamely

into a service-oriented architecture.

Page 31: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Demo Web Client Software Factory

Page 32: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Visual Studio SDK & Domain

Specific Language Tools

Page 33: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

DSL Tools & Visual Studio SDK

• A domain-specific language is designed to be

useful for a specific task in a fixed problem

domain.

• Using Domain-Specific Language Tools, you can

build customized modeling tools. You can define

a new modeling language and implement it very

simply.

Page 34: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Demo DSL Features

• The major features of a DSL are set in the

language definition (Dsl\DslDefinition.dsl).

• From this definition are generated the C# files

that implement the designer and other tools for

the language.

Page 35: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Demo Software Factory

Development Process

By Mr.Nichos Jongon

Chief Software ArchitectMCSD

MCTS

Page 36: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

How to build car in factory?

Define Car Feature

Build Prototype

Define Machine Process

Assembling

CIVIC

Engine Rim Transmission

2000cc1800cc 15” 17” Auto Manual

Page 37: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Define Software Feature

Define Car Feature

Build Prototype

Define Machine Process

Assembling

• Use Feature Model as tool for define

software feature

• Feature list come from domain expert

Page 38: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Build Application Prototype

Define Car Feature

Build Prototype

Define Machine Process

Assembling

• Build application from requirement that domain expert design

Page 39: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Create automation development

• Use “Guidance Automation Toolkit” to create automation development step

Define Car Feature

Build Prototype

Define Machine Process

Assembling

Page 40: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Assembling Application

• Use guidance as Software asset to create new

application within same software family

Define Car Feature

Build Prototype

Define Machine Process

Assembling

Page 41: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

The Benefits of Software Factory

- Develop software engineering process standard.

- Improve software quality.

- Reduce development cost.

- Reduce maintenance cost.

- Increase competitive capability with others for

outsource work items from other country.

- Improve high-end capability of Microsoft technology

and distribute to end user, developer.

- Training to developer for innovative development.

- Build Software Factory community to increase

innovative developer standard.

- New business “Software Supply Chain”

Page 42: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Conclusion

• We can build Software Factory easily and less cost with

Microsoft technology.

• Transferring Software Factory knowledge and build

Architect separate from developer.

• Promoting Software Architect specialist for continuous

improvement of software engineering process in Software

Factory.

• Getting start using Software Factory tool for better and

easier to understand Software Factory baseline.

• Promoting to use standard processes and tools widely for

building cluster and supply chain business.

Page 43: Software Factory Tools Partner Day Final

Company

LOGO

www.devacom.co.th

Thank you for your attention in Software Factory

• DEVACOM CO.,LTD.

– Software Architecture Consultant on Software Factory

using Microsoft technologies.

– Enterprise Project Management Consultant using

Microsoft Project Server.

– Contact: [email protected]