What are some of the different system architectural styles – Software Engineering

What are some of the different system architectural styles – Software Engineering

Overview

Apply the Scrum process to create user stories for a given scenario, including those for chat, instant messaging, user rank, and high­score functionality. In addition, create an architectural style to complete the software architecture.

Authors Nick Rozanski and Eoin Woods (2011) state, “An architectural scenario is a crisp, concise description of a situation that the system is likely to face in its production environment, along with a definition of the response required by the system” (p. 10). In UML, use cases and sequence diagrams are used to illustrate the textual scenario as a picture. You will explore the textual and graphical ways to use scenarios in a software architecture. Also, the Scrum process uses user stories; these provide a strong template in which to document the user scenarios.

A software architect explores typical architectural styles and patterns for complex enterprise software systems. Common existing architectural styles and patterns represent best practices for the design of complex software systems. Software architects should review existing architectural styles and patterns so they do not to start from the beginning each time they create a new system. Software architects should consider using common styles and patterns when applicable to the current situation. If the existing architectural style does not fit, the architect must create his or her own style.

Reference

Rozanski, N., & Woods, E. (2011). Software systems architecture: Working with stakeholders using viewpoints and perspectives (2nd ed.). Upper Saddle River, NJ: Pearson.

By successfully completing this assessment, you will demonstrate your proficiency in the following course competencies and assessment criteria:

Competency 2: Explain fundamental concepts and principles of software architecture. Explain the architectural style necessary to complete the software architecture.

Competency 3: Create a software and data architecture for an organization.

Create a use case diagrams for each user story.

Competency 4: Apply collaboration strategies in the software architecture process.

Apply the Scrum process to create user stories.

Competency 5: Communicate effectively.

Communicate in a manner that is scholarly, professional, and consistent with expectations for members of professional communities

Context

Authors Nick Rozanski and Eoin Woods (2011) state, “An architectural scenario is a crisp, concise description of a situation that the system is likely to face in its production environment, along with a definition of the response required by the system” (p. 10). In UML, use cases and sequence diagrams are used to illustrate the textual scenario as a picture. Also, the Scrum process uses user stories; these provide a strong template in which to document the user scenarios.

Common existing architectural styles and patterns represent best practices for the design of complex software systems. Software architects should review existing architectural styles and patterns so they do not to start from the beginning each time they create a new system.

Software architects should consider using common styles and patterns when applicable to the current situation. If the existing architectural style does not fit, the architect must create his or her own style.

Reference

Rozanski, N., & Woods, E. (2011). Software systems architecture: Working with stakeholders using viewpoints and perspectives (2nd ed.). Upper Saddle River, NJ: Pearson.

Questions to Consider

To deepen your understanding, you are encouraged to consider the questions below and discuss them with a fellow learner, a work associate, an interested friend, or a member of the business community.

What are some of the different system architectural styles? What is the most preferred style, in your opinion?

Resources

Required Resources

The following resources are required to complete the assessment.

User Story Template.

Suggested Resources

The following optional resources are provided to support you in completing the assessment or to provide a helpful context. For additional resources, refer to the Research Resources and Supplemental Resources in the left navigation menu of your courseroom.

Course Library Guide

A Capella University library guide has been created specifically for your use in this course. You are encouraged to refer to the resources in the IT­FP3345 – Fundamentals of Software Architecture Library Guide to help direct your research.

Pluralsight Videos

Instructional videos from Pluralsight are provided for your use in this course. You may access the videos via the Pluralsight resources in this assessment.

Internet Resources

Access the following resources by clicking the links provided. Please note that URLs change frequently. Permissions for the following links have been either granted or deemed appropriate for educational use at the time of course publication.

Sparx Systems Pty Ltd. (2007). UML tutorial. Retrieved from http://sparxsystems.com/uml­ tutorial.html

Ambler, S. W. (2006). UML 2 use case diagrams: An Agile introduction. Retrieved from http://www.agilemodeling.com/artifacts/useCaseDiagram.htm

Ambler, S. W. (2006). UML 2 use case diagramming guidelines. Retrieved from http://www.agilemodeling.com/style/useCaseDiagram.htm

