Download presentation
Presentation is loading. Please wait.
Published byWilli Christian Rosenberg Modified over 6 years ago
1
Ectropic Design: Support for Open Source Development
Spencer Rugaber, Kathy Gray, Mark Guzdial Friday, September 21, 2018Friday, September 21, 2018
2
What is Ectropy?? Ectropy = ¬ Entropy Ectropy is “order out of chaos”
Good Description of Open Source Development…! Friday, September 21, 2018Friday, September 21, 2018
3
Open Source Success Stories
Linux Linus Torvals gcc Richard Stallman python Guido Von Rossum Friday, September 21, 2018Friday, September 21, 2018
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. Friday, September 21, 2018Friday, September 21, 2018
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! Friday, September 21, 2018Friday, September 21, 2018
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 Friday, September 21, 2018Friday, September 21, 2018
7
Ectropic Software Two Key Ideas Ectropic Design Ectrospace
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 Friday, September 21, 2018Friday, September 21, 2018
8
(pronounced “echoed”)
Introducing ECode Ectropic COllaborative Design Environment (pronounced “echoed”) Friday, September 21, 2018Friday, September 21, 2018
9
But First! A Review of OOA/OOD/OOP
A Review of Object Oriented Software Design OOA OOD OOP Friday, September 21, 2018Friday, September 21, 2018
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 Friday, September 21, 2018Friday, September 21, 2018
11
OOD Object Oriented Design
Complete all Scenarios with Responsibility-CRC Card Pairs Add Method Names, with method categories and descriptions Integrity Check! Friday, September 21, 2018Friday, September 21, 2018
12
OOP Object Oriented Programming Select CRC Cards for Classes
Generate Class Stubs Complete Full Implementation of Classes Friday, September 21, 2018Friday, September 21, 2018
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! Friday, September 21, 2018Friday, September 21, 2018
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. Friday, September 21, 2018Friday, September 21, 2018
15
Ectropic Objects EctropicDesign Scenario CRCCard Responsibility
has Scenario(s) and CRCCard(s) Scenario has Responsibility/CRCCard pairs CRCCard has Responsibility(s) Responsibility has a Method and possibly a CRCCard collaborator Friday, September 21, 2018Friday, September 21, 2018
16
Main Ecode Approach Analysis Mode Design Mode Program 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 Friday, September 21, 2018Friday, September 21, 2018
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 Friday, September 21, 2018Friday, September 21, 2018
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 Friday, September 21, 2018Friday, September 21, 2018
19
Design Mode Complete all Scenarios with Responsibility-CRC Card Pairs
Add Method Names, with method categories and descriptions Integrity Check! Friday, September 21, 2018Friday, September 21, 2018
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 Friday, September 21, 2018Friday, September 21, 2018
21
Program Mode Select CRC Cards for Classes Generate Class Stubs
Parent Class Instance Variables Complete Full Implementation of Classes In a System Browser! Friday, September 21, 2018Friday, September 21, 2018
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 Friday, September 21, 2018Friday, September 21, 2018
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 Friday, September 21, 2018Friday, September 21, 2018
24
Saving Your Work – 2 Ways Save Project (for turnin) Save
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 Friday, September 21, 2018Friday, September 21, 2018
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 Friday, September 21, 2018Friday, September 21, 2018
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” Friday, September 21, 2018Friday, September 21, 2018
27
UML Options In Squeak, ConnectorMorphs Rational Rose Visio
Hand-draw diagrams and scan Power-point drawings See Friday, September 21, 2018Friday, September 21, 2018
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 Friday, September 21, 2018Friday, September 21, 2018
29
Technical Assistance Kathy Gray, kgray@cc Jonathan D’Andries, bane@cc
Office hours: Tuesday, 1:30 – 3:00 Jonathan D’Andries, Office hours: Wednesday, 11 – 1 Friday, September 21, 2018Friday, September 21, 2018
30
ECoDE on CoWeb ECoDE on CoWeb Defect Log Usability Log
from class admin page) Defect Log Usability Log Comments/Feedback/Suggestions Friday, September 21, 2018Friday, September 21, 2018
31
Classroom Experiment Consent Forms Preliminary Survey
Problems with Prototype Your feedback is critical! Friday, September 21, 2018Friday, September 21, 2018
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 Friday, September 21, 2018Friday, September 21, 2018
33
Questions? Friday, September 21, 2018Friday, September 21, 2018
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.