SlideShare a Scribd company logo
Building a
 Business
        with
   Cincom
  Smalltalk
 By Arden Thomas
   Product Manager,
   Cincom Smalltalk
   Dirk Verleysen
Senior Smalltalk Engineer
Cincom Talks
• Building a Business with
  Cincom Smalltalk
   – by Arden Thomas,
     Dirk Verleysen
• Cincom Smalltalk TdF!
   – by Arden Thomas
Objectives
1)   Show you how to build software to
     support a real business
2)   Show you how it is done using tools in
     ObjectStudio
3)   Show you the end result after spending a
     little more time

• Design & Modeling w/Modeling Tool
• Code generation
• Bi-Directional development
• Object-Relational mapping & Database
  creation with the Mapping tool
• How to build Client interfaces
• Web Interface capability
The Cincom Smalltalk
Arsenal

• ObjectStudio
  – It’s all about business!


• VisualWorks
  – Cross-platform, do everything!
The Scenario

We have been brought in to solve a
 failed attempt to build software for
 a recently started business…
The Scenario

A Health and Fitness Club!
• Exercise machines in a large open area
• Exercise classrooms for special classes
   – Spinning room
   – General class room with mats
   – Sound systems in each
Health Club
Basic Requirements

Needs a software system to track:
  – Membership & member information
  – Dues
  – Member club attendance
  – Guest attendance
Health Club
Basic Requirements

Club promotions:
  – Monthly newsletter to members
  – Happy birthday emails to members
  – Emails and promotions to guests and
    potential customers
Health Club
Basic Requirements

Web Presence
  – Basic information
     • Contact information
       (address, phone numbers, email)
     • Club hours
  – Class Schedule online
  – Online check-in up to two hours prior
    to a class (in addition to traditional
    club check in)
Health Club
Basic Requirements

Don’t forget!
• Employees must log in to software
• Regular backups
• The back up plan
• The Back up, back up plan!
Health Club – Starting Point

Salvageable:
• Database of current members
The Process – Methodology

ObjectStudio supports
 Methodologies like:
  – Rumbaugh
  – Coad/Yourdon
  – Jacobson
  – Wirfs Brock
  – Fusion
  – Free form
The Process

• Business Overview
     • 30,000 ft view
     • terminology
• Inventory
• Interview process
  – Understanding the business
  – Checklists and priorities
  – Details make all the difference!
  – Model, verify, rework, repeat
The Process

• Build Use Cases
• Discover
  – Actors
  – Domain Objects
Actors and Use Cases

• Actors
  – A person or thing that interacts with
    the system, usually external to it
• Use case
  – Describes how a specific actor
    interacts with the system
• Domain Objects
Actors and Use Cases

Actors            • Use Cases
• Member            – Sign up a
• Guest               new member
• Employee          – Sign up a
                      guest
  – Front Desk
    (personnel)     – Member
  – Membership        check-in / out
    coordinator     – Guest
  – Instructor        check-in / out
  – Trainer
Domain Objects

Domain Objects      • Use Cases
• RFID tag            – Send monthly
    – (barcode          newsletter email
      or RFID)
•   Credit Card
•   Equipment
•   ExerciseRoom
•   ExerciseClass
Domain Objects

Domain Objects
• MemberShip
• MemberShipPeriod
• MemberShipHold
ObjectStudio
The “Business Analyst’s Thinking Tool”

•   Allows Analysts & Developers to work together
•   Windows-centric, Windows 7 approved
•   Powerful Object Modeling and Mapping
•   Business architects use powerful bi-directional
    modeling tool to “blueprint” their systems design
•   Code and Framework Generation, white box
•   Round-Trip Engineering
•   Developers use simple but powerful OR mapping
    tools integrate databases into applications
•   Many Database and Communication Protocols
    supported
•   Built on the Cincom Smalltalk foundation
ObjectStudio
• Explorers
  – Use Case Explorer
  – Design Explorer
  – CRC Explorer
Building the Business:
Modeling

• Building out the Business Domain
  – with the Modeling tool
• Code Generation
  – Extending behavior
  – Bidirectional example
Mapping the Way

Three Scenarios for Object-Relational mapping:

1) Typical
    • Model
    • create Domain models
    • create tables
2) Automatic
    • Model
    • create Domain models
    • Map existing tables to Domain
3) Atypical
    • Create Domain from existing tables
Mapping the Way
Mapping the Way
Interfaces

Lots of options!
Three we will use in the club …
• Client Interface
• Web Browser Interface
• RFID Interface
Thank You!
Cincom Smalltalk Contacts
• Arden Thomas - Product Manager
  - athomas@cincom.com
• Suzanne Fortman – Program Director
  - sfortman@cincom.com
• Jeremy Jordan – Marketing Manager
  - jjordan@cincom.com

More Related Content

Similar to Building Business with Cincom Smalltalk

Collaborative Working: University of Sunderland & Roundhouse Digital
Collaborative Working: University of Sunderland & Roundhouse Digital Collaborative Working: University of Sunderland & Roundhouse Digital
Collaborative Working: University of Sunderland & Roundhouse Digital
Terminalfour
 