Miller, R. (2007). Practical UML: A hands­on introduction for developers. Retrieved from http://dn.codegear.com/article/31863

Pay special attention to the Use Case Diagrams, Sequence Diagrams, and Deployment Diagrams sections.

Sparx Systems Pty Ltd. (2007). UML 2 tutorial. Retrieved from http://sparxsystems.com/resources/uml2_tutorial/

Pay special attention to the Sequence Diagrams section.

Ambler, S. W. (2007). UML 2 sequence diagramming guidelines. Retrieved from http://www.agilemodeling.com/style/sequenceDiagram.htm
Chitnis, M., Tiwari, P., & Ananthamurthy, L. (2005). Tutorials: Discover UML. Retrieved from http://www.developer.com/design/article.php/3500181

Ambler, S. W. (2007). UML 2 deployment diagrams: An Agile introduction. Retrieved from http://www.agilemodeling.com/artifacts/deploymentDiagram.htm

Chartier, R. (2008). Application architecture: An N­tier approach – Part 1. Retrieved from http://www.codeguru.com/csharp/.net/net_data/article.php/c19439/Application­Architecture­An­NTier­ Approach-Part­1.htm

Bookstore Resources

The resources listed below are relevant to the topics and assessments in this course and are not required. Unless noted otherwise, these materials are available for purchase from the Capella University Bookstore. When searching the bookstore, be sure to look for the Course ID with the specific -FP (FlexPath) course designation.

Qian, K., Fu, X., Tao, L., Xu, C., & Diaz­Herrera, J. L. (2010). Software architecture and design illuminated. Sudbury, Mass: Jones and Bartlett Publishers. ISBN: 9780763754204.

Refer to the Toolwire FAQ and Troubleshooting Help.

If you have specific questions about the Toolwire resource, please contact your FlexPath coach.

Video Resource: Best Practices For Gathering Req

Click the linked title next to the arrow in the heading above to access an optional Pluralsight video titled Best Practices for Requirements Gathering.

For help using Pluralsight, see Pluralsight User Guide and Technical Support.

Assessment Instructions

For this assessment, apply one part of the Scrum process to the Fantasy Games scenario: the creation of user stories. The user stories become the product backlog of the Scrum process. The Scrum process is one of the more successful software­architecture processes used today.

Preparation

To begin, read the following Fantasy Games scenario:

Fantasy Games Scenario

The CIO of Fantasy Games has hired your consulting company to design Fantasy’s software architecture. The company is adding a new game titled Asteroids to its catalog and intends to build a multiplayer environment for this new game. You must add an entirely new subcomponent to their existing Web community in order to support this game, and you must create a software architecture proposal for this new subsystem. As part of your proposal, Fantasy asks you to develop a single­ player, working prototype of the game itself.

The Fantasy Games community currently has 1.2 million users, and they expect that user activity will grow tremendously with the addition of this new environment. Your design must be flexible enough to accommodate the current number of users, plus all anticipated and unanticipated future growth.

The Asteroids Web component, or subsystem, for this game should include many of the same features found on other popular online gaming sites such as chat, instant messaging, user­rank functionality, and high­score display. Although Fantasy Games currently has a few other multiplayer games available within their overall community, they would like this project to set the new standards for how similar subsystems will be added in the future.

Directions

Create a 3-4­page professional paper in which you complete the following:

Apply the Scrum process to create user stories for the Fantasy Games scenario. You must create user stories for chat, instant messaging, user­rank functionality, and the high score display for the Web subsystem functions. You may benefit from completing research on the Internet and in the Capella library to learn how these functions are used in other gaming sites.

Complete the following:

1. Use the User Story Template linked in the Resources to create user stories (at least four) for the following functions:

1. Chat.
2. Instant messaging.
3. User rank.
4. High­score functionality.

2. Create use­case diagrams for the user stories created for chat, instant messaging, user­rank functionality, and high­score display. A use­case diagram is a pictorial view of each user story.

3. Choose an architectural style to complete the software architecture.

Order from us and get better grades. We are the service you have been looking for.