Question

The role and impact of architects and architecture in the project life cycle. How can architectural...

The role and impact of architects and architecture in the project life cycle. How can architectural viewpoints be developed through the use of diagramming tools?

Component-based, distributed, and SOA-based architecture. How are they similar? How do they differ?

0 0
Add a comment Improve this question Transcribed image text
Answer #1

The role and impact of architects and architecture in the project life cycle

Software architects play a very important role throughout the project life cycle. An architect abstracts the complexity of a system into a manageable model that describes the essence of a system by exposing important details and significant constraints. In short, he is the important link between a project ideation and project implementation. Although an architect may be most visible during the requirements and design stages of a project lifecycle, he or she must proactively monitor the adherence of the implementation to the chosen architecture during all iterations. An architect has to stay on course with the long term vision, hence has to stay in touch with the executives and the clients and must know when to say "NO" to certain requests in order to say "YES" to others. He or she also has to monitor the implementation by the developers to make sure it is in line with the architecture, hence he also has to work quite closely with software developers. The impact of an architect is quite visible at least in the long term. A good architect architects scalable systems which ease the overall processes and future developments in the long term. He is also able to communicate effectively with all the stakeholders to make sure they are getting what they want. On the other hand, a bad architect may only look at the short term benefits and that could adversely affect the scalability of the system. Also if he is not able to effectively communicate with all the stakeholders, and explain to them why the specific architecture is the way forward, there will be a lot of friction in the project.

How can architectural viewpoints be developed through the use of diagramming tools?

Architecture views are representations of the overall architecture that are meaningful to one or more stakeholders in the system. The architect chooses and develops a set of views that will enable the architecture to be communicated to, and understood by, all the stakeholders, and enable them to verify that the system will address their concerns. Appropriate diagramming tools should be used depending on the stakeholder you're presenting to and the architectural viewpoint that you want to present. Examples,

  • Database viewpoint: ER diagrams (Entity relationship diagrams)
  • Public Interface: XML Schema and/or API documentation
  • Complex algorithms: UML activity or Interaction overview diagrams

Component-based, distributed, and SOA-based architecture.

Component-based architecture:

A component is a software object, meant to interact with other components, encapsulating certain functionality or a set of functionalities. A component has a clearly defined interface and conforms to a prescribed behavior common to all components within an architecture.So, in simple terms a component-based architecture defines components and the interactions between them to achieve the desired results. Beyond that a component model provides an infrastructure which implements frequently used mechanism like persistence, message-exchange, security and versioning.

Service-oriented architecture (SOA) :

SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents. A service is a unit of work done by a service provider to achieve desired end results for a service consumer. Both provider and consumer are roles played by software agents on behalf of their owners. This simply means that a service X depends on its upstream services to provide necessary data and functions. Also service X will provide the necessary functions and data to its downstream services. As an example, let's say there is a service A, which is closest to the user. Service A depends on service B and service C. Hence you are able to create a service dependency graph where Service B and Service C are the upstrem services of Service A, and analogously, service A is a downstream service of both service B and service C. Service B and service C need not care about service A's existence which is what is meant by loose coupling.

Distributed architecture:

In distributed architecture, components are presented on different platforms and several components can cooperate with one another over a communication network in order to achieve a specific objective or goal. In this architecture, information processing is not confined to a single machine rather it is distributed over several independent computers. Middleware is a system which actually connects all the machines to provide the desired results. It ensures proper machine communication and fault tolerance. The client-server architecture is the most common distributed system architecture which decomposes the system into two major subsystems.

How are they similar? How do they differ?

All the above architectures in fact have one common goal. To provide the user what he wants! They do that in slightly different ways. There is no clear dividing line between Service Oriented Architecture and Component Based Architecture. In principle SOA is the enhancement of Components: The individual services are single components, which can be linked to gain new business logic, new services or a new component. You could say that components are very small modular systems while services are a collection of many components such that it could be called a fully-fledged service. An example is that in a big company, there are different teams which provide services respective to that particular team. Let's say there is a transportation team which takes care of the logistics, there is a financial team which does all the accounting and there is the front-end team which maintains the user interface. Now as you can see, teams depend on each other to provide their services (eg. transportation team depends on the financial team to maintain their balance sheets). But at the same time, they are loosely coupled, in that the transportation team does not need to work closely with the financial team. They just need to provide the services and any interested party can consume those services for their respective functions. Hence, a service may be the largest collection of components such that different services are still loosely coupled.

Any component-based or SOA-based architectures could either be distributed or centralized. A centralized system is where all the work happens on a single machine. A distributed system, as you could guess, works on many machines. There are certain advantages of using a distributed system but there also are some disadvantages.

