Well said -- couldn't agree with you more. >>>>> "Pascal" == Pascal J Bourguignon <pjb@xxxxxxxxxxx> writes: Pascal> Daniel Dalton <d.dalton@xxxxxxxxxxx> writes: >> Hi everyone, >> >> Firstly apologies if this is slightly OT - feel free to >> respond off list if you think that's better, but I know >> there are a lot of very knowledgeable people on here so >> thought it was a good starting point. >> >> At University I'm studying computer science. I'm looking >> to take a software engineering subject called >> "Introduction to software engineering". >> >> The problem: UML diagrams are heavily used throughout this >> subject especially for assessment purposes. Specifically, >> UML class diagrams and UML state active and sequence >> diagrams. We'll need to both read and create these >> diagrams. I also believe we may need to work in small >> groups with fellow students (who obviously aren't vision >> impaired). Apparently the UML is the language of the >> subject and it's not really avoidable. So does anyone have >> any ideas about how to handle this sort of thing? I'd be >> interested to hear what other blind software engineers may >> do to get around these problems. >> >> Finally, just a bit of a general sort of question. I'm >> currently studying bachelor of computer science, but have >> considered changing into bachelor of software >> engineering. I've been told software engineering is much >> more visual - with more of this UML stuff coming up. Has >> anyone else taken a modern software engineering degree >> opposed to computer science - and how did you find it? Pascal> Pascal> Pascal> UML means Unified Modeling Language. Little scribbles Pascal> are not necessarily what comes to mind first when you Pascal> hear the word "language". Pascal> Pascal> And indeed, while UML specifies a graphical syntax, Pascal> the same information can be conveyed textually. Pascal> Pascal> UML CASE tools save UML models as XML files. There's Pascal> a standard DTD for UML. I guess that XML is as hard Pascal> to read for you than for me, but you can write a Pascal> program to translate the model read from the XML Pascal> files into some readable form. And vice versa. Pascal> Pascal> The notion of diagram corresponds only to a subset of Pascal> the model, composed in a way to present it in an Pascal> easily understandable chunk. Pascal> Pascal> Pascal> For example, here is a model and a few diagrams: Pascal> Pascal> Pascal> (defmodel "Windows and Views" Pascal> Pascal> (defclass window () ((frame :accessor view-frame Pascal> :type rectangle) (title :accessor window-title :type Pascal> string))) Pascal> Pascal> (defclass view () ((frame :accessor view-frame Pascal> :type rectangle))) Pascal> Pascal> (defassociation window-content-view ((window Pascal> :accessor view-window :type window :multiplicity (0 Pascal> 1)) (content-view :accessor window-content-view :type Pascal> view :multiplicity (0 1)))) Pascal> Pascal> (defassociation view-subviews ((superview :accessor Pascal> view-superview :type view :multiplicity (0 1)) Pascal> (subviews :accessor view-subviews :type list Pascal> :multiplicity (0 *))))) Pascal> Pascal> Pascal> (defdiagram :class-diagram "window class diagram" Pascal> (class window (attributes frame title) (methods)) Pascal> (class view (attributes) (methods)) (association Pascal> window-content-view)) Pascal> Pascal> (defdiagram :class-diagram "view hierarchy diagram" Pascal> (class view (attributes frame) (methods)) Pascal> (association view-subviews)) Pascal> Pascal> (defdiagram :sequence-diagram "window redraw" Pascal> (instances (win-1 window) (content-view-1 view) Pascal> (subview-1 view)) (events (redraw (from win-1) (to Pascal> content-view-1)) (redraw (from content-view-1) (to Pascal> subview-1)) (view-frame (from subview-1) (to Pascal> content-view-1)) (window-frame (from content-view-1) Pascal> (to win-1)) (did-redraw (from subview-1) (to Pascal> content-view-1)) (did-redraw (from content-view-1) Pascal> (to win-1)))) Pascal> Pascal> Pascal> Pascal> I'm not sure coordinates and graphics add much. Well, Pascal> a little in taking advantage of the parallel Pascal> processing of the visual cortext, for more complex Pascal> diagrams. But since anyways the brains have Pascal> short-term memories limited to about 7 elements, Pascal> there's little point in overloading the visual Pascal> cortex. Well it's not entirely right: actually eyes Pascal> are more an external memory input device than an Pascal> internal "GPU": it let the brain leave data in the Pascal> world, and allows to retrieve it, by focusing on an Pascal> element selected in 2D more-or-less-random access, Pascal> thus overcoming the limits of short-term memory. In Pascal> the case of UML, this is useful only in limited Pascal> circumstances, and only helps while learning about a Pascal> system. And notably, static diagrams as provided by Pascal> most CASE tools are too limited. What would be Pascal> needed, is an automatic generation of diagrams Pascal> according to the browsing you want to do of the Pascal> model. And once you know it, you can browse the model Pascal> more directly with a textual interface. And notably, Pascal> a sexp-form as above, is much more useful, since you Pascal> can easily process it (in emacs or other lisp ;-)). Pascal> Pascal> Pascal> While graphviz can be used to produce "UML" diagrams, Pascal> it would be quite a lot of work to fine tune its Pascal> usage to get graphically correct UML diagrams. It Pascal> would probably be easier to write the lisp code to Pascal> generate a UML XML from a sexp OO model definition as Pascal> above. Pascal> Pascal> -- __Pascal Bourguignon__ Pascal> http://www.informatimago.com/ A bad day in () is Pascal> better than a good day in {}. You know you've been Pascal> lisping too long when you see a recent picture of Pascal> George Lucas and think "Wait, I thought John McCarthy Pascal> was dead!" -- Dalek_Baldwin Pascal> Pascal> ----------------------------------------------------------------------------- Pascal> To unsubscribe from the emacspeak list or change your Pascal> address on the emacspeak list send mail to Pascal> "emacspeak-request@xxxxxxxxxxx" with a subject of Pascal> "unsubscribe" or "help". -- Best Regards, --raman ----------------------------------------------------------------------------- To unsubscribe from the emacspeak list or change your address on the emacspeak list send mail to "emacspeak-request@xxxxxxxxxxx" with a subject of "unsubscribe" or "help".
If you have questions about this archive or had problems using it, please send mail to:
priestdo@xxxxxxxxxxx No Soliciting!Emacspeak List Archive | 2010 | 2009 | 2008 | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998 | Pre 1998