Literature Review contains a complete picture of the related work done including critical analysis of existing software architecture evaluation methods / frameworks used to ensure quality of service in software architecture. It also consists of the limitations of existing models and provides motivation for further research in the same field. This chapter has been categorized into following four sub-sections according to the specific aspects of research domain.
2.1 Quality Attributes and the Quality Model
An important issue in software development today is quality. Nonfunctional characteristics of a component or a system are called quality attribute. “A software quality is defined in IEEE 1061 and it represents the degree to which software possesses a desired combination of attributes “[1]. A software quality model is defined in ISO/IEC Draft 9126-1 [2]. Functionality, reliability, usability, efficiency, maintainability, and portability are the six basic categories of characteristics of software architecture which are divided into sub characteristics according to this software quality model. A large number of definitions of quality attributes exist in literature. For example, maintainability, flexibility, and modifiability definitions are described as follows [3].
“Maintainability is a set of attributes that have a bearing on the effort needed to make specified modifications” [2]. Corrections, improvements or adaptations of software to changes in environment, requirements and functional specification are part of maintainability.
“Modifiability is the ability to make changes quickly and cost effectively” [4]. There are two types of modifications to a system, extensibility, portability and restructuring. Extendibility o...
... middle of paper ...
... CarrieÁre, ªThe Architecture Tradeoff Analysis Method,º Proc. Fourth Int'l Conf. Eng. of Complex Computer Systems (ICECCS '98), Aug. 1998.
[25]. M. Barbacci, S. Carriere, P. Feiler, R. Kazman, M. Klein, H. Lipson, T. Longstaff, and C. Weinstock, ªSteps in an Architecture Tradeoff Analysis Method: Quality Attribute Models and Analysis,º Technical Report, CMU/SEI-97-TR-029 ESC-TR-97-029, 1998.
[26]. P.O. Bengtsson and J. Bosch, ªScenario-Based Architecture Reengineering,º Proc. Fifth Int'l Conf. Software Reuse (ICSR 5), 1998.
[27]. P.O. Bengtsson and J. Bosch, ªArchitecture Level Prediction ofSoftware Maintenance,º Proc. Third European Conf. Software Maintenance and Reeng., pp. 139-147, Mar. 1999.
[28]. J.C. Duenas, W.L. de Oliveira, and J.A. de la Puente, ªA Software Architecture Evaluation Model,º Proc. Second Int'l ESPRIT ARES Workshop, pp. 148-157, Feb. 1998.
Another process activity useful for the prediction of changes is requirements-driven impact analysis or RIDA, for short. This analysis is used to pinpoint which software entities need to be altered in order to be able to implement a certain requirement (Lindvall, 1998). RIDA, which is conducted during the release planning phase, takes two variables into consideration. Firstly, there is the input, which refers to the existing complex system and the set of requirements. Secondly, there is the output, which represents the specific software entities that have to be changed to meet each requirement.
Answer: Software changes is inevitable. Change is inevitable in complex systems because of various causes like the requirements gathering, their design, specifications, user requirements etc. All software systems must evolve to meet the ever - expanding needs of its users. Gathering entire requirementsat a single stretch may sometimes be not possible for complex systems. In such cases, the changes are made to the systems after the development. Also, user requirements change from time to time. So to accomplish their requirements, changes are made. Designing complex systems and accomplishing all the needs and requirements is difficult in complex systems. So these are designed and developed with initial requirements and then changes are made to the existing
Stage 3 involves creating an Architectural Model version of the whole system including sub systems. A Viewpoint Hierarchy shows a skeleton version of the system which can be ins...
Software maintenance stands for modifications and updates done to the software after the delivery of software product. There are several different reasons, why software maintenance is required. Software needs to be updated regularly to keep it functional with the new and latest technology. Once software is developed, it does not mean it is the final product or perfect. Software may need to be modified or updated because of errors or new customer wants new features to be added to the software. There are also several other reasons such as market conditions, host modifications and organization changes. (Tutorialspoint 2015)
A framework is a set of classes that supports reuse at larger granularity. It defines an object-oriented abstract design for a particular kind of application which enables not only source code reuse, but also design reuse [Johnson & Foote, 1988]. The framework abstract structure can be filled with classes from its own library or application-specific ones, providing flexibility for the developer to adapt its behavior to each application. Besides flexibility, a good framework also increases the team productivity and makes application maintenance easier [Fayad et al. 1999].
Flynn, Donal J.; "Information Systems Requirements: Determination and Analysis"; McGraw-Hill Book Company; 1992Parnas; 1985; taken from: Sherer, Susan A.; "Software Failure Risk – Measurement and Management"; Plenum Press; 1992Jones, Carpers; "Patterns of Software Systems Failure and Success"; Thomson computer press; 1996Neumann, Peter G.; "Computer Related Risks"; Addison-Wesley publishing company; 1995Petroski, Henry; "To Engineer is Human"; MacMillan Publishing; 1985Flowers, Stephen; "Software failure: management failure"; Chichester: John Wiley and Sons; 1996.Report of the Inquiry into the London Ambulance Service; February 1993. Simpson, Moira (1994); "999!: My computers stopped breathing !"; The Computer Law and Security Report, 10; March – April; pp 76-81Dr. Dobbs Journal; January 1997 edition<a href="http://catless.ncl.ac.uk/Risks">http://catless.ncl.ac.uk/Risks<a href="http://www.scit.wlv.ac.uk ">http://www.scit.wlv.ac.uk <a href="http://www.bbc.co.uk/news">http://www.bbc.co.uk/news<a href="http://abcnews.go.com/sections/travel">http://abcnews.go.com/sections/travel
Answer: Thе extent tо whісh а ѕуѕtеm mееtѕ thе nееdѕ and expectations оf іtѕ uѕеrѕ determines the quality of the system .Comparison with competitors also helps us determine the quality of the system. The major focus of quality management is on refining, defining and measuring the quality of the development process and the product during development of the software.
Component Based Architecture creates a system that is easily extensible, promotes software reuse and intuitively understandable. A component often relates to an object in Object Orientated Programming. The RUP provides a systematic way to build this kind of system, focusing on producing an early executable architecture before committing full resources on a project.
Quality is one of the most important components of application development and an integral part of the project process to ensure that errors are not made while
The Unified Modeling Language is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. The key is to organize the design process in a way that clients, analysts, programmers and other involved in system development can understand and agree on. The UML provides the organization. The UML was released in 1997 as a method to diagram software design, by some of the best minds in object oriented analysis and design. It is by far the most exciting thin to happen to the software industry in recent years. Every other engineering discipline has a standard method of documentation. Electronic engineers have schematic diagrams; architects and mechanical engineers have blueprints and mechanical diagrams. The software industry now has UML.
Within the analysis phase a set of goals are needed within the domain. From this there are three perspectives which are taken; the object model the Ronald LeRoi Burback (1998) states “dynamic model, and a functional model. The object model represents the artifacts of the system. The dynamic model represents the interaction between these artifacts represented as events, states, and transitions. The functional model represents the methods of the system from the perspective of data flow.” After the analysis phase the system design phase takes place. Here the system is sub-categorized and appointed tasks and persistent data storage is established, also within this phase the architecture is formed. Lastly the object design phase starts and is where the implementation plan is established and algorithms and object classes are also
Requirements engineering begins during the communication activity, continues into the modeling activity, and builds a bridge from the system requirements into software design and construction. Through requirements engineering, there is an examination of the context of software work performed. It is essential for the software engineering team to understand all requirements of a problem before the team tries to solve the problem. An identification of specific needs that the design and construction must address is also included. Further is a need for the identification of the priorities that guides the order for the completion of work. This i...
Software engineering encompasses various principles from both the computer science field and the computer engineering field to develop practical uses of software within hardware we use on a daily basis. With the passage of time, technology dependent on software has become increasingly prevalent. As a result, there will be a high demand for software engineers to sustain the eventual abundance of new and more complex computers.
META Group. Inc has an enterprise architecture planning process that avails a systematic way to aligning information technology projects to IT organizations with corporate priorities and objectives. META Group is an international organization that deals with advisory and consulting issues internationally. It`s role is to provide advice on technology and business strategies. It has provided these services to more than three thousand, three hundred clients across the world in over forty countries. META Group has used an enterprise architecture tool known as Model Driven Architecture (MDA). This tool has the capacity of implementing enterprise systems that are made known by the enterprise architecture process. Therefore, it provides a broad loom to the development and management of IT environments (Buchanan, 2002).
The input and output sections allow the computer to receive and send data, respectively. Different hardware architectures are required because of the specialized needs of systems and users. One user may need a system to display graphics extremely fast, while another system may have to be optimized for searching a database or conserving battery power in a laptop computer. In addition to the hardware design, the architects must consider what software programs will operate the system.