470 likes | 586 Views
S OFTWARE F ACTORY. Bersabe , Toni Rose Castañeda , Karen Rose Loreto, Jeremy Ong, Glenn Richmond EM-TECH – S15. H ISTORY. Michael A. Cusumano of M.I.T. – major historian of Software Factory
E N D
SOFTWARE FACTORY Bersabe, Toni Rose Castañeda, Karen Rose Loreto, Jeremy Ong, Glenn Richmond EM-TECH – S15
HISTORY • Michael A. Cusumano of M.I.T. – major historian of Software Factory • Late 1960s – term ‘factory’ had arrived in software engineering; associated with computer-aided tools, management-control systems, modularization, and reusability • Hitachi – first company in the world to adopt the term ‘factory’ to label a software facility • Steve Cook and Stuart Kent of Microsoft – proposed the Software Factory method
DEFINITION Jack Greenfield and Keith Short A software product line that configures extensible tools, processes, and content using a software factory template based on a software factory schema to automate the development and maintenance of variants of an archetypical product by adapting, assembling, and configuring framework-based components
DEFINITION Microsoft Patterns & Practices Team A software factory is a structured collection of related software assets. When a software factory is installed in a development environment, it helps architects and developers efficiently create high-quality of specific types of applications
Designers Developers Focused tool with specific instructions targeted at solving small and specific business problems Business Analysts Testers Project Managers Architects Software Development Tool
HOW IT WORKS • Development – component assembly, involving customization, adaptation, and extension • Outputs multiple product instances – each one different from the previous one based on the unique configuration of it
COMPONENTS • Design Patterns • A general reusable solution to common problems in software design • Description or template of solving problems in many different situations • Is not a finished design that can be transformed directly into code
SOFTWARE FACTORY MODEL • Utilizes a set of industrialization patterns that hastens rapid development of software products (MSDN, 2004).
MASS CUSTOMIZATION • Modular Customization -uses the “building blocks” principle • Adjustable Customization - reversible type of customization • Dimensional Customization - permanent customization procedures - e.g. mixing, tailoring or even cutting-to-fix
MANUFACTURER’S PERSPECTIVE Advantages Disadvantages • Reduction of costs • Earns customer loyalty • Competitive advantage • Thorough analysis of the customer’s needs • Higher incomes • Competitive position • Process-feasibility technology • High chances for business improvement • Organizational readiness • Considered as an expensive IT investment • Requires training • Probable risks for failure
CUSTOMER’S PERSPECTIVE Advantages Disadvantages • Customer convenience • Products are designed according to the customer’s preferences • Purchases may be done in spite of differences of time and location between the manufacturer and the customer • Customized according to the individual needs of a client • Takes longer time to be delivered • Procurement is much complicated than what we know • Difficulty to get hold of the final product before it gets to be purchased
CUSTOMER’S PERSPECTIVE Advantages Disadvantages • Customers will be able to tell the manufacturer what exactly they need • Encourages clients to invest ample amount of time to design their products which in turn creates an atmosphere of loyalty • Customized products are usually priced much higher than the usual ones
SOFTWARE FACTORY SCHEMA Recipe Ingredients: Projects Source Code Directories SQL Files Configuration Files
SOFTWARE FACTORY SCHEMA • Explains how they should be combined to come a product. • describes the product line architecture, and key relationships between components and frameworks of which it is comprised.
SOFTWARE FACTORY TEMPLATE Bag of groceries Contains the listed ingredients in the recipe.
SOFTWARE FACTORY TEMPLATE • Provides the patterns, guidance, templates, frameworks, samples, custom tools, stylesheets, and other ingredients used to build products
EXTENSIBLE DEVELOPMENT ENVIRONMENT Kitchen It is where products are being developed
Products Meals
Stakeholders Customers
Product Specification Specific meal
Product Developers Cooks
Product line Developers Chefs
SMART CLIENT SOFTWARE FACTORY • Provides an integrated set of guidance that assists architects and developers create composite smart client applications
SMART CLIENT SOFTWARE FACTORY Contents: • Templates • Patterns • Quickstarts • How-to topics • Reference Implementations
SMART CLIENT SOFTWARE FACTORY Scenario: • Architects – use software factory to create their own client baseline architecture and distribute it to developers • Developers – use it to create smart client apps given the proven practices
SMART CLIENT SOFTWARE FACTORY Benefits: • Businesses - increased user productivity and simplification of business tasks • Architects - improved quality and consistency • Developers - increased productivity and faster ramp-up times • Operations - consolidation of operational efforts
WEB SERVICE SOFTWARE FACTORY • Helps developers and architects build Web service applications • Integrated collection of tools, patterns, source code and prescriptive guidance
WEB SERVICE SOFTWARE FACTORY Benefits: • Increased quality • Increased predictability • Increased productivity • Increased flexibility
MOBILE CLIENT SOFTWARE FACTORY • Provides guidance to help architects and developers create mobile applications that interact with back-end systems over networks like WiFi and GPRS
MOBILE CLIENT SOFTWARE FACTORY Contents: • Guidance / Patterns • How-to topics • Reference Implementations • Guidance Automation Toolkit
MOBILE CLIENT SOFTWARE FACTORY Benefits: • Accelerated start • Reduced risk • Increased quality • Increased productivity • Ease of adoption
WEB CLIENT SOFTWARE FACTORY • Provides proven solutions to common challenges found while building and operating large transaction processing enterprise Web sites
WEB CLIENT SOFTWARE FACTORY Contents: • Collection of reusable components and libraries • Visual Studio 2005 solution templates, wizards and extensions • How-to topics
WEB CLIENT SOFTWARE FACTORY Benefits: • Business – simplification of business tasks • Architecture – common development architecture • Developer Teams – faster production
ACROPOLIS • Define your entire application in a very rich designer environment • Build parts, behaviors, navigation, and even business logic all in a designer • Future of smart client software factory
SOFTWARE FACTORY Bersabe, Toni Rose Castañeda, Karen Rose Loreto, Jeremy Ong, Glenn Richmond EM-TECH – S15