short notes is a journal on software, systems, engineering practices among other things.
Copyright © 2002-2006 short notes. All rights reserved. contact address: email to the editor ISSN 1543-6489
short notes |
Sunday 2003-03-30 Development CRC Ward Cunningham calls his invention CRC or class, responsibilities and collaborators "a way of describing objects". After all, much of OOAD is to think about software inhabited by various roles (or classes), who interact with each other as collaborators, fulfilling their respective responsibilities. The beauty of CRC is its simplicity: Write on small index cards and shuffle them around as needed. Another beauty of CRC is its wide applicability. CRC's usefulness for designing implementation is obvious. Mostly overlooked aspect of CRC is its usefulness for high level activities like requirements analysis, use cases design and even setting up engineering process. References: The original CRC cards "Object Design: Roles, Responsibilities, and Collaborations" by Rebecca Wirfs-Brock and Alan McKean permalink Sunday 2003-03-16 Development UML is UNCOL Upcoming release of UML 2 will generate interest in "model driven architecture" or MDA. MDA has to be one of the most ambitious ideas from software engineering. It envisions development process as creation and refinement of models expressed in UML. Architects will provide UML models as input to new tools that support UML 2, and the tools will generate code for implementation technologies like J2EE, or .Net. In other words, UML 2 and its tools are programming languages and their compilers taken to higher level of abstraction to bridge the gap between business and IT. Right model means quality software. UML is UNCOL. Dave Thomas' "UML - Unified or Universal Modeling Language?" helps us build resistance to seduction of top-down mindset. Ted Neward also points out a few pitfalls of "model-first" mentality. We welcome readers' models on the relation between this kind of ambitious deductive reasoning and confusion of nomenclature and phenomena. Update on 2003-09-13 Martin Fowler (who should get credit for making UML useful and accessible through his books and articles) argues that MDA's claim of platform independence is baseless. permalink Tuesday 2003-02-18 Development Add one in Java Do you ever wonder which of the following is the fastest way to increment an integer in Java?
permalink Friday 2002-12-13 Development Games for enterprise computing From the latest Contours we find this gem: A limted solution: For example, software that supports workflow is being used for more sophisticated approaches for handling invoices and appointments. (IBM, Microsoft, Bea are working on Business Process Execution Language for Web Services (BPEL4WS) and other flow specifications). The specifications attempt to handle well defined interactions. It’s not clear, however, that ‘well defined’ is good enough to support rich behavior in an organizational context in which personnel,organizational relationships (partners, competitors, etc.), and requirements are constantly shifting. A deeper solution? Metaphors from the physical world may be more appropriate and the game developers may have a leg up. See also previous short notes on agents and on business process management (parts one, two and three). Steven Johnson's essay in Wired about AI in the latest games provides a generalist overview on how AI is changing games. permalink Tuesday 2002-11-26 Development Objects have failed? Richard P Gabriel provokes: "Objects have failed." permalink Monday 2002-11-25 Development More intertwingularity At the end of his essay on intertwingularity or phenomenon of deeply entangled inter-depedent messages and information, Jamie Zawinski writes This sort of model [of utilizing intertwingularity] is not applicable merely to the domain of [email] messages; it applies equally well to any corpus which has structured, potentially-ambiguous references (or rather, representations of references.)[See Intertwingle below.] Programmers have been making many tools to deal with volumes of source code. One simple way is to format the code in certain convention and use tools like grep or text editor's search commands. Another method is to use simple databases like TAGS or source code browsing tools like cscope to augment text editors. More tools like lxr (Linux Cross Reference) and global that generate web pages came during last several years. These tools however know only of source code text, not its semantics as parsing is done by compilers after editing code is finished. While people on conventional operating systems deal with files, Smalltalk programmers store their source code as objects in real databases. Because these databases or images are written in Smalltalk and interact with users in Smalltalk (ie images know the semantics and inter-relationships expressed in the source code), users need not bother to disambiguate manually what a piece of text in question may be as they browse the code. Smalltalk browser has been evolving to many interesting directions like Whisker, Refactoring Browser and Star Browser. Old Lisp Machines (like the ones Zawinski used) had similar features that make an old timer like Kent Pitman nostalgic and it is easy to see why. Mainstream Java programmers are discovering productivity gains from using an environment that does more than text search but rather understands their code like IntelliJ IDEA. As more attention is focused on making sense of far too many artifacts of software builing, more tools like Hipikat that can find relevent information from "source code, documentation, bug reports and fixes, e-mail, and version information", will receive warm welcome.
Friday 2002-11-01 Development Mixing Design by Contract and Java Interested in Design by Contract and Java? Read "Evaluation of Assertion Support for the Java Programming Language" by Reinhold Plösch. permalink |
Published since 2002-04-23
Updated: 2010-10-16 Youre not logged in ... Login
about short notes home topics: Development Policy, Process, Mechanism Software Web of Services World
|