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.
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...
If given a chance to do things differently, we would first include the additional factors stated above as part of the evaluation criteria of the software providers. Also, as a last step to the process, instead of only relying on the demo by the providers, we would include a ‘pilot project implementation’ stage, where the provider integrates a piece of software to the existing architecture to be used by end users in production on a daily basis. This can provide a real test of usability, compatibility and can be used to evaluate critical measures such as fault tolerance.
One of the important components of software engineering is the platforms. There are many various types of computing platforms. A few of these include AmigaOS, Linux, Windows, Solaris. These examples are just a few of many different computing platforms. The types of computing platforms can be differentiated into three different categories, which include operating-system examples, software frame work examples, and also hardware examples. Each of the different platforms has slightly different requirements and means of maintenance. Even the required standards for the platforms differentiate depending on which platform being used. Platforms are a vital part of systems and for applications, and are available in many various forms. The basis of this paper is mainly to observe the differences and similarities of four of these platforms. The particular platforms being compared and contrasted with each other include: Linux, Microsoft Windows, UNIX, and Macintosh. The purpose is to look at the purpose of each of these platforms and also to perceive the advantages and disadvantages of each.
Software applications are powerful tools in the battle to make businesses more efficient and effective. Many have tried to make do with commercial off-the-shelf software (COTS), only to find that their specific needs demanded professionally developed software. Others insist on reinventing the wheel by developing software in areas where vendors are offering an already mature, reliable and relatively cheap version to buy.
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
Shah, H., & El Kouridi, M. (2007, September/October). Frameworks for enterprise architectures. IT Professional, 36-41. Retrieved from http://csdl.computer.org.dml.regis.edu/dl/mags/it/2007/05/mit2007050036.pdf
24. Zachman JA (1987) A framework for information systems architecture. IBM Syst J 26:276–292. doi: 10.1147/sj.263.0276
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.
Requirements are what the customers, users and suppliers wants from a system. This needs to be identified and determined based on the available information and agreed by customer and project stakeholders. Based on this what functional requirements must be implemented to support client business needs , what can these requirements do to effectively perform client’s business functions must be determined. Further what those non functional requirements can do to add any value to clients must be determined, since non functional requirements improve the overall user experience ,Moreover what are the limitations in implementing the requirements must be identified by the technical team based on technical limitations, less Return of Investment(ROI) due to changing trends etc.
The literature review begins with the background of architectural model followed by the academic and observed discussions of the topic as well as a summary of some major findings.
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.
System architecture and design of the system of an SoC is the most important parts to be considered when developing system-on-chip applications.
Since a reference architecture provides an understanding of a set of systems developed for a domain by generalizing and abstracting components and their inter-relationships, the creation of a reference architecture provides potential customers with a common perspective and principled basis for comparison of
While developing a software many complex activities are required which in turn have dependencies along them. Large software projects require the involvement of programmers, documentation specialists, program managers, architects, database analysts, system analysts, , and trainers and last but not the least testers. Along with their independent responsibilities these persons are also responsible to maintain and keep a check on the software system quality as well.
Software engineering is important in today’s society because we use the products of software engineering almost daily. We use the products of software engineering in objects as simple as our car keys to objects as complicated as supercomputers. The past, present, and future of software engineering is quite interesting. This paper will provide information about this field of study and why software engineering is going to be around a while.