BASIS develops custom enterprise-wide web-based application systems for government and commercial clients. To ensure client satisfaction is achieved with the final system we develop on their behalf, BASIS utilizes modern tools to gather key system requirements and uses a design methodology to plan manage, control and evaluate database development projects. The design methodology process is divided into three main phases: conceptual, logical and physical database design. We adhere to core concepts contained in the Information Engineering and the Iterative Development Methodologies.
BASIS uses the Rational Unified Process to either design new distributed web-based applications or to re-engineer existing applications to be deployed in an enterprise-wide environment. The four phases of the Rational Unified Process include:
Industry Best Practices are an organized and documented set of six principles, methods, and processes that increase quality and productivity of software and system development. Best Practices address the root causes of problems faced by software developers.
BASIS uses the Iterative methodology, where instead of developing the whole system in lock step, increments are selected and developed one at a time. The selection of the first increment to be developed is based on risk, the highest priority risks first. You apply the waterfall (SDLC) within each iteration and the system evolves incrementally. Each iteration includes integration and test. Iterations help:
Requirements management is a systematic approach to eliciting, organizing, documenting, and managing the changing requirements of a system. It allows us to analyze the problem, understand user needs, define the system, manage scope, and refine the system definition. In order to manage requirements we translate stakeholder requests into a set of key stakeholder needs and system features. This is done by producing a user requirements document and a system requirements document.
Components make system development easier because they can be reused in several different applications. This reduces costs and saves you from building the same thing repeatedly. Components can be switched in and out easily because of their standard interfaces, so no matter which application they’re in, they can communicate with other components. Because of this reuse, your system will be less complex, more robust, and more resilient.
Providing data models of a system during development is essential because it helps to envision and think through the concepts. Having models gives us better view of how all the system elements fit together. Models also help us to compare the design alternatives at a low cost.
More reasons we use models throughout development:
BASIS defines measures for assessing a system's quality throughout the development process. We create and execute test cases for all requirements so we know as soon as possible which requirements can or cannot be implemented.
Quality verification is one reason BASIS develops iteratively. Because we work on a small piece of the project at a time, and test throughout each iteration, we can produce a bug-free application.
Managing change ensures that change requests and problem reports are documented and addressed. Regarding the requirements, it means there is a way to prevent the simultaneous update of your project artifacts and to have project team members alerted to changes.
A traceability matrix is needed for all project artifacts. Traceability allows us to assess the impact of a change in a requirement. In addition it can be used to prove the capabilities of the system.
©2008 Business & Scientific Information Systems, Incorporated. All rights reserved.