Software Architecture Patterns Adopted By XYZ Bank Project Proposal
IP 3 Assignment Specifications
- Identify at least 4 design principles reflected in the targeted software.
- Identify at least 4 architectural styles reflected in the targeted software.
- Identify at least 2 key scenarios or use cases, and present them in UML use case diagrams.
- Guided by the architecture styles and key scenarios that you have chosen, present a logical view of the architecture of the targeted software such that it will be divided into several components; each component is called a package. Use a UML package diagram to show all the packages and the dependency between the packages.
- Pick up at least 2 packages, and apply the UML component diagram to show another level of design details in each of the packages.
Put all of the results of the above tasks into a document with the following template:
Template for the Design Document
- Cover Page
- Course number
- Student’s name
- Date
- Content Pages (5–7 pages)
-
- Introduction
- Design Principles
- Design principle 1 (Reason, justification, and example)
- Design principle 2 (Reason, justification, and example)
- Design principle 3 (Reason, justification, and example)
- Design principle 4 (Reason, justification, and example)
- Architectural Styles
- Architectural style 1 (Reason, justification, and example)
- Architectural style 2 (Reason, justification, and example)
- Architectural style 3 (Reason, justification, and example)
- Architectural style 4 (Reason, justification, and example)
- Key Scenarios
- Key scenario 1 (Reason, justification, and use case diagram)
- Key scenario 2 (Reason, justification, and use case diagram)
- Logical View of Architecture
- List of packages (and components)
- The UML package diagram
- Brief discussion
- Component-Level Design
- Component-level design for package 1
- List of components of package 1
- The UML component diagram for package 1
- Component-level design for package 2
- List of components of package 2
- The UML component diagram for package 2
- Conclusion
- References
—————————————————————————————————
IP 4 Assignment Specifications 5-7 pages (not including title or reference pages)
For each UML component diagram, please do the following:
- Define 1 object class for each component in the UML component diagram, and draw the corresponding class diagrams for all object classes.
- Select 2 or more object classes to form an Is-A relationship, and draw the corresponding updated class diagram for the involved object classes.
- Select 2 or more object classes to form the Has-A relationship, and draw the corresponding updated class diagram for the involved object classes.
- Select 3 or more object classes, such that their interactions are required to complete a functionality, and draw a UML sequence diagram to show the details of the sequence of their interactions.
- Select any 2 object classes, and pick up 1 method from each object class to draw a UML activity diagram.
- Select any 2 object classes to draw a UML state machine diagram for each object class.
- After you have completed all of the above, please discuss if you have made any changes to the original component level design after you have conducted OOD to the components and why you have to make such changes.
Please put all of the results of the above tasks into a document with the following template:
Template for the Design Document
- Cover Page
- Course number
- Student’s name
- Date
- Content Pages (5–7 pages)
-
- Introduction (Copy over the requirements)
- OOD for UML Component Diagram 1
- UML component diagram 1 (copied over from Unit 3 IP)
- List of components and object classes (1 object class per component)
- Is-A relationship class diagram (at least 2 object classes, notes)
- Has-A relationship class diagram (at least 2 object classes, notes)
- UML sequence diagram (at least 3 object classes, notes)
- Object class name 11, method name 11, UML activity diagram 11 (notes)
- Object class name 12, method name 12, UML activity diagram 12 (notes)
- Object class name 13, UML state machine diagram 13 (notes)
- Object class name 14, UML state machine diagram 14 (notes)
- Discuss if you have made any changes to the original component-level design after you have conducted OOD to the components and why you have to make such changes.
- OOD for UML component diagram 2
- UML component diagram 2 (copied over from Unit 3 IP)
- List of components and object classes (1 object class per component)
- Is-A relationship class diagram (at least 2 object classes, notes)
- Has-A Relationship Class Diagram (at least 2 Object Classes, Notes)
- UML Sequence Diagram (at least 3 Object Classes, Notes)
- Object class name 21, method name 1, UML activity diagram 21 (notes)
- Object class name 22, method name 2, UML activity diagram 22 (notes)
- Object class name 23, UML state machine diagram 23 (notes)
- Object class name 24, UML state machine diagram 24 (notes)
- Discuss if you have made any changes to the original component-level design after you have conducted OOD to the components and why you have to make such changes.
- Conclusion
- References
————————————————————————
IP5 Assignment Specifications
Designing the graphical user interface (GUI) is one of the critical tasks for the development of any mobile app. We already know that the model–view–controller (MVC) architectural pattern or paradigm is commonly used as the default guideline for the design of the GUI of any type of software. In practice, for any given application, the MVC pattern is also often associated with several design patterns. We have also learned that a mobile app has many special design considerations in addition to the considerations of a Web app or other conventional client–server based software. This implies that when we design a GUI for a mobile app, we will need to use several design patterns to enhance the basic MVC architectural pattern or paradigm so that the enhanced MVC architectural pattern or paradigm can be more suited to serve the needs of the GUI of a mobile app. Study the following assignment references and then conduct the design and development tasks.
Development Tasks
- Define the most important design concept of the model–view–controller (MVC) architectural paradigm used for the design and development of the graphical user interface (GUI), and discuss the pros and cons of the MVC paradigm.
- Select 2 or more design patterns that are suited to enhance the MVC paradigm specifically for the GUI of a mobile app, and discuss the rationale for your chosen design patterns and the benefits of adopting these design patterns for a mobile app.
- Please use proper Unified Modeling Language (UML) diagrams to draw these design patterns.
- Please use a simple mobile app development tool kit to create a prototype for a simple GUI that supports the mobile app with the following functions:
- Presents a simple text-based search engine interface for a product catalog database
- Accepts text search key words to search the catalog database
- Displays the matched product information or informs the user that there is no matching product
- After you have completed all of the above steps, please discuss whether you have made any changes to the original design patterns during the implementation. Why did you have to make such changes?
Please put all of the results of the above tasks into a document with the following template:
Template for the Design Document
- Cover Page
- Course number
- Student’s name
- Date
- Content Pages (5–7 pages)
undefined
-
- Introduction (Copy over the requirements)
- The most important design concept of the model–view–controller (MVC) paradigm for a graphical user interface (GUI)
- Definition of MVC
- The most important design concept of MVC
- Discuss the pros and cons of MVC
- Design patterns to enhance the MVC paradigm for the GUI of a mobile app
- Some of the special considerations of a mobile app
- Design pattern 1 (rationale and proper UML diagram)
- Design pattern 2 (rationale and proper UML diagram)
- Prototype of the GUI of a simple mobile app
- Functional requirements of the GUI of a simple mobile app
- MVC paradigm with the design patterns
- Code of prototype
- Prototype results screenshots
- Discuss whether you have made any changes to the original design patterns during the implementation, and explain why you had to make such changes (if any)
- Conclusion
- References