Advantages:

  1. Concurrency - Different machines can simultaneously process information to provide faster services
  2. Scalability - If ever you have a lack of resources (eg. increase in users), you can add more machines to the system.
  3. Fault tolerance - On single machine system, if a fault occurs (eg. machine crash, code bug), there is nothing you can do. While on a distributed system, a single machine fault does not matter much as the middleware understands the issue and other machines compensate for the machine's loss.

Disadvantages:

  1. Complexity - It is more complex to design distributed systems than centralized systems.
  2. Security - More susceptible to attack.
  3. Unpredictability - It could cause concurrency issues as multiple machines are involved, similar to concurrency is thread scheduling.

....................................................................................................................................................................................

Feel free to ask any doubts and I'll be pleased to help!

Add a comment
Know the answer?
Add Answer to:
The role and impact of architects and architecture in the project life cycle. How can architectural...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • In this discussion, please provide your understanding of BIM for Architecture Design based on lea...

    In this discussion, please provide your understanding of BIM for Architecture Design based on learning Chapter 5 and the reviewed case studies (and your working experience, if applicable). You may wish to include the following as topics of discussion (choose at least three topics; 5pts for each topic, 15pts in total). Read as many postings as you can and type comments on atleast 2 postings (2.5pts for each comment, 5pts in total 1) Benefits by using BIM processes and tools...

  • Explain how you will effectively engage the stakeholders throughout the project life cycle, based on their...

    Explain how you will effectively engage the stakeholders throughout the project life cycle, based on their needs, interests, and potential impact on project success. (IT project Management)

  • Evaluate how the Central Process of role experimentation can impact an adolescence and how the role...

    Evaluate how the Central Process of role experimentation can impact an adolescence and how the role of the environment impacts it. Include an example to illustrate your thoughts. Reference: Newman, B.M., & Newman, P.R. (2015). Development trough life: A psychosocial approach. Stamford, CT: Cengage Learning.

  • 2 - 3 Paragraph response Select a product you use frequently. Describe its current life cycle...

    2 - 3 Paragraph response Select a product you use frequently. Describe its current life cycle and component and material composition based on what you know and can determine from a short search for information. Then describe how this same product would be designed, used, and handled through the end of its life if the product’s designers used the ideas introduced in this chapter. Be specific about what concepts and tools you are applying to your analysis. framing sustainablilkty innovation...

  • how can the lack of project planning and controlling throughout the life of a project affect...

    how can the lack of project planning and controlling throughout the life of a project affect the end cost of the project? what will be the role of a project manager in this project and how can the project manager resolve this problem?

  • Hadoop is used for distributed computing and can query large datasets based on its reliable and scalable architecture. T...

    Hadoop is used for distributed computing and can query large datasets based on its reliable and scalable architecture. Two major components of Hadoop are the HadoopDistributed File System (HFDS) and MapReduce. Discuss the overall roles of these two components, including their role during system failures. Your discussion should include the advantages of parallel processing. Discussion Requirements List the various traditional database systems, methods and tools. List and explain various tools used to manage Big Data Analytics – NoSQL, Hadoop &...

  • In the final project for this course, you will imagine that you are an IT business...

    In the final project for this course, you will imagine that you are an IT business analyst intern at Sharpe Style in the scenario provided and have been asked by the owner to research options for improving the business’s performance through the use of technology. Specifically, the owner wants to expand the business’s retail presence into online sales and ensure a positive customer experience by incorporating intelligent systems into the website. You will create a business report for business owner...

  • A: How do providers (physicians and others) impact the revenue cycle and how can their effectiveness...

    A: How do providers (physicians and others) impact the revenue cycle and how can their effectiveness be improved to assist with increased efficiency and collections? How do we help them be our partners in ensuring we have robust revenue integrity baked into our organizations? - 2 to 3 paragraphs

  • So far in our attempt to understand the entire software development life cycle we have covered...

    So far in our attempt to understand the entire software development life cycle we have covered the two main types of methodologies and types of testing needed before a software is released. We understand that on a high-level a developer is needed to do the development work, and a tester will conduct the testing piece. But let's explore the roles and responsibilities of a project manager and business analyst in this week's discussion. 1. How is a Business Analyst's role...

  • Healthcare professionals provide support throughout the cycle of life, from birth to death. They have an...

    Healthcare professionals provide support throughout the cycle of life, from birth to death. They have an obligation to provide humane and compassionate care to patients while adhering to their specific field’s code of ethics. Sometimes, healthcare professionals are privy to discussions between family members regarding end-of-life issues. In some instances, a healthcare facility may be in charge of providing information about advance directives to patients. Healthcare professionals should calibrate their own moral beliefs to align with their ethical and legal...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT