Software architecture
Software architecture is a coherent set of abstract patterns guiding the design of each aspect of a larger software system.
Tools
It?s important for the IT-sector to have good tools available in order to control different kinds of software architectures. Because the development of new software architecture tools is a relativaly new subject nowadays, it's important to look at some functions and requirements of such a tool. These important requirements and functionalities are listed below:
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
- Support Quality System Design
- Evaluate an architecture?s effectiveness, quality and completeness
- Map and verify requirements to arch. Description
- Cycle through all impacted data and products after an architectural modification
- Indicate impact on associated arch. components
- Relate Data Dictionary and component definitions to a defined architecture
- Relate description of inputs, outputs and process to each arch. element
- Allow the user to define/use their own heuristics and rules
- Provide user input definition completeness checking at all levels (e.g. interfaces)
- Checks for input(s), output (s) and process(s) descriptions for each arch. element
- Allow the user to tag architecture elements with requirements
- Assist in developing the operational concept ("Ballpark" or "Blue Sky" perspective)
- Relate operational concept to arch. element
- Allow cost estimation through a spreadsheet feature
- Map cost to arch. elements and maintain in row/column format
- Support architecture evolution with easy editing features
- Support Multiple System Views
- Produce architecture views from functional and object oriented (OO) perspectives (examples: WBS, functional, physical, data flow, state diagrams)
- Produce a view of interface connectivity
- Support various physical architectures (view from a number of levels, Black box, Rack, circuit board, chip)
- Support various types (i.e. technology applications) of architectures: Mechanical, electrical, chemical, Information etc.
- Relate views to each other (changes should automatically cycle through all views)
- Methodology Independent
- Is your product of general structure allowing definition of tool functions, conventions, and methods
- Enable tailoring to specific standards and requirements, IEEE, ISO, MIL-STD
- Impose a specific design methodology (e.g., only functional, only OO)
- Accommodate other approaches (i.e. Functional, OO, Quality Functional Deployment etc.)
- Allow technology insertion and application customization (API)
- Allow customization of diagrams, icons, heuristics, functions, etc.
- User Interface
- User friendly & menu driven (drag and drop capabilities)
- Begin jobs using templates, fill-in lists, etc. to guide the user
- Provide prompts for functional attributes, interface characteristics, objects, etc.
- Provide a standard icon library for architecture development (Vendor supplied)
- Allow drag and drop control of icons within the architecture
- Does your product allow the user to customize icons with definitions for specific architectures
- Communication with Other Tools
- Allow import/exchange of data from others formats and tools
- Create files in formats readable by other tools
- Interface to requirements traceability software
- Interface with word processing, spreadsheet and illustration software
- Interface with CAD and software design and coding tools
- Documentation Production
- Store standard document outlines - used as starting points. User definable templates or modifiable
- Support production of Operational Concept Document
- Support production of Functional Description Document
- Support production of a Data Dictionary
- Support production of Requirements Allocation Document
- Produce context diagrams, Functional Flow Block Diagrams, Hierarchy charts, Connectivity diagrams, and Physical layouts
- Produce printouts
- Computer Environment
- Support a single user or multiple concurrent users
- Which platforms and operating systems does the tool run on
- Does the tool use a proprietary or commercially available database
- Resource Requirements
- Please identify hardware/software configuration requirements
- Memory requirements
- CPU requirements
- Disk space requirements
- A4
- CAME
Here are a couple of examples of Software architecture tools:
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ Table of Content ~
| ► | Introduction |
| ► | History |
| ► | ADL |
| ► | Views |
| ► | Architecture examples |
| ► | Related concepts |
| ► | Tools |
| ► | See also |
| ► | References |
| ► | External links |
~ What's Hot ~
The Princess And The Frog, Up In The Air, Avatar, Fantastic Mr Fox, The Boondock Saints Ii All Saints Day, The Mummy 4 Rise Of The Aztec, New Moon, Alvin And The Chipmunks The Squeakquel, A Christmas Carol, 500 Days Of Summer, My Sister S Keeper, I Love You Beth Cooper, The Blind Side, Clash Of The Titans, Hannah Montana The Movie, The Goods Live Hard Sell Hard, The Hangover, Sorority Row, This Is It, Twilight,
~ Community ~
| ► | History Forum Come and discuss about History, Civilizations, Historical Events and Figures |
| ► | History Web-Ring A community of sites, blogs and forums dedicated to History. Do not hesitate to submit your site. |
and are licensed under the GNU Free Documentation License.
Lexicon - Privacy Policy - Spiritus-Temporis.com ©2005.
