As more IT shops implement UML and use cases, some developers find that the OMG standard isn't for everyone; but it can be at least part of a solution for most projects. Is XP complementary or competitive?
The Web is helping corporations in their constant search for the Holy Grail of knowledge management; can a new generation of tools help iron out a host of challenges?
The diverse granularity of components requires that specialized solutions be used for specific component types; picking the right solution for the right technology is no easy task.
Fixed deadlines and complex projects led to the expansion of the project management realm; can project managers maintain IT interest?<BR>
A meta data repository can help organizations take advantage of the hordes of data stored throughout the corporation; but can superior data lead to better decisions?
Applying architectural thinking to legacy re-engineering can help IT in the ongoing struggle to extend mature legacy systems to current platforms; a look at a scenario-based evlauation of architectures.<BR>
Implementing a business intelligence strategy can help companies leverage their data to boost profits, keep customers happy and enhance cross-company communication.
Using tools to simply automate project management practices can only make things worse.
Firms must examine how projects are currently run, revise practices to be more effective and efficient, and train staff on the new approach.
EJB, COM, RPC and CORBA get the headlines, but messaging middleware is still the preferred choice for building large, distributed corporate systems; the addition of XML is expected to quickly boost capabilities.
Although objects make testing simpler, the distributed aspect makes it more difficult. The good news is that there is a new generation of tools that promises to make the process less burdensome. Still, there is no substitute for good design and modeling right off the bat.<br>
With: My kingdom for a testing tool<br>
With: Distributed OO testing: Resources
Computer Associates, Compuware and Rational Software take similar paths to integrate tools and to provide a development alternative to platform suppliers.
Microsoft replaces COM Registry and DCOM and adds component development capabilities that can improve productivity, while maintaining compatibility with existing COM objects and ActiveX controls.
Extreme Programming can work, say many who have tried the lightweight methodology. But be prepared for major culture clash as XP advances into the business world. It ain't called "extreme" for nothing.
Most OO practitioners recognize the value of Design by Contract as a methodology for improving software quality. It is at the heart of the Eiffel language and the Object Constraint Language of UML. However, there are precious few languages that provide such intrinsic support for Design by Contract, and C++ is one language that does not. This article presents two new mechanisms for emulating Design by Contract in C++ that take advantage of language features defined in the recent standard, and for which widespread compiler support is now becoming available. One mechanism has been used in the development of software components in Computational Physics and is based on the Standard Template Library (STL); the other provides Design by Contract support across an inheritance hierarchy in C++ in accordance with the Liskov Substitutability Principle.
Complex transaction processing middleware still finds a place among IT developers in the age of app servers and integration; but suppliers are looking for new ways to use the technology.
IT managers look to corporate portals to provide access to masses of data from a single screen; technology is seen as key in progression from Windows to Web desktop.
New products, suppliers and applet innovations indicate the range and depth of Java development.
Microsoft's framework provides a method for building components that interact in distributed applications.
Load testing tools are pricey and require customization, but should result in higher quality scalable client/server applications.