Find five and four definitions of software architecture in books, or on websites. See if you can distill their essential differences and their essential similarities. What do you like or dislike about each one.
“Software Architecture is a set of architectural elements that have a particular form.”
“Software Architecture is the organizational structure of a system”
“Software Architecture is the logical flow of interrelated components that works towards the goal of a current system.”
“Software Architecture forms a set of abstraction about the system that provide enough essential information to form the basis of communication analysis, decision making, and risk assessment”
“The Architecture of a system defines the building blocks, the externally visible properties of the building blocks, and their interrelationship”
These are some definitions of Software Architecture. In the first definition the writer say that S.A is set of architectural elements. There are 3 different classes of architectural elements processing elements, Data elements, connecting elements. The software architecture describes the structure of an organization. How the organization do their work. What are the steps that an organization takes place? In the 3rd definition we came to know that software architecture is the logical flow of interrelated components that works toward the goal. As my like or dislike, I like the semyon Axelrod and Mike Regan definition. He describes the basis of all the works that performed in a organization. S.A forms a set of abstraction and it does provide the enough essential information that tell the bases the communication analysis, decision making.
Author, in the article, highlights the Standish Group’s “Chaos Report” of 1994 which suggested that only 16.2% of software projects were completed on-time and on budget. However the figure was increased to 29% in 2004. Although the increase in success rate was significant but still dismal when compared with traditional engineering deplanes.
Discuss at least 2 factors that you think, can help further to bridge the gap ( to increase the success rate).
1- Use the right development process and increase your productivity and quality higher than cost. By using the right development process you can gradually reduce the risk. The prototype can be used for the group to study the new technology can also be used to study the user interface. And we also should see the quality of any product. Our productivity and quality must be good. We should increase it rather then prices. If our price is higher and we are not providing to our customer good quality product then it’s become difficult for us to get best feedback to our customer and this thing will reduce our productivity and we have to face to loss.
2- Keep yourself and your team happy and set your goals clearly. There must be friendly behavior in all the employees. And u must also wt you actually want what’s your goal? What you want to achieve? Because for the development of any project there must be specific goals to achieve. And you can achieve your goals that you must know the main point of anything and is the employees have better understanding about one another.