Software System Architecture
Read the case study titled “A Patient Information System for Mental Health Care”, located in Chapter 1 of your textbook. Develop an overall architecture for the system described in the assigned reading. Your architecture should be based on any one of the common architectural patterns (e.g., Pipe and Filter architecture pattern). Your architecture should be documented in text and in UML diagrams (at minimum a class diagram and a sequence diagram).
Write a two to four (2-4) page paper in which you:
1. Describe your chosen architecture pattern.
2. Explain why you selected the architecture of this case study.
3. Explain how your chosen pattern could be applied to this case study.
4. Describe any shortcomings associated with your chosen architecture pattern for the case study.
5. Describe how your architecture could be implemented in hardware and software.
6. Develop a UML diagram to document the architecture of the system through the use of Microsoft Visio or its open source alternative, Dia. Note: The graphically depicted solution is not included in the required page length.
Your assignment must follow these formatting requirements:
· Be typed, double spaced, using Times New Roman font (size 12), with one-inch margins on all sides; citations and references must follow APA or school-specific format. Check with your professor for any additional instructions.
· Include a cover page containing the title of the assignment, the student’s name, the professor’s name, the course title, and the date. The cover page and the reference page are not included in the required assignment page length.
· Include charts or diagrams created in Visio or an equivalent such as Dia. The completed diagrams / charts must be imported into the Word document before the paper is submitted.
The specific course learning outcomes associated with this assignment are:
· Explain how service-oriented software can be used to build distributed applications using Web services.
· List the characteristics of embedded real-time systems.
· Use technology and information resources to research issues in software engineering.
· Write clearly and concisely about software engineering using proper writing mechanics and technical style conventions.