Software System Architecture Essay
Once a business need is established, software system architecture is formulated to meet this business need. To properly formulate the software system architecture we must employ proven strategies, such as diagrams that illustrate the parts of the system and how they work together. These subsystems collaborate intelligently to support the functionality of the whole system. Project managers must be aware of the system architecture involved and how to manage the parts that make up the entire system. A good analogy for visualizing the software systems as subsystems is the manufacture of a successful bicycle line. This particular bicycle consists of many subsystems, such as the frame assembly, wheel assembly, sprocket drive assembly, steering assembly, and the braking subsystem. The subsystems work cohesively to form a main system of functionality as required by stakeholder specifications. The concept of a modular design is very important in a complex system; it enables the designer to modify the system easily by adding or changing existing system components. In addition, all subsystem specifications must be taken into account before any change can be introduced into the system. A software system, when programmed modularly and designed to work in concert to compliment the design, is a proven system that works well. One example of this design is protocol event handlers that stream data across networks. In order to express this modular concept effectively to the stakeholders, a diagramming system is employed called the Unified Modeling Language (UML).
The UML is a modern standard convention that enables software designers to achieve a common, consistent view of the system. The UML is a standard maintained by the Object Management Group (OMG). The OMG was founded by eleven high-tech companies which endeavor to revise and enhance the standard. “OMG’s modeling standards, including the Unified Modeling Language (UML) and Model Driven Architecture (MDA), enable powerful visual design, execution and maintenance of software and other processes, including IT Systems Modeling and Business Process Management” (Object Management Group, 2008). The UML standard has significant advantages over other approaches: The diagrams are clear and well documented, the standard provides familiarity for all employees, and preserves the system architecture for future employees. The best reason to choose UML and its standard diagrams is for clarity, which fosters good communication. Many developers will put up an architecture drawing with non-standard views in a preliminary design meeting. This usually causes confusion and misunderstanding in some of the attendees. “Software managers should not be wiling to accept nonstandard software design specifications without question” (Cantor, 2002). In order to remain competitive in this fast-paced, volatile world of software development, organizations should adopt the UML†based design standards and object-based development. For example, other frameworks share views with UML, such as engineering activity and state diagrams. In addition, there is an effort ongoing to extend UML into other domains such as business modeling, data modeling, and system engineering. Incorporating UML means the design team will create a set of views of the architecture. The views are intended to address different concerns. The most common views are: • The use case view † deals with the functionality and behavior of the system. • The logical view † deals with system structure. • The component view -- addresses how the logical elements are packaged into the delivered system. • The deployment view † which maps the software components to the hosting hardware. Each of these views contains one or more UML diagrams that capture the design decisions with collaboration diagrams. These diagrams show how the subsystems work...
Please join StudyMode to read the full document