ZEN Client UI Layout
From ZenWiki
| Element | Content Description |
| Experiment ID | ZEN Client UI Layout |
| Responsible Engineer | Allen |
| Purpose | Consolidate the works from the previous iteration; explore a complete ZEN Client UI design. |
| Expected Outcomes | A complete ZEN Client UI skeleton that covers all the related functional requirements and quality attributes. |
| Resources Required |
Resources estimation is documented in weekly time sheet. |
| Artifacts |
|
| Experiment Description | The experiment will
|
| Duration |
|
| Results and recommendations | The responsible engineer must document the results of the experiment. Describe deviations from the expected outcomes and reasons for the deviations. Discuss and deviations from the planned experiment description. Describe recommendations as a result of conducting the experiment. |
Contents |
Use Case
See Use Case Model for consolidated use cases.
Architecuture Design
- Follow ADD to design an architecture. Use the architectural drivers identified in your use cases and quality attribute scenario.
- Document your architectural views with this template.
Architectural View
- Attach at least one architectural view. Choose a viewtype that is most appropriate for documenting your architecture. (Please upload an image. Use whatever tool you like to create the diagram)
- Describe the elements in your architecture.
ZEN Client Window-based UI Module Decomposition View
The following diagram shows the class-level decomposition view of the ZEN Client window-based UI.
The classes marked in gray are part of the Eclipse RCP.
Key: UML
| Element | Description |
|---|---|
| Workbench | The Workbench class is responsible for creating, managing and navigating its workspace resources, which include perspectives, views and editors. This class is part of the Eclipse RCP. |
| InterviewPerspective | This InterviewPerspective class represents the initial user interface layout designed for the Interview Module in the Controller Layer. |
| AnalysisPerspective | This class represents the initial user interface layout designed for the Report Module in the Controller Layer. |
| SynchronizationPerspective | This class represents the initial user interface layout designed for the Synchronization Module in the Controller Layer. |
| SmigView | This class is responsible for displaying SMIG questions in a hierarchical way. It also provides search feature to assist the Interviewer to find a desired question quickly. The Interviewer selects a question and opens an AnswerEditor to record information. |
| AnswerEditor | This class allows the Interviewer to record interview information, such as answer choices, comments and tags. |
| TagsView | This class is responsible for displaying the tags. The state of checked tags changes according to what question is selected in the SmigView and in the editor area. |
| RiskView | This class is responsible for displaying the associated risks to a selected answer choices in the AnswerEditor. |
| StatusView | This class is responsible for showing the interview status. It displays the progress of each SMIG category. |
| TemplateView | This class is responsible for displaying available report templates for the Analyst to choose from. |
| ReportEditor | This class is responsible for producing report according to the chosen template and the collected interview information. |
| EngagementView | This class shows the locally available engagements. See Issues section for issues related to this class. |
| MessageConsole | This class shows the communication between ZEN Client and ZEN Server. |
ZEN Client C&C View with Implicit Invocation
This diagram shows the interaction between the major classes using the implicit invocation style.
| Element | Description |
|---|---|
| Selection Service | This class is part of the Eclipse RCP. It acts as an event bus. |
| SmigView | This class provides the selection events that indicates what categories or questions are selected in the SMIG tree representation. |
| AnswerEditor | TBD |
| TagsView | This class listens to the activation events in the AnswerEditor and shows the corresponding tags that are assigned to a question. |
| RiskView | This class listens to the selection events of the predefined choices in the AnswerEditor. It shows the corresponding risk statements from one or more selected choices. |
| StatusView | This class listens to the saving events from AnswerEditor. It reflects the progress of interview by showing the percentages of questions that have been answered. |
| TemplateView | TBD |
| ReportEditor | TBD |
| EngagementView | TBD |
| AnswersAction | This class listens to ... |
Issues
Unconfirmed Use Case Scenarios
Some of the following scenarios are not covered in the use case model.
- The EngagementView class shows a list of engagements so that the Interviewer can:
- Switch from one engagement to another.
- Synchronize engagement with ZEN Server.
- Download new engagement from ZEN Server.
- Delete local engagements.
- The following artifacts are defined in SMART SMIG V1.0, but it's not clear how to product them. Current design presents these artifacts in a TemplateView and they can be edited in a ReportEditor
- Stakeholder List
- Migration Issues List
- Component Table
- Service Table
- High-Level Notional Architecture of the SOA-Based System
- The MessageConsole shows the communication details between ZEN Client and ZEN Server.
Unrefined Quality Attribute Scenarios
- Quality attribute scenario #16: In the event of a system crashes, the application will return to former state within 30 seconds from application start.
- Does the "system" or "application" cover both ZEN Client and ZEN Server?
- The measurement (30 seconds) has a dependency on the hardware specification on which the system runs. What is the hardware specification?
- What does the former state mean? Is it the state right before the system crash? (If that's the case, this quality attribute scenario will be nondeterministic because the program does not know when it will crash.) Is it the last saved state before the system crash?
Architectural Analysis
- Record the result of the mini-ATAM using the quality attribute scenario identified in the experiment.
| Stimulus: | |
|---|---|
| Source of Stimulus: | |
| Environment: | |
| Artifact: | |
| Responses: | |
| Response Measure: |
Architectural Alternatives
- Presentation of tags
- Make tags part of AnswerEditor:
- Make tags as a separate TagsView:
- Document the risks, sensitivity points and tradeoffs of each alternative.
- Risks:
- Alternative A:
- Alternative B:
- Alternative C:
- Sensitivity Points:
- Alternative A:
- Alternative B:
- Alternative C:
- Tradeoffs:
- Alternative A:
- Alternative B:
- Alternative C:
- Risks:
- Provide the rationale behind the decision.
- We decide to use Alternative A because it's on the top of the list.

