ectropic design: support for open source development
DESCRIPTION
Ectropic Design: Support for Open Source Development. Spencer Rugaber, Kathy Gray, Mark Guzdial. What is Ectropy??. Ectropy = ¬ Entropy Ectropy is “order out of chaos” Good Description of Open Source Development…!. Open Source Success Stories. Linux Linus Torvals gcc Richard Stallman - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/1.jpg)
Saturday, April 22, 2023
1
Ectropic Design:Support for Open Source Development
Spencer Rugaber, Kathy Gray,Mark Guzdial
![Page 2: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/2.jpg)
Saturday, April 22, 2023
2
What is Ectropy??
Ectropy = ¬ EntropyEctropy is “order out of chaos”Good Description of Open Source
Development…!
![Page 3: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/3.jpg)
Saturday, April 22, 2023
3
Open Source Success Stories
Linux Linus Torvals
gcc Richard Stallman
python Guido Von Rossum
![Page 4: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/4.jpg)
Saturday, April 22, 2023
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.
![Page 5: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/5.jpg)
Saturday, April 22, 2023
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!
![Page 6: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/6.jpg)
Saturday, April 22, 2023
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
![Page 7: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/7.jpg)
Saturday, April 22, 2023
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
Ectrospaceactive collaboration space to support Ectropic
Design
![Page 8: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/8.jpg)
Saturday, April 22, 2023
8
Introducing ECode
Ectropic
COllaborative
Design
Environment (pronounced “echoed”)
![Page 9: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/9.jpg)
Saturday, April 22, 2023
9
But First!A Review of OOA/OOD/OOP
A Review of Object Oriented Software Design OOA OOD OOP
![Page 10: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/10.jpg)
Saturday, April 22, 2023
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
![Page 11: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/11.jpg)
Saturday, April 22, 2023
11
OOD
Object Oriented Design Complete all Scenarios with Responsibility-
CRC Card Pairs Add Method Names, with method categories
and descriptions Integrity Check!
![Page 12: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/12.jpg)
Saturday, April 22, 2023
12
OOP
Object Oriented Programming Select CRC Cards for Classes Generate Class Stubs Complete Full Implementation of Classes
![Page 13: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/13.jpg)
Saturday, April 22, 2023
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!
![Page 14: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/14.jpg)
Saturday, April 22, 2023
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.
![Page 15: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/15.jpg)
Saturday, April 22, 2023
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
![Page 16: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/16.jpg)
Saturday, April 22, 2023
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
![Page 17: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/17.jpg)
Saturday, April 22, 2023
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
![Page 18: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/18.jpg)
Saturday, April 22, 2023
18
Scenarios Help with Design!
Determine a Scenario for a TaskBuild the Scenario, step-by-step by creating
a set of ResponsibilitiesAssign each Responsibility to a CRCCardECoDE will allow you to select or create
CRCCardsAll Responsibilities should be assigned to or
removed
![Page 19: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/19.jpg)
Saturday, April 22, 2023
19
Design Mode
Complete all Scenarios with Responsibility-CRC Card Pairs
Add Method Names, with method categories and descriptions
Integrity Check!
![Page 20: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/20.jpg)
Saturday, April 22, 2023
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
![Page 21: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/21.jpg)
Saturday, April 22, 2023
21
Program Mode
Select CRC Cards for Classes
Generate Class StubsParent ClassInstance Variables
Complete Full Implementation of ClassesIn a System Browser!
![Page 22: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/22.jpg)
Saturday, April 22, 2023
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
![Page 23: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/23.jpg)
Saturday, April 22, 2023
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
![Page 24: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/24.jpg)
Saturday, April 22, 2023
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
![Page 25: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/25.jpg)
Saturday, April 22, 2023
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 copyOf course you can always close and retry
without saving image
![Page 26: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/26.jpg)
Saturday, April 22, 2023
26
Critical Reminders!
Copy logo.gif to your squeak directoryWhen 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”
![Page 27: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/27.jpg)
Saturday, April 22, 2023
27
UML Options
In Squeak, ConnectorMorphsRational RoseVisioHand-draw diagrams and scanPower-point drawings
See http://coweb.cc.gatech.edu/cs2340/2112
![Page 28: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/28.jpg)
Saturday, April 22, 2023
28
Turnin
See http://coweb.cc.gatech.edu/cs2340/1937 for details
TA’s want PROJECTS!!But if any problems saving as project
Do regular save Turnin .ect and .st files along with diagrams
![Page 29: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/29.jpg)
Saturday, April 22, 2023
29
Technical Assistance
Kathy Gray, kgray@cc Office hours: Tuesday, 1:30 – 3:00
Jonathan D’Andries, bane@cc Office hours: Wednesday, 11 – 1
![Page 30: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/30.jpg)
Saturday, April 22, 2023
30
ECoDE on CoWeb
ECoDE on CoWeb from class admin page) http://coweb.cc.gatech.edu/cs2340/2100
Defect LogUsability LogComments/Feedback/Suggestions
![Page 31: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/31.jpg)
Saturday, April 22, 2023
31
Classroom Experiment
Consent FormsPreliminary SurveyProblems with PrototypeYour feedback is critical!
![Page 32: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/32.jpg)
Saturday, April 22, 2023
32
Advice!
Design before coding!Save and manage saved files wellTeams should consider configuration
management with Designs!Back up your workReport Bugs immediately
![Page 33: Ectropic Design: Support for Open Source Development](https://reader037.vdocuments.us/reader037/viewer/2022103102/5681678b550346895ddca7b7/html5/thumbnails/33.jpg)
Saturday, April 22, 2023
33
Questions?