The document discusses Devacom Co., Ltd.'s presentation on software factories at a Microsoft Partner Day event. It introduces software factories as a way to transition from craftsmanship to manufacturing in software development. Key aspects of software factories include model-driven development, architecture frameworks, product line development, and guidance/automation. The presentation demonstrates tools like the Composite UI Application Block, Enterprise Library Block, and Smart Client Software Factory that can be used to build software factories.
4. Company
LOGO
DEVACOM CO., LTD.
The Target of Software Factory
• Integrating critical innovations to promote the
transition from craftsmanship to manufacturing.
6. Company
LOGO
DEVACOM CO., LTD.
Overview of a Software Product Line
Product Line
Development
Production Assets
Requirements
And Feedback
Product
Development
Product Line
Member
Produces
produces uses
uses
produces
7. 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.
9. 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).
10. 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
11. 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
13. 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 Factories
Assembling Applications
with Patterns, Models,
Frameworks, and Tools
by
Jack Greenfield and
Keith Short
14. 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.,
16. 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.
28. 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.
30. 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.
33. 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.
34. Company
LOGO
www.devacom.co.th
Demo DSL Features
• The major features of a DSL are set in the
language definition (DslDslDefinition.dsl).
• From this definition are generated the C# files
that implement the designer and other tools for
the language.
36. 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
41. 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”
42. 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.
43. 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: prakob@devacom.co.th