Archive for August, 2006

Measures of success: RUP and the scientific method

Friday, August 25th, 2006

If your RUP-based projects are successful, how do you know that your team?s use of RUP is the reason for that success? Here, Gary Pollice suggests a method for scientifically measuring several iterative development techniques.

Gary Pollice

http://www-128.ibm.com/developerworks/rational/library/jul06/pollice/index.html

The Mismeasure of Man

Friday, August 25th, 2006

Software developers are drawn to metrics for a variety of reasons. Generally, their motivations are good. They want to find out something meaningful about the way their project is progressing or the way they are doing their job. Managers are also drawn to metrication for a variety of reasons, but their motives are not necessarily honorable. Some managers view metrics as an instrument for getting more work out of their team and detecting if they are slacking off.

Below, we consider various performance metrics commonly encountered in development environments, the ways they are abused, and illustrate their misuse with some examples taken from my own experience and the experience of others as they have related them to me.

http://www.hacknot.info/hacknot/action/showEntry?eid=88

Mathematical Approaches to Managing Defects

Friday, August 25th, 2006

Software testing is still a controversial subject - everybody agrees that it is a “good thing”, but it is frequently the first bit of the process to get cut when deadlines bite.

After all, those sneaky testers are really responsible for the bugs, aren’t they? Our software is just fine until strangers start poking around inside it, trying to stop it going out to our eager users. Mind you, I was taken aback once when I asked some people in a bank why they imposed silly deadlines on the IT group I worked for - and was told that they didn’t expect our software to work anyway.

David Norfolk and Pan Pantziarka

http://www.regdeveloper.co.uk/2006/08/14/math_managing_defects/

So, What is Wrong with Our Profession?

Friday, August 25th, 2006

During my 35 years in IT, working in seven countries over three continents, I have often wondered about the state of our profession. Although our profession is almost 50 years old, why is it still so immature? Why do we still design, develop, and implement software that is full of bugs and errors? Our industry?s track record of developing error-free software is pretty dismal.

Just recently, on my flight home from San Francisco, I read that the Bay Area Rapid Transit system (BART) had to be shut down for more than an hour during a peak period, because of bugs in the new software technicians were trying to install. Why did programmers decide to upgrade software during a peak travel period, instead of late at night when BART is not operational? I still remember (more than 30 years ago) performing payroll system maintenance and upgrades only at night to avoid disturbing regular operations during the day. Why have we been unable to formalize and institutionalize even these simple practices and lessons, even after such a long period?

Rakesh Tandon

http://www.computer.org/portal/cms_docs_itpro/itpro/content/promo2.pdf

Verifying Design Constraints with Aspects

Friday, August 25th, 2006

Aspect-oriented programming (AOP) is a new and promising technology, but adopting new technologies can be risky (as, of course, can not adopting new technologies). As with all new technologies, it is often best to follow a risk-managed path toward their adoption. You can benefit from reduced risk with AOP if you use it for policy enforcement and testing. Because the aspects never go into production, there is no risk that the technology will destabilize the production code or the development process, but it can still assist you in developing better quality software. Using aspects for testing is also a great way to learn how aspects work and gain some experience with this exciting new technology.

Brian Goetz

http://www-128.ibm.com/developerworks/java/library/j-jtp08226.html

Restrain Conversion Operators with the “Indirect Conversion” Idiom

Friday, August 25th, 2006

Have you given up implicit conversions to bool because of the bugs they cause? Find out how the “indirect conversion” idiom can help you thwart undesirable conversions while still permitting well-behaved conversions.

Conversion operators are a dilemma. While they certainly make the usage of certain objects convenient and intuitive, they also compromise type safety, ultimately leading to unexpected runtime behavior. The following sections present a technique that significantly reduces the potential hazards of implicit conversions to bool. This technique is now becoming a de-facto standard in C++ libraries, like Boost.

Danny Kalev

http://www.devx.com/cplus/10MinuteSolution/32145

From Small to Gargantuan

Friday, August 25th, 2006

In their innovative book A Pattern Language, Christopher Alexander and his colleagues describe the patterns that breathe life into civil architectures, from intimate spaces to buildings to entire towns. No matter where you look along this spectrum of size, you?ll find common structures and common behaviors. At each point in the spectrum, the patterns therein form the architecture of each instance. Across the software landscape, you?ll find a similar spread, from small programs to systems to systems of systems. Each instance has an architecture, be it intentional or accidental, and the forces that work upon each system - from small to gargantuan - vary accordingly.

Grady Booch

http://www.computer.org/portal/cms_docs_software/software/homepage/2006/s4014.pdf

Systems Modeling Language for Product and Systems Development

Friday, August 25th, 2006

Today’s competitive pressures and other market forces drive manufacturing companies to improve the efficiency with which they design and manufacture products and systems. Across the product lifecycle, one area where there has been a notorious lack of efficiency support is the conceptual stage, during which the functional architecture (and sometimes the physical architecture) is decided upon.

The conceptual stage follows the transformation of customer needs into product functions and use cases, and precedes the design of these functions across the engineering disciplines (for example, mechanical, electrical, software, etc.). A lack of support during product conceptualization makes it difficult to efficiently trace the realization of requirements in the product. The lack of a formal representation for concepts also results in an inadequate ability to make decisions at the level of systems in the product, such as during feasibility studies. Moreover, the lack of a clear vision of the product architecture hinders team understanding and communication, which in turn often increases the risk of integration issues. It is these and other challenges confronted during the conceptual phase of product and system development that SysML is designed to mitigate.

Laurent Balmelli

