ZEN Client UI Layout

From ZenWiki

Jump to: navigation, search
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
  • A set of use cases related to ZEN Client.
  • A complete architecture design of ZEN Client
  • A working prototype.
Experiment Description The experiment will
  • Create a set of use cases related to ZEN Client.
  • Create a skeleton of ZEN Client that covers all the related functional requirements (as specified in the use case specifications) and quality attributes.
  • Demonstrate related quality attribute scenarios.
  • Provide productivity data for future estimation and planning.
Duration
  • Iteration #5, from Feb. 26 to Mar. 23, 2007.
  • The use case specifications will be reviewed before Mar. 2.
  • The design of architecture will be reviewed before Mar. 16.
  • Final prototype will be delivered to the client before Mar. 23.
  • The mini-schedule of events will be tracked by the Chief Scientist.
  • The Team Lead will roll up the durations and dependencies in the project plan.
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 Catalog
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.

Image:ZEN-Client-Implicit-Invocation.png

Element Catalog
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.

  1. The EngagementView class shows a list of engagements so that the Interviewer can:
    1. Switch from one engagement to another.
    2. Synchronize engagement with ZEN Server.
    3. Download new engagement from ZEN Server.
    4. Delete local engagements.
  2. 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
    1. Stakeholder List
    2. Migration Issues List
    3. Component Table
    4. Service Table
    5. High-Level Notional Architecture of the SOA-Based System
  3. 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.
Quality Attribute Scenario
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:
  • Provide the rationale behind the decision.
    • We decide to use Alternative A because it's on the top of the list.

Implementation

Resources

Personal tools