Format
This will be a team-based project. Teams will be assigned by the instructor.
Purpose
All products, including software, start with an idea i.e. a proposal. These proposals have concepts, and some business purpose, which will inherently be insufficient to actually design and implement the software. Software system engineers and architecture take these concepts and 'elicit' enough requirements to develop the architecture and design. This project will provide experience in those areas.
Deliverables/ Expectations
This is a 'writing' course, and therefore, submissions must be well written. Good grammar, complete sentences, correct spelling are the minimum expectations. While this is not an English Literature course, points will be deducted for errors. When writing, pay attention to clarity and brevity. Stay to the point; do not use run-on sentences and make sure the reader will understand what you say. Punctuation is important. Basic layout in sections and paragraphs is important. Writing style is expected to be at a professional level.
-
Overview
- Vision statement
- What it is (capabilities), why it is (what purpose/ market it serves).
What is special about it (what makes it different from other, similar applications) -
Business Requirements
- Business Opportunity (how much market share or # of users or other factors would make you successful)
- Business Objectives and Success Criteria (How would you measure success? What level of success are you trying to achieve? Use examples, metrics, ... )
-
Audience/ Users
- Who are the users? (Include people, companies/ types, profiles etc. who would use/ benefit from this application)
- What is the scope/ functionality required? (Major functionality, features, problems solved)
- User environment assumptions (How will people access this application? Provide specifics)
- Geographical assumptions (Where are all the users? Countries? Regions? Initially, over time, ...)
Description
This is a team assignment. You will write a 3-5 page business proposal for a Software Product (Application) You may select any application domain. You will select a specific system problem within that domain to represent as a business idea that needs a software application created to deliver.
Deliverables
You will provide a 3-5 page business proposal for your idea. You will submit your proposal document to myCourses. The document should provide enough information to software engineers to develop an architecture from the business goals/ proposal. Your document should include (at least) the following sections:
Description
The project is a group delivery, but paired with another team, based on their Proposal Document. For this assignment, you will create an architecture proposal in response to a business proposal created by another student group from the prior assignment (Part 1). The instructor will provide the pairings of student teams.
Deliverables
There are two deliverables. A document containing your architectural proposal in response to the business proposal and
a 10 minute oral presentation to the class in which your team describes the business proposal and your response to it.
To achieve the architecture proposal, you need to do the following:
- Connect with your partner team who wrote the business proposal (obtain a copy of the proposal)
- Review the proposal and prepare a set of clarifying questions
- Interview the business proposal authors, and ask all necessary questions to extract functional and non-functional requirements so you can understand the real needs. You should create a list of questions ahead of time and conduct a formal interview with a transcript of the questions and responses.
- Construct the architecture proposal based on the requirements, the interview(s) and ASRs (see details below)
Suggested Outline for Architecture Analysis and Response
-
The document should contain (at least) the following sections
- System Overview
- This section will be an overview of the software system from the viewpoint of the architect. You should include a text description of:
- The purpose of the system i.e. what value it will provide, consistent with the business proposal
- The audience (users) i.e. roles/ types of users for the system
- The main functions/ features that the architecture supports
- Include references back to the original proposal including if these are 'inferred' requirements
- Any key elements that will influence the architecture, including any architectural or design constraints
- Include an explanation for any applied constraints
- System Diagram & Component Partitioning
- A pictorial view of the main components of the system, and main interfaces
- Clear indication of physical separation of components (e.g. components on separate platforms, servers)
- ASRs and traceability to original requirements
- List the ASRs either in table form, or paragraph form (see lecture slides for possible formats)
- In the writeup, include references back to the items in the business proposal or inferred requirements from your interview, and justify your rationale for selecting the ASR(s)
- Include (in the appendix) a transcript of the interview with the business proposal team. This will allow you to link traceability of ASRs to the requirements elicited from the interview process
- Your presentation will draw heavily from the architecture response document. You will need to cover the business proposal in enough detail
to communicate a basic understanding of it to the audience. This part of your presentation lays the foundation for presenting your architectural response.
The remainder of your presentation should focus on the same topics as your Architectural Analysis and Response document.