http://www-128.ibm.com/developerworks/rational/library/aug06/balmelli/index.html

Six Mobile Innovations That Will Change Your Life

Friday, August 25th, 2006

New mobile technologies are emerging that can change - and even save - our lives. Expect to see these six breakthrough applications in the next year or two. A century ago, communicating in a hurry meant sending a telegram. If you needed to go yourself, you went by train.

Flash forward to today’s world of e-mail-ready smartphones and 3G wireless access. If you think those are handy, then get ready: Newer technology is emerging that will significantly change how we stay in touch when we are mobile — nearly as much as telephones and airplanes have changed lives over the last 100 years.

We asked several futurists and industry experts to describe these mobile technologies and their impact on our lives. They aren’t talking about maybe-someday technologies, but applications that will be here in the next year or two. Some of them are even starting to be available now.

David Haskin

http://www.ddj.com/dept/mobile/191900302;jsessionid=M11ZGPSGZYAAEQSNDLPCKHSCJUNN2JVN

Intro to Atlas: The Road to Effortless AJAX Begins Here

Friday, August 25th, 2006

The phrase AJAX is getting all the attention lately. By now, you should already be familiar with the term, but for those of you still in the dark, AJAX represents techniques to build responsive and feature-rich Web applications. Instead of constantly waiting for web pages to refresh, AJAX-enabled Web sites dynamically update portions of the pages, thus providing a much more responsive user experience to the user. What’s more, with AJAX you can now develop feature-rich applications through the Web browser. Just take a look at http://local.live.com/ and http://spreadsheets.google.com/ to experience the wonders of AJAX.

While the technologies AJAX uses are all in the public domain (XML, HTTP and Javascript), developers would be more efficient with the help of a ready framework with which to get started. Not surprisingly, Microsoft has been working on just such a framework - called Atlas (http://atlas.asp.net/ ). To be more specific, Atlas is a free framework that allows ASP.NET 2.0 developers to build AJAX-style Web applications.

Wei-Meng Lee

http://www.devx.com/webdev/Article/31836

Moving forward with Web services backward compatibility

Friday, August 25th, 2006

The value of Service-Oriented Architecture (SOA) as a modern approach to integrating computing system components is widely recognised. Web services provide a common, open-standard basis for communication between those system components. The Web services protocol is suited to both intra- and inter-enterprise integration. A key objective of SOA is loose coupling between components. Loose coupling enables components to change aspects of their behaviour without impacting other components. While this is a valuable objective, in reality there will still be many changes within a single component that require change in other components.

Mark Endrei Mario Gaon Justin Graham Kerard Hogg Neil Mulholland

http://www-128.ibm.com/developerworks/webservices/library/ws-soa-backcomp/

Producten en tools: Jetty

Friday, August 25th, 2006

Jetty is an open source servlet container, which means it serves Java-based web content such as servlets and JSPs. Jetty is written in Java and its API is available as a set of JARs. Developers can instantiate a Jetty container as an object, instantly adding network and web connectivity to a stand-alone Java app.

Ask someone to name an open source servlet container and they’ll likely mention Apache Tomcat in reply. Tomcat isn’t alone in this world, though: we also have Jetty. Having another option for a servlet container is a plus, but Jetty’s real claim to fame is that it is designed be embedded in other Java code. That is, the development team exposes Jetty as a set of JAR files such that you can instantiate and manipulate a servlet container in your own code, as an object. This opens up new possibilities for servlets and web apps.

Ethan McCallum

http://www.onjava.com/pub/a/onjava/2006/06/14/what-is-jetty.html

Boeken: Google Web Toolkit - Taking the Pain out of Ajax

Friday, August 25th, 2006

Google Web Toolkit unifies client and server code into a single application written in one language: Java. GWT lets you create a web application in much the same way as you would create a Swing application — creating visual components, setting up event handlers, debugging, and so forth — all within a familiar IDE.

This Friday provides you with a thorough introduction to the Google Web Toolkit. From installation, through your first application, to UI components and Remote Procedure calls, you’ll learn the ins and outs of the framework. Some knowledge of Java programming and HTML is assumed, but you don’t have to be an expert in web programming.

Ed Burnette

http://www.pragmaticprogrammer.com/titles/ebgwt/index.html

Evenementen: Het Tooling Event

Friday, August 25th, 2006

Centraal staat dit jaar het thema ‘Transparantie in ICT-dienstverlening’. Hoe kunnen ICT-organisaties aantonen welke diensten zij leveren en tegen welke kosten zij dit doen? Welke rol spelen de tools in dit proces? Zijn ze waardevolle instrumenten die bijdragen aan transparantie in IT-dienstverlening, of zijn ze nog niet tegen deze belangrijke taak opgewassen?

Op het Tooling Event 2006 wordt deze materie door een groot aantal deskundige en objectieve sprekers vanuit diverse invalshoeken belicht, zoals business service management, asset management, IT service management, compliance en system management. Deskundigen vanuit diverse branches, zoals de bankwereld, het onderwijs, dienstverlening en de overheid, presenteren hun praktijkervaring met de inzet van tools en geven nuttige adviezen en heldere conclusies.

http://www.toolingevent.nl/

Deze maand in Informatie: Testen

Friday, August 25th, 2006

De hoeveelheid te testen software neemt toe, net als het belang van goed geteste software. De praktijk van outsourcing en offshoring voegt hier nog extra uitdagingen aan toe want uitbesteden maakt het testen moeilijker omdat je verder van het product af zit en dus minder kennis over hebt.

http://www.informatie.nl