You have been asked to lead a software development team to build a system fulfilling the Statement of Need specified in project 1. Your team is employed by a small company. The customer wants a project that balances reasonable development cost, timely delivery, software quality, and functionality.
In this project, you will refine your analysis, scenario and behavioral models from projects 1 by:
Describing the interface and component-level design for the B&B software
Updating your Architectural Context Diagram (ACD)
Updating your analysis models from project 1.
Completing this project will require that you produce a software design specification document (SDD) that shows how the system shall be structured to satisfy the requirements described in your SRS. The SDD that you create will have consequences for Projects 3 and 4.
Please use the IEEE std 1016-1998 to develop your SDD. The IEEE Recommended Practice for Software Design Descriptions, standard 1016 is posted in Course Resources > eReserves. Read this to become familiar with the information required in the SDD. Annex A, figure A.1 gives a sample SDD Table of Contents. Use this as a general outline.
Complete the template as best as you can. Make any reasonable assumptions based on your understanding of the problem that allow you to address as many sections of the SDD template as possible. (Please read the “project descriptions” in the project description section of the syllabus for additional context and information on course projects).
Pay special attention to the following phases of design as you complete the SDD template. The bulk of your grade will be decided on how well you address these issues.
Data Design: This phase produces the data structures
Architectural Design: This phase produces the structural units, or classes.
Interface Design: This phase specifies the interfaces between the units
Component/Procedural Design: This phase specifies the algorithms of each method.
Also please see section 5.6: Design Specification from the online text (Books 24×7: Software Engineering, Second Edition by Bharat Bhushan Agarwal and Sumit Prakash Tayal).
Note that specific sections of the SDD template speak to the above 4 design phases.
A key objective in the design phase is to translate and map the outputs or deliverables from the requirements model into the four design models (See Module 3, Figure 3.8 of the course module commentaries).
Hints and suggestions: At a minimum, I expect:
An updated data model (class diagram or ERD) from project 1. Represent the data model as a table so that you can reflect the attributes of the object. (See Table 3.1: Table of Attributes for Cards in Methodologies and Application Domain Issues).
An updated Architectural Context Diagram (ACD).
Software interface description: Perform an interface task analysis for B&B. The goal is to identify and define the interface objects and the actions that are applied to them. You need to specify the component-to-component interfaces (how they are connected) and the human-to-computer interface (textual description of the interface for each user type). (See our online conference discussions on interface design. Also, review the Interface Design Principles and Guidelines outlined in the basic rules for HCI (Human-Computer Interaction) Design noted in the Module 3 commentaries for more on user interface design). Include the following as part of your response:
A graphical user interface for B&B that shows ( 1) Layout of the objects for the primary user interface (e.g., buttons, menus, images) and a description of their function and (2) Relevant information and flow of information to be displayed to the customers (e.g., rooms, calendar).
An updated ACD that maps to your updated DFD from project 1 (refined to its lowest possible level) to illustrate the major processes necessary to implement the functionality. Make sure you provide supporting textual descriptions for all processes in the Level 1 DFD. You may need to add a Level 2 DFD to ensure sufficient detail. (See Module 3. Figure 3.4—Level 1 and Level 2 DFDs for Self-Service Checkout System for an example of what is required). When drawing your DFDs remember to adhere to the guidelines specified below Figure 3.4.
Make sure your work is neat and legible. Your charts, illustrations and diagrams can be done using any word processing, drawing, and/or software CASE drawing tool (or by hand) as long as it is neat and organized. Embed or scan any diagrams that you create in your SDS document—do not upload them separately.