3 the system analyst
3 the system analyst3 the system analyst
3 the system analyst
ricardovigan
 
SharePoint 2013 ECM & Methodology
SharePoint 2013 ECM & Methodology SharePoint 2013 ECM & Methodology
SharePoint 2013 ECM & Methodology
Sonny Thai
 
Getting to Know Enterprise Content Management (ECM) and How It Can Help You
Getting to Know Enterprise Content Management (ECM) and How It Can Help YouGetting to Know Enterprise Content Management (ECM) and How It Can Help You
Getting to Know Enterprise Content Management (ECM) and How It Can Help You
InnoTech
 
1 Information Systems Analysis & Design,.pptx
1 Information Systems Analysis & Design,.pptx1 Information Systems Analysis & Design,.pptx
1 Information Systems Analysis & Design,.pptx
MadhusudhanaSubraman
 
Technology Planning for River Groups
Technology Planning for River GroupsTechnology Planning for River Groups
Technology Planning for River Groups
Sean Larkin
 
Chapter01
Chapter01Chapter01
Chapter01
Muhammad Ahad
 
How to do b tech be projects or any academic projects
How to do b tech be projects or any academic projectsHow to do b tech be projects or any academic projects
How to do b tech be projects or any academic projects
baabtra.com - No. 1 supplier of quality freshers
 
Chapter01.ppt
Chapter01.pptChapter01.ppt
Chapter01.ppt
SangeethaVal
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
Amazon Web Services
 
Things to ponder before you start building [cooperate] software
Things to ponder before you start building [cooperate] softwareThings to ponder before you start building [cooperate] software
Things to ponder before you start building [cooperate] software
Tharindu Weerasinghe
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introduction
Taymoor Nazmy
 
Practicing DDD & CQRS
Practicing DDD & CQRSPracticing DDD & CQRS
Practicing DDD & CQRS
Muhammad Ali
 
JD Edwards Manufacturing Deep Dive Workshop
JD Edwards Manufacturing Deep Dive WorkshopJD Edwards Manufacturing Deep Dive Workshop
JD Edwards Manufacturing Deep Dive Workshop
Terillium
 
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...
Wilco Turnhout
 
Office 365 Intranet
Office 365 IntranetOffice 365 Intranet
Office 365 Intranet
Alan Eardley
 
DE PPT.pptx
DE PPT.pptxDE PPT.pptx
DE PPT.pptx
Priyanka Prajapati
 
Datapolis workbox how to cut workload and minimize risks
Datapolis workbox how to cut workload and minimize risksDatapolis workbox how to cut workload and minimize risks
Datapolis workbox how to cut workload and minimize risks
Datapolis
 
Application Software
Application SoftwareApplication Software
Application Software
Zaid Hameed
 
Chapter01
Chapter01Chapter01

Similar to Building Business with Cincom Smalltalk (20)

Collaborative Working: University of Sunderland & Roundhouse Digital
Collaborative Working: University of Sunderland & Roundhouse Digital Collaborative Working: University of Sunderland & Roundhouse Digital
Collaborative Working: University of Sunderland & Roundhouse Digital
 
3 the system analyst
3 the system analyst3 the system analyst
3 the system analyst
 
SharePoint 2013 ECM & Methodology
SharePoint 2013 ECM & Methodology SharePoint 2013 ECM & Methodology
SharePoint 2013 ECM & Methodology
 
Getting to Know Enterprise Content Management (ECM) and How It Can Help You
Getting to Know Enterprise Content Management (ECM) and How It Can Help YouGetting to Know Enterprise Content Management (ECM) and How It Can Help You
Getting to Know Enterprise Content Management (ECM) and How It Can Help You
 
1 Information Systems Analysis & Design,.pptx
1 Information Systems Analysis & Design,.pptx1 Information Systems Analysis & Design,.pptx
1 Information Systems Analysis & Design,.pptx
 
Technology Planning for River Groups
Technology Planning for River GroupsTechnology Planning for River Groups
Technology Planning for River Groups
 
Chapter01
Chapter01Chapter01
Chapter01
 
How to do b tech be projects or any academic projects
How to do b tech be projects or any academic projectsHow to do b tech be projects or any academic projects
How to do b tech be projects or any academic projects
 
Chapter01.ppt
Chapter01.pptChapter01.ppt
Chapter01.ppt
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
 
Things to ponder before you start building [cooperate] software
Things to ponder before you start building [cooperate] softwareThings to ponder before you start building [cooperate] software
Things to ponder before you start building [cooperate] software
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introduction
 
Practicing DDD & CQRS
Practicing DDD & CQRSPracticing DDD & CQRS
Practicing DDD & CQRS
 
JD Edwards Manufacturing Deep Dive Workshop
JD Edwards Manufacturing Deep Dive WorkshopJD Edwards Manufacturing Deep Dive Workshop
JD Edwards Manufacturing Deep Dive Workshop
 
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...
 
Office 365 Intranet
Office 365 IntranetOffice 365 Intranet
Office 365 Intranet
 
DE PPT.pptx
DE PPT.pptxDE PPT.pptx
DE PPT.pptx
 
Datapolis workbox how to cut workload and minimize risks
Datapolis workbox how to cut workload and minimize risksDatapolis workbox how to cut workload and minimize risks
Datapolis workbox how to cut workload and minimize risks
 
Application Software
Application SoftwareApplication Software
Application Software
 
Chapter01
Chapter01Chapter01
Chapter01
 

More from ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
ESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
ESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
ESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
ESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
ESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
 

More from ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Recently uploaded

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 

Recently uploaded (20)

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 

Building Business with Cincom Smalltalk

  • 1. Building a Business with Cincom Smalltalk By Arden Thomas Product Manager, Cincom Smalltalk Dirk Verleysen Senior Smalltalk Engineer
  • 2. Cincom Talks • Building a Business with Cincom Smalltalk – by Arden Thomas, Dirk Verleysen • Cincom Smalltalk TdF! – by Arden Thomas
  • 3. Objectives 1) Show you how to build software to support a real business 2) Show you how it is done using tools in ObjectStudio 3) Show you the end result after spending a little more time • Design & Modeling w/Modeling Tool • Code generation • Bi-Directional development • Object-Relational mapping & Database creation with the Mapping tool • How to build Client interfaces • Web Interface capability
  • 4. The Cincom Smalltalk Arsenal • ObjectStudio – It’s all about business! • VisualWorks – Cross-platform, do everything!
  • 5. The Scenario We have been brought in to solve a failed attempt to build software for a recently started business…
  • 6.
  • 7. The Scenario A Health and Fitness Club! • Exercise machines in a large open area • Exercise classrooms for special classes – Spinning room – General class room with mats – Sound systems in each
  • 8. Health Club Basic Requirements Needs a software system to track: – Membership & member information – Dues – Member club attendance – Guest attendance
  • 9. Health Club Basic Requirements Club promotions: – Monthly newsletter to members – Happy birthday emails to members – Emails and promotions to guests and potential customers
  • 10. Health Club Basic Requirements Web Presence – Basic information • Contact information (address, phone numbers, email) • Club hours – Class Schedule online – Online check-in up to two hours prior to a class (in addition to traditional club check in)
  • 11. Health Club Basic Requirements Don’t forget! • Employees must log in to software • Regular backups • The back up plan • The Back up, back up plan!
  • 12. Health Club – Starting Point Salvageable: • Database of current members
  • 13. The Process – Methodology ObjectStudio supports Methodologies like: – Rumbaugh – Coad/Yourdon – Jacobson – Wirfs Brock – Fusion – Free form
  • 14. The Process • Business Overview • 30,000 ft view • terminology • Inventory • Interview process – Understanding the business – Checklists and priorities – Details make all the difference! – Model, verify, rework, repeat
  • 15. The Process • Build Use Cases • Discover – Actors – Domain Objects
  • 16. Actors and Use Cases • Actors – A person or thing that interacts with the system, usually external to it • Use case – Describes how a specific actor interacts with the system • Domain Objects
  • 17. Actors and Use Cases Actors • Use Cases • Member – Sign up a • Guest new member • Employee – Sign up a guest – Front Desk (personnel) – Member – Membership check-in / out coordinator – Guest – Instructor check-in / out – Trainer
  • 18. Domain Objects Domain Objects • Use Cases • RFID tag – Send monthly – (barcode newsletter email or RFID) • Credit Card • Equipment • ExerciseRoom • ExerciseClass
  • 19. Domain Objects Domain Objects • MemberShip • MemberShipPeriod • MemberShipHold
  • 20. ObjectStudio The “Business Analyst’s Thinking Tool” • Allows Analysts & Developers to work together • Windows-centric, Windows 7 approved • Powerful Object Modeling and Mapping • Business architects use powerful bi-directional modeling tool to “blueprint” their systems design • Code and Framework Generation, white box • Round-Trip Engineering • Developers use simple but powerful OR mapping tools integrate databases into applications • Many Database and Communication Protocols supported • Built on the Cincom Smalltalk foundation
  • 21. ObjectStudio • Explorers – Use Case Explorer – Design Explorer – CRC Explorer
  • 22. Building the Business: Modeling • Building out the Business Domain – with the Modeling tool • Code Generation – Extending behavior – Bidirectional example
  • 23. Mapping the Way Three Scenarios for Object-Relational mapping: 1) Typical • Model • create Domain models • create tables 2) Automatic • Model • create Domain models • Map existing tables to Domain 3) Atypical • Create Domain from existing tables
  • 26. Interfaces Lots of options! Three we will use in the club … • Client Interface • Web Browser Interface • RFID Interface
  • 27.
  • 28. Thank You! Cincom Smalltalk Contacts • Arden Thomas - Product Manager - athomas@cincom.com • Suzanne Fortman – Program Director - sfortman@cincom.com • Jeremy Jordan – Marketing Manager - jjordan@cincom.com