Ectropic Design: Support for Open Source Development - PowerPoint PPT Presentation

About This Presentation
Title:

Ectropic Design: Support for Open Source Development

Description:

Richard Stallman. python. Guido Von Rossum. 10/16/09. 4. Open Source Development only works... Someone who maintains coherence of the design over time, ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 34
Provided by: MarkGu
Category:

less

Transcript and Presenter's Notes

Title: Ectropic Design: Support for Open Source Development


1
Ectropic DesignSupport for Open Source
Development
Spencer Rugaber, Kathy Gray,Mark Guzdial
2
What is Ectropy??
  • Ectropy Entropy
  • Ectropy is order out of chaos
  • Good Description of Open Source Development!

3
Open Source Success Stories
  • Linux
  • Linus Torvals
  • gcc
  • Richard Stallman
  • python
  • Guido Von Rossum

4
Open Source Development only works...
  • When there is a Champion
  • Someone who maintains coherence of the design
    over time,
  • Someone who integrates changes in a reasonable
    way,
  • Someone who is the recognized authority in
    identifying a new release.

5
Can we do Open Source with an automated Champion?
  • Imagine a server that
  • Accepts code from a team of programmers
  • Knows the programmers and their tasks
  • Makes sure that the code meets design
    requirements
  • Alerts the team to issues
  • Integrates software to define a release
  • Big job!

6
Our Solution Ectropic Software
  • Ectropic Software evolves over time
  • becoming more highly structured
  • better able to accomplish goals of its users
  • Ectropic Objects are all bound to the goals they
    meet

7
Ectropic Software
  • Two Key Ideas
  • Ectropic Design
  • A design method by which order and structure are
    created from collaborative efforts of multiple,
    unrelated software developers
  • Ectrospace
  • active collaboration space to support Ectropic
    Design

8
Introducing ECode
  • Ectropic
  • COllaborative
  • Design
  • Environment
  • (pronounced echoed)

9
But First!A Review of OOA/OOD/OOP
  • A Review of Object Oriented Software Design
  • OOA
  • OOD
  • OOP

10
OOA
  • Object Oriented Analysis (OOA)
  • Requirements Analysis
  • Use of Scenarios in Requirements Analysis
  • Build List of Collaborator-Responsibility Cards
    (CRC Cards)
  • Distribute Responsibilities Among CRC Cards

11
OOD
  • Object Oriented Design
  • Complete all Scenarios with Responsibility-CRC
    Card Pairs
  • Add Method Names, with method categories and
    descriptions
  • Integrity Check!

12
OOP
  • Object Oriented Programming
  • Select CRC Cards for Classes
  • Generate Class Stubs
  • Complete Full Implementation of Classes

13
ECODE
  • Ectropic Collaborative Design Environment
  • A design tool to assist you in mapping an
    Object-oriented design process to Ectropic
  • A non-collaborative prototype release
  • For design purposes - not to replace the Squeak
    programming environment!

14
Getting Started with Ecode
  • Download and filein from the class coweb
  • Ectropic-Basic.st
  • Ectropic-Views.st
  • Copy to your Squeak folder
  • logo.gif
  • Save your image.

15
Ectropic Objects
  • EctropicDesign
  • has Scenario(s) and CRCCard(s)
  • Scenario
  • has Responsibility/CRCCard pairs
  • CRCCard
  • has Responsibility(s)
  • Responsibility
  • has a Method and possibly a CRCCard collaborator

16
Main Ecode Approach
  • Analysis Mode
  • Determine CRCCards and Responsibilities using
    Scenarios
  • Design Mode
  • Distribute Responsibilities to CRCCards and
    create a Method for all Responsibilities
  • Program Mode
  • Create Class stubs from selected CRCCards

17
Analysis Mode
  • Requirements Analysis
  • Use Scenarios to Help with Requirements Analysis
  • Build List of Collaborator-Responsibility Cards
    (CRC Cards)
  • Distribute Responsibilities Among CRC Cards

18
Scenarios Help with Design!
  • Determine a Scenario for a Task
  • Build the Scenario, step-by-step by creating a
    set of Responsibilities
  • Assign each Responsibility to a CRCCard
  • ECoDE will allow you to select or create CRCCards
  • All Responsibilities should be assigned to or
    removed

19
Design Mode
  • Complete all Scenarios with Responsibility-CRC
    Card Pairs
  • Add Method Names, with method categories and
    descriptions
  • Integrity Check!

20
Integrity Check
  • When shifting to Program Mode, ECoDE makes a
    quick integrity check for you
  • Are all responsibilities assigned to CRCCards?
  • Do all responsibilities have associated method
    names?
  • You have the option to continue

21
Program Mode
  • Select CRC Cards for Classes
  • Generate Class Stubs
  • Parent Class
  • Instance Variables
  • Complete Full Implementation of Classes
  • In a System Browser!

22
Compile Errors
  • This version of ECoDE will not catch all compile
    errors
  • When generating code, if you get the pink compile
    error
  • Abandon
  • Correct your code
  • Retry

23
Completing the Implementation
  • ECoDE is not intended to replace the built-in
    programming environment in Squeak
  • It is a design tool which will generate Class
    stubs for you
  • It is highly recommended that you switch to a
    System Browser when completing your implementation

24
Saving Your Work 2 Ways
  • Save Project (for turnin)
  • Snapshot of your image as a .pr file
  • Many open windows long long time!
  • BUT main ECoDE window MUST be open!
  • Save
  • Saves your design with a simple fileout
  • Saves a .ect file and a .st file

25
Loading Designs
  • When loading your design (not as project)
  • ECoDE loads the corresponding .st file
  • MAKE SURE the .st file in the same directory with
    your .ect file is the MOST RECENT copy
  • Of course you can always close and retry without
    saving image

26
Critical Reminders!
  • Copy logo.gif to your squeak directory
  • When transferring saved designs, you need to
    transfer both
  • designName.ect file
  • designName.st file (MOST RECENT!)
  • When saving project for turnin, USE ECoDE for
    save, NOT Squeak Navigator Publish It

27
UML Options
  • In Squeak, ConnectorMorphs
  • Rational Rose
  • Visio
  • Hand-draw diagrams and scan
  • Power-point drawings
  • See http//coweb.cc.gatech.edu/cs2340/2112

28
Turnin
  • See http//coweb.cc.gatech.edu/cs2340/1937 for
    details
  • TAs want PROJECTS!!
  • But if any problems saving as project
  • Do regular save
  • Turnin .ect and .st files along with diagrams

29
Technical Assistance
  • Kathy Gray, kgray_at_cc
  • Office hours Tuesday, 130 300
  • Jonathan DAndries, bane_at_cc
  • Office hours Wednesday, 11 1

30
ECoDE on CoWeb
  • ECoDE on CoWeb
  • from class admin page)
  • http//coweb.cc.gatech.edu/cs2340/2100
  • Defect Log
  • Usability Log
  • Comments/Feedback/Suggestions

31
Classroom Experiment
  • Consent Forms
  • Preliminary Survey
  • Problems with Prototype
  • Your feedback is critical!

32
Advice!
  • Design before coding!
  • Save and manage saved files well
  • Teams should consider configuration management
    with Designs!
  • Back up your work
  • Report Bugs immediately

33
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com