Fox Solutions
Automating Your Operations
Home Company Clients Software Design Software Development Downloads

Design Methodology

When it comes to successful software development, it's not about working harder; rather it's about working smarter. Anyone can write a program. Many can get their program to do its intended task. But in today's world of complex task requirements, integrated technologies and advanced programming models, one must employ a method of development that ensures the success of a project from the very start. Fox Solutions has developed such a methodology.

Requirements Gathering:
Before even a line of code is written we first listen to you, our client, to understand how you do business and what your needs are. Then we design a software solution that meets or exceeds your need requirements. Once this initial design is complete, we review the design together and make changes as needed.
 
User Interface Design:
The graphical user interface (GUI, pronounced "gooey") design is often overlooked. If the information and input fields on a form do not flow logically, the user will get lost and the application will be more difficult to learn. In addition, for long processing times, it is important to give the user an indicator to show that something is happening and an estimated time of completion. Check out some of our sample screen shots for some examples of good GUI design.
 
Flexible Architecture:
Your business is not static; it changes with the needs of your vendors and clients. So it makes sense to build flexible software that changes with the times too. For example, you may be invoicing your customers every month now, but as your business grows, you may need to invoice every week or even every day. Schedules change, fees change, discounts change, even your company name may change someday. At Fox Solutions, we design our applications to be flexible enough to change with your needs. This allows you to configure your application to suit your needs without employing a programmer.
 
Programming Structures:
In the old days of programming, code was written line by line as if on a scroll of paper. Though programmers were able to reuse code through functions and subroutines, it was difficult to write and reuse larger blocks of isolated code. Today, through object oriented programming (OOP), we can write reusable blocks of code called "objects". These objects can be written independently and then reused easily in many applications. At Fox Solutions, we reuse code as often as possible. Reusing code reduces the size of the program, helps keep the code easy to maintain, and reduces debugging time.
 
In addition, Fox Solution employs a three-tier structure when developing larger information systems. The three tiers include the user interface, the business logic, and the database containers. By isolating the individual tiers, we are able to use the same business rules for Internet users as we do for Desktop users. We can also minimize compatibility issues when connecting to many different types of databases. But the main reason we use the three-tier structure is that, when completed, the code is easier to read, modify and maintain.
 
Optimizing For Speed:
Regardless of whether you are using a slower database like MS Access or a more powerful one such as Oracle, it must be optimized for speed. Record indexing and poorly written SQL statements are the two most common reasons for slow performance. If a table is indexed poorly, you will get abnormal lag times when searching and retrieving data. However, sometime the tables have been indexed properly but the SQL statement has not been optimized. If this is the case, a minor change to the SQL statement can improve performance dramatically.
 
Software Integration:
If you were to build a house, odds are you would purchase the lumber, nails, fixtures, etc. from a hardware store. You wouldn't even think about manufacturing these items yourself. Well, the same is true in software development. Though sometimes we must start from scratch, many times there are pre-made products that can be seamlessly integrated into your software to do a specific task. Browse our integration ideas page for some ideas on how you can use third party products in your application.
 
General Code Guidelines:
When programming, it's easy to get lazy and write code that is difficult to maintain or impossible to build on. When this happens, a project will grow out of control and eventually become too difficult to work with. To avoid going down this path, we at Fox Solutions follow a few coding guidelines for writing high quality code.
  • Reuse of Code: For common tasks, a procedure should be written once and reuse s throughout the application.
  • Centralization of Code: A business rule or calculation should exist in one place and one place only.
  • Flexibility of Code: A fixed value in any given business rule or calculation should be referenced in a configuration table or file.
  • Isolation of Code: When it's possible, functions, subroutines, or objects should be kept isolated and only depend on their given parameters.
  • Object Oriented Code: When practical, object oriented principles are used to reuse, centralize, isolate, and organize code.
 
Logo
Copyright © 2000-2008 Fox Solutions. Use of this website signifies your agreement to the Terms of Use