|
We use the full range of Visual Studio products to create world class software. Although our tool of choice for software development is C# we also use Visual FoxPro and Visual Basic .NET, as needed. The Unified Modeling LanguageWhen creating custom software, we use both the Unified Modeling Language (UML) and the Unified Process to create stable, well-designed software that easily adapts to change. The UML is a widely accepted industry standard language used to describe the architecture of object oriented software. How can you determine if a software development company has the right stuff to create the application you need? How can you tell if youre hiring a company that has a group of hacks on staff rather than a staff of talented, professional software developers? Although its not a silver bullet, the use of the Unified Modeling Language is one measure that many companies are using to help determine this. Use of the UML indicates that a software development company takes their work seriously and are willing to put the effort needed into a project to create world class software. The Importance of Analysis and DesignMany developers tend to skip the analysis and design cycle when creating custom software, often because they feel they dont have the time. Ironically, a common denominator in projects that are seriously behind schedule or architecturally unsound is little or no analysis and design. Developers who thought they were saving time by skipping this phase of the project find themselves spending far more time reworking, backtracking and duplicating efforts! In contrast, software modeling can: ·
Help manage
complex systems Rather than delaying the delivery of a product, good analysis and design can actually speed its completion. Avoiding Analysis ParalysisAt the other end of the spectrum, some developers actually spend too much time doing analysis and design, causing analysis paralysisand they never end up shipping a final product. At Oak Leaf Enterprises, based on our extensive experience creating object-oriented software, weve been able to find a fine balance between too little and too much analysis and design. We do enough to produce a solid, well-designed, flexible system without getting bogged down in the process. Determining the Length and Cost of ProjectsAs shown in the following diagram, we use the Unified Process which divides application development into four phases: Inception, Elaboration, Construction and Transition.
Inception is where the business rationale for the scope of the project is established. Elaboration is the phase where more detailed requirements are collected to establish a baseline architecture and create a plan for construction. At the end of this phase we can give you an accurate estimate of how long a project will take to complete and how much it will cost. In contrast, many software companies will give you an estimate before they determine the full scope of the project. Since software developers tend to be overly optimistic in their estimates, this is why software companies have a bad reputation for delivering software way past schedule and well over budget. The Construction phase consists of a series of iterations. Each iteration involves analysis, design, coding and testing. Each iteration is finished with system tests and a demo to you. From the outset, we involve our clients in each phase of application development. By using the UMLs Use Case Diagrams during the elaboration phase, we ensure that we are creating the application that you want, rather than the application that developers want. While this might seem like an obvious path, many developers today do the opposite. Transition is the final phase that includes beta testing, performance tuning and user training. Where to Learn MoreCheck out the following articles on the UML written by Kevin McNeish, President and Chief Software Engineer at Oak Leaf Enterprises: Design
Object-Oriented Applications January 1999 FoxPro Advisor We also recommend the following books for more information on the UML and object-oriented programming: UML
Distilled Second Edition by Martin Fowler
Last Updated: December 03, 2007 |