BNS International Inc has spent the last few years compiling a list of modern, classic, and bibliographic definitions of software architecture.
Modern definitions are definitions from Software Architecture in Practice and from ANSI/IEEE Std 1471-2000, Recommended Practice for Architectural Description of Software-Intensive Systems.
Classic definitions lists definitions from some of the more important or influential books and papers on architecture. Bibliographic definitions are taken from papers and articles in our software architecture bibliography.
Our software architecture and design process has very specific components. These are in place to enhance the functionality of the software we build for you. And extend its lifetime. The combination of our process-driven economies and design expertise give you more robust solutions.
Our Architecture Design Concepts are:
- High Level Requirements
Getting the big picture helps us design in the appropriate details. We identify the core business processes, user community, inputs and outputs, security and all aspects of the required scalability and functionality. This panoramic approach enables HRK Solutions architects to design the appropriate systems—whether we’re building a unique platform from the ground up or extending your existing resources systems.
- Industry Research
Next we identify relevant industry standards such as data formats, transfer and transmission protocols and tool-sets. We conduct an availability analysis to discover what tools are available to build your application. And check competitive applications for insights that will speed the development process.
- Modular Design
We won’t re-invent the wheel—unless we have to. We review how similar applications function. This allows us to use existing modules and gain understanding from extant applications—saving the expense of designing new ones.
- Implementation Strategy
We can merge software components developed interdependently or from different multi-user environments, and we will repackage software to fit into architectures with different interface requirements. Then we create a system that will meet your needs. Whether we are extending an existing system or building from the ground up.