vesmark srs 1
TRANSCRIPT
Vesmark and Carnegie Mellon University
Vesmark Phone 412.429.8270PO Box 16366 Fax 412.429.8670Pittsburgh, PA 15242
Masters of Software Engineering Phone 412.268.6493Carnegie Mellon University Fax 412.268.55765000 Forbes AvenuePittsburgh, PA 15213-3890
Vesmark Smartware™ Software Requirements Specification
Software use cases, features, and requirements for the Vesmark Smartware™ system
Copyright © 2002 Vesmark and CMU Vesmark Smartware™ SRS Version 1.2–12/13/02
i
Revision History
Date Version Description Author(s)
11/18/02 1.0 Initial version Justin Rockwood
11/20/02 1.1 Compilation of team’s use cases Team Matrix
Justin Rockwood (compiler)
12/13/02 1.2 Sections 2, 4-11 Shailendra Mishra
Use case compilation (UC-DE-300s) Steve Gordon
Aliyassoun Djibrila
Justin Rockwood (compiler)
To have the version number and date correctly reflected in the document footers, go to “File / Properties / Custom,” change the values of “Version” and “Version Date” by entering the new values and clicking “Modify.” If you want to change the copyright information, it is stored in the same place under “Copyright.”
Also, on the same dialog screen, click the “Summary” tab and change the “Title” and “Subject” fields.
Copyright © 2002 Vesmark and CMU Vesmark Smartware™ SRS Version 1.2–12/13/02
Table of Contents 3
Tasks Remaining
The following table attempts to keep this document correct and current by showing what tasks remain. The table also has the added by product of keeping a history of the tasks.
As of Date
As of Version
Suggested By
Completed In Version
Completed By
Description
12/13/02 1.2 Justin Rockwood
Fill in the answers to questions in the use cases from the meeting minutes.
Copyright © 2002 Vesmark and CMU Vesmark Smartware™ SRS Version 1.2–12/13/02
Table of Contents v
Table of Contents
1 Introduction................................................................................................................................ 1
1.1 Purpose..................................................................................................................... 1
1.2 Scope........................................................................................................................ 1
1.3 References................................................................................................................1
2 Use Case Model Summary........................................................................................................1
3 Actor Summary.......................................................................................................................... 4
4 Requirements............................................................................................................................ 5
4.1 Functional Requirements...........................................................................................5
4.2 Nonfunctional Requirements.....................................................................................6
5 Online User Documentation and Help System Requirements......................................................7
6 Design Constraints.................................................................................................................... 7
7 Purchased Components............................................................................................................7
8 Interfaces.................................................................................................................................. 7
8.1 User Interfaces..........................................................................................................7
8.2 Hardware Interfaces..................................................................................................7
8.3 Software Interfaces....................................................................................................8
8.4 Communications Interfaces.......................................................................................8
9 Licensing Requirements.............................................................................................................8
10 Legal, Copyright, and Other Notices...........................................................................................8
11 Applicable Standards.................................................................................................................9
11.1 Financial Standards...................................................................................................9
11.2 Communications Standards.......................................................................................9
11.3 Platform Compliance Standards................................................................................9
11.4 Data Standards..........................................................................................................9
11.5 Vesmark Imposed Standards....................................................................................9
Copyright © 2002 Vesmark and CMU Vesmark Smartware™ SRS Version 1.2–12/13/02
vi
Appendix A Introduction..................................................................................................................11
Use Case Naming Convention...............................................................................................11
UC-DE-0s – Generic Data Entry Use Cases....................................................................................12
Use Case Hierarchy...............................................................................................................12
UC-DE-1 – Enter Generic Information....................................................................................12
UC-DE-45 – Import Information..............................................................................................16
UC-DE-60 – Validate Information...........................................................................................17
UC-DE-100s – Demographic Information Use Cases......................................................................18
Demographic Information Overview.......................................................................................18
UC-DE-100 – Enter Personal Information...............................................................................19
UC-DE-110 – Enter Spouse Information................................................................................21
UC-DE-120 – Enter Children Information...............................................................................22
UC-DE-130 – Enter Address Information................................................................................23
UC-DE-150 – Enter Risk Tolerance........................................................................................24
UC-DE-160 – Enter Simulation Mode.....................................................................................25
UC-DE-161 – Retrieve Current Inflation Rate.........................................................................26
UC-DE-200s – Income and Tax Information Use Cases..................................................................27
UC-DE-210 – Enter Gross Income Information......................................................................27
UC-DE-220 – Enter Spouse Gross Income Information.........................................................28
UC-DE-230 – Enter Asset Information....................................................................................29
UC-DE-240 – Enter Liability Information.................................................................................30
UC-DE-250 – Enter Federal Tax information..........................................................................31
UC-DE-260 – Enter FICA Tax Information..............................................................................32
UC-DE-270 – Enter State Tax Information.............................................................................33
UC-DE-280 – Enter Local Tax Information.............................................................................33
UC-DE-300s – Cost of Living Information Use Cases......................................................................34
UC-DE-300 – Enter Generic Cost of Living Information.........................................................34
UC-DE-310 – Enter Food and Beverages Expenses Information...........................................35
UC-DE-320 – Enter Housing Expenses Information...............................................................36
UC-DE-330 – Enter Apparel and Upkeep Expenses Information...........................................37
UC-DE-340 – Enter Transportation Expenses Information.....................................................38
Copyright © 2002 Vesmark and CMU Vesmark Smartware™ SRS Version 1.2–12/13/02
Table of Contents vii
UC-DE-350 – Enter Medical Care Expenses Information.......................................................39
UC-DE-360 – Enter Recreation Expenses Information...........................................................40
UC-DE-370 – Enter Education and Communication Expenses Information...........................41
UC-DE-380 – Enter Other Goods and Services Expenses Information..................................42
Copyright © 2002 Vesmark and CMU Vesmark Smartware™ SRS Version 1.2–12/13/02
Tables and Diagrams
Tables
Table 1 – Use Case Model Summary.............................................................................................4
Table 2 – Actor Summary...............................................................................................................4
Table 3 – Use Case Entity Naming Conventions..........................................................................11
UML Diagrams
UML Diagram 1 – Use Case Actors................................................................................................5
UML Diagram 2 – Use Case Hierarchy.........................................................................................12
UML Diagram 3 – UC-DE-1 Enter Generic Information Use Case Diagram.................................14
UML Diagram 4 – UC-DE-1 Enter Generic Information Activity Diagram......................................15
UML Diagram 5 – Personal and Demographic Information Use Cases Overview........................19
1
Section
SRS Document1
Software Requirements SpecificationSoftware use cases, features, and requirements for the Vesmark Smartware™ system
1 Introduction
1.1 Purpose
The purpose of this SRS is to fully describe the external behavior of the Vesmark Smartware™ application, as well as nonfunctional requirements, design constraints, and other factors necessary to provide a complete, comprehensive description of the software requirements.
1.2 Scope
This will be the first prototype version of the Vesmark Smartware™ system, which will include enough functionality to be marketed to potential licensees, but will not be feature complete. A list of high-level features the system will provide is discussed in section 4.
1.3 References
Following is a list of project-related references or applicable documents that bear on this project.
[Vision] Team Matrix, Vesmark Smartware ™ Vision Document , 2002.
[Book] Vesmark, Inc., Manage Your Own Financial Future! 1996.
[Demo] ——————, Demo CD, 2002.
1.4 Use Case Model Summary
This section provides an overview of the use case model. The survey is used by people interested in the behavior of the system, such as the customer, users, architects, use case authors, designers, use case designers, testers, managers, reviewers, and writers.
Use Case Name Description Actor(s)
UC-DE-1 Enter Generic Information
Allows the user to enter any generic type of information that needs to be entered into the system.
User
2
Use Case Name Description Actor(s)
UC-DE-45 Import Information
Allows the system to import financial data from external data sources specified by the user.
System
UC-DE-60 Validate Information
Any data entered by the user needs to be validated against the predefined business rules. This use case performs all the validations before the changes are saved.
System
UC-DE-100 Enter Personal Information
Allows the user to enter his personal data such as date of birth, sex, etc.
User
UC-DE-110 Enter Spouse Information
Allows the user to enter his spouse’s personal data.
User
UC-DE-120 Enter Children Information
Allows the user to enter data about his children.
User
UC-DE-130 Enter Address Information
Allows the user to enter data about his current address. In addition, the user could optionally enter data about other addresses.
User
UC-DE-150 Enter Risk Tolerance
Allows the user to enter the risk level that he can tolerate.
Professional
UC-DE-160 Enter Simulation Mode
Allows the user to enter one of the seven inflationary/deflationary modes that he wants the system to simulate.
Novice
UC-DE-161 Retrieve Current Inflation Rate
The system uses this use case to fetch the nation’s updated rate of inflation from some external data source.
System
UC-DE-210 Enter Gross Income Information
Allows the user to enter his gross income, i.e., before tax income.
User
UC-DE-220 Enter Spouse Gross Income Information
Allows the user to enter the gross income for his wife. This use case can be invoked only if the user specifies that he is married in the use case UC-DE-100
UC-DE-230 Enter Asset Information
Allows the user to enter his various financial assets in terms of US dollars.
User
UC-DE-240 Enter Liability Information
Allows the user to enter his various financial liabilities in terms of US dollars
User
UC-DE-250 Enter Federal Tax Information
Allows the user to enter the total amount of federal tax paid in previous financial years.
User
UC-DE-260 Enter FICA Tax Information
Allows the user to enter the total amount of Medicare and SSN tax paid during previous financial years.
User
Software Requirements Specification 3
Use Case Name Description Actor(s)
UC-DE-270 Enter State Tax Information
Allows the user to enter the total amount of state tax paid during previous financial years.
User
UC-DE-280 Enter Local Tax Information
Allows the user to enter the total amount of local tax paid during previous financial years.
User
UC-DE-300 Enter Generic Cost of Living Information
Allows the user to enter generic information pertaining to cost of living expenses.
User
UC-DE-310 Enter Food and Beverages Expenses Information
Allows the user to enter the amount spent on food and beverages.
User
UC-DE-320 Enter Housing Expenses Information
Allows the user to enter the amount spent on housing costs such as rent and mortgage.
User
UC-DE-330 Enter Apparel and Upkeep Expenses Information
Allows the user to enter the amount spent by him on clothing, etc.
User
UC-DE-340 Enter Transportation Expenses Information
Allows the user to enter the amount spent on transportation expenses such as auto loan and car insurance.
User
UC-DE-350 Enter Medical Care Expenses Information
Allows the user to enter the total medical care expenditure incurred by him or other family members.
User
UC-DE-360 Enter Recreation Expenses Information
Allows the user to enter the amount spent on recreation activities.
User
UC-DE-370 Enter Education and Communication Expenses Information
Allows the user to enter the amount spent on things like tuition, books, telephone fees, etc.
User
UC-DE-308 Enter Other Goods and Services Expenses Information
Allows the user to enter the amount spent on miscellaneous items that are not covered by other use cases.
User
UC-GL-100 Goal Report Generates the status report for the various goals entered by the user.
System
UC-GL-304 Education Goal Modification
Allows the user to modify the education goals previously entered by the user.
User
UC-RP-200 Balance Sheet Report
Generates a balance sheet report for the user based on all the financial information entered by the user into the system.
System
Table 1 – Use Case Model Summary
4 Software Requirements Specification
2 Actor Summary
All of the actors mentioned in the use case model summary are reported here. Table 1 delineates and describes the actors that interact with the system. UML Diagram 1 depicts a visual representation of the actors described in the summary.
Actor Name Description
User There are two main types of users: novice users and professionals. Sometimes, however, this distinction is not relevant, so a generic user is useful for abstracting away the details.
Novice A novice user is one who is either new to the system or new to personal financial management. It should be noted, however, that a user might be both a novice and a professional at the same time. For example, a person might know quite a bit about finances, but very little about the Vesmark Smartware™ system.
Professional A professional user is proficient in both the Smartware™ system and is knowledgeable about personal finance. Some sections of the software will be specifically tailored to each type of user.
System At times, the system may interact with itself; hence, the system is also an actor.
Table 2 – Actor Summary
UML Diagram 1 – Use Case Actors
3 Requirements
Iterative, use-case driven requirements engineering methods were used for requirements elicitation. The high-level requirements were obtained during the first iteration. In the
Software Requirements Specification 5
following iterations each of these high level requirements were narrowed down to specific low-level system requirements. These low-level requirements were documented as use cases, presented in Appendix A.
3.1 Functional Requirements
The system will have UI screens allowing the user to enter his demographic information.
The demographic information can be grouped into the following categories and each of these categories will have a separate UI for data entry:
o Personal Information
o Spouse Information
o Children Information
o Address Information
o Risk Tolerance
The system will allow users to enter the simulation mode and select one of the seven predefined inflation/deflation modes.
The system will always work with the current Inflation rate as applicable in the country. In order to achieve this, the system will have to try to fetch the current inflation rate from external pre-designated data sources on a periodic basis.
The system will have UI screens through which the user can enter his gross income (before-tax income).
The system will have UI screen allowing the user to enter his tax related information, categorized as follows
o Federal tax
o FICA tax
o State Tax
o Local Tax
For each of the above-mentioned taxes, there may be separate UI screens.
The system will have UI screens for entering information about cost of living expenses.
The system will allow the user to categorize his expenses as follows:
o Food and Beverages
o Housing
o Apparel and Upkeep
o Transportation
o Medical care
o Recreation
o Education and Communication
o Other Goods and Services
6 Software Requirements Specification
Each of the above categories may have separate UI screens. The user will have the option of either entering each of the expenses in detail or he can enter the total for each of the categories.
The system will allow the user to enter his short term and long-term goals. The data entry will be ‘Just-in-Time,’ meaning that if some information is not available, the system invokes the appropriate UI screens allowing the user to enter that data.
The system must implement Vesmark’s patented “Five Step Model,” which allows the system to analyze the financial data entered by the user and produce financial reports such as:
o Balance Sheet Report
o Five Year Projection Report
o Goal Status Report
3.2 Nonfunctional Requirements
Usability
The system has to be user friendly and appealing in nature. However, no specific quantified data about screen layouts is currently available.
Reliability
The system must implement the patented Five Step model, ensuring that the system does calculations and generates reports exactly as mentioned in the patent.
Performance
Performance is the response time, utilization, and throughput behavior of the system. This attribute may not be as important as initially thought. The “efficiency” aspect of the usability quality attribute should be sufficient for the needs of this software. Because this software is interactive with the user, it need only be as fast as the user and not provide any lag time.
Supportability
Currently, the level of supportability has not been specified. However, since Vesmarkintends to license Smartware to other financial institutions, it is essential for Smartware to have clearly defined, published interfaces, allowing those financial institutions to support Smartware in the future.
Security
The level of security provided in this system has not been quantified. However, the system will communicate with other software systems over the Internet, and therefore, it is an important consideration. Additionally, it is important to consider the security of the data stored on the local computer.
Software Requirements Specification 7
4 Online User Documentation and Help System Requirements
Online help can give users instant assistance in using the program as well as advice on topics for which they want additional information. The nature of the online help system is unique to application development, as it combines aspects of programming, such as hyperlinks, with aspects of technical writing, such as organization and presentation. The development of an online help system is a project within this project and will benefit from up-front scope management and planning activities. More details will be specified in a separate SRS for the help system. However, the software must definitely support an easy to use and immediately available help system, especially in the educational mode.
5 Design Constraints
There are no specific design constraints for Smartware as of now.
6 Purchased Components
No third party components have been purchased specifically for Smartware. However, as development of the product begins, it may become necessary to purchase third party development tools or components. As specified in the Statement of Work (SOW), any additional development costs will be incurred by either Carnegie Mellon University or Vesmark, as jointly decided by both parties before the cost is incurred.
7 Interfaces
7.1 User Interfaces
Smartware must have a user interface that makes it appealing and easy to use. Currently, Team Matrix has developed a whiteboard prototype that has served as a visual paradigm for the team requirements gathering process. Team Matrix also intends to utilize the Human Computer Interface (HCI) expertise available at CMU during the spring and summer 2003 semesters to refine the existing whiteboard prototype. This will ensure that the user interface is appropriate for the potential users of the system.
7.2 Hardware Interfaces
Not Applicable
7.3 Software Interfaces
Vesmark intends to license the Smartware software to financial Institutions who will make it a part of their suite of financial products. Smartware will be designed to have well defined, published interfaces that would allow these financial institutions to integrate it into their products. Smartware will have to interact with other existing systems in order to fetch financial data such as inflation rate, Consumer Price Index (CPI), etc. These interactions should be encapsulated in well-defined interfaces in order to reduce the coupling between Smartware and other financial systems.
8 Software Requirements Specification
7.4 Communications Interfaces
Smartware will interact with other software systems in real-time over the Internet. Transmission Control Protocol/Internet Protocol (TCP/IP) is the de-facto standard protocol used for communication over Internet. Hence, Smartware must be TCP/IP compliant and will be able to communicate (send and receive data packets) with the designated TCP/IP nodes on the Internet.
8 Licensing Requirements
Licensing issues are comprised of three categories. First, there is software licensing for the Vesmark product itself. Secondly, there are issues involved with third party licensees where the Vesmark product will be co-branded. Both of these issues will be driven by Vesmark and AF&A. Thirdly, there is an issue of licensing with respect to any third party software component that might be incorporated into the actual Vesmark product. To date, there are no such license requirements. However, this requirement cannot be determined until the complete Vesmark system has been defined.
9 Legal, Copyright, and Other Notices
Vesmark is a registered trademark of Vesmark Inc. Vesmark has obtained a software patent for its Five Step financial planning model. The details of this patent are listed below:
Word Mark VESMARKGoods and Services IC 009. US 021 023 026 036 038. G & S:
Computer software for use in financial and investment planning and management and user manuals distributed as a unit
Mark Drawing Code (1) TYPED DRAWINGSerial Number 76358136Filing Date January 11, 2002Filed ITU FILED AS ITUPublished for Opposition
August 13, 2002
Owner (APPLICANT) Vesmark, Inc. CORPORATION PENNSYLVANIA 103 Ramey Avenue Pittsburgh PENNSYLVANIA 15220
Attorney of Record Andrew J. CorneliusPrior Registrations 2093384Type of Mark TRADEMARKRegister PRINCIPALLive/Dead Indicator LIVE
Software Requirements Specification 9
10 Applicable Standards
10.1 Financial Standards
There may be applicable financial standards, i.e. FASB (Financial Accounting Standards Board), to which the Vesmark Smartware™ system must comply. These are not known at this time and must be determined before design of the system can start.
10.2 Communications Standards
Communications standards include TCP/IP for accessing the Internet.
10.3 Platform Compliance Standards
The software must run on the Windows platform, including Windows 98, Windows Me (Millennium Edition), Windows 2000, and Windows XP. Support for earlier versions of Windows has not yet been determined
10.4 Data Standards
The OFX format is the main standard used for importing financial data from popular accounting software packages. OFX is a customized XML format. There is also a format that TurboTax and other tax preparation software tools use, which is not known at this time.
10.5 Vesmark Imposed Standards
Vesmark has a patented 5-step process. The developed system has to implement the financial planning process as defined in the patent.
Appendix Use Case SpecificationsA
Use Case SpecificationsContains complete details of the system use cases
Appendix A Introduction
This appendix contains the complete details of all of the system use cases for the Vesmark Smartware™ software requirements specification.
Use Case Naming Convention
The use case names follow the following convention:
10 Software Requirements Specification
Two-letter prefix describing the entity’s type, which is always UC for use case, followed by a dash.
Two-letter prefix describing the functional scope of the entity, followed by a dash. The functional scopes are described below.
Prefix Entity
DE Data Entry
IN Installation
GL Goals
RP Reports
Table 3 – Use Case Entity Naming Conventions
A sequential number, which may be split into ranges to aggregate logical groupings within the functional scope. Oftentimes, this logical grouping is simply a way of avoiding numbering conflicts when the work is split up among the team.
For example, the label UC-DE-100 defines the first data entry use case specification within the 100’s logical group.
Each use case has a specification and may have accompanying UML diagrams if they provide any additional information or clarification.
UC-DE-0s – Generic Data Entry Use Cases
Use Case Hierarchy
Since many of the use cases share common traits, several “global” use cases have been defined which allow a clearer and more concise prose when reading and writing specific use cases. A diagram depicting the hierarchy of the use cases is shown in UML Diagram 2.
Software Requirements Specification 11
UML Diagram 2 – Use Case Hierarchy
UC-DE-1 – Enter Generic Information
Specification
Use Case ID: UC-DE-1 Use Case Name: Enter Generic Information
Description: The user enters some information (unspecified in this use case), some or all of which is required and the rest is optional. This is a generic use case for any type of information that needs to be entered into the system.
Preconditions: None
Post conditions: All of the required information and any of the optional information is stored in the system, OR the system does not change any information if the user cancels the use case.
Frequency of Use: High
Normal Course of Events:
1. User explicitly initiates the use case through the user interface.
– OR –
System initiates the use case in response to a calculation, report, or other internal action, which requires the information.
2. (UC-DE-20) System loads previously stored information.
3. (UC-DE-30) System displays existing information to the user.
4. [Entry] (Extension Point – Use cases that derive from this one will specify what information)
(UC-DE-40) User manually enters information.
– AND/OR –
(UC-DE-45) User instructs system to import information from an
12 Software Requirements Specification
Use Case ID: UC-DE-1 Use Case Name: Enter Generic Information
external data source.
5. (UC-DE-50) User instructs system to save information.
6. (UC-DE-60) System validates the information.
7. (UC-DE-70) System stores the information.
Alternative Courses:
5a. (UC-DE-80) User instructs system to preview information (viewing changes without committing them yet).
6a. Cycle back to step 4 (User wants to change more information).
– OR –
Continue the normal flow of events at step 5.
5b. (UC-DE-90) User instructs System to cancel.
6b. System leaves previously stored information unaltered.
Exceptions: None
Extends: None
Includes: UC-DE-20 – Load Information
UC-DE-30 – Display Information
UC-DE-40 – Manually Enter Information
UC-DE-45 – Import Information
UC-DE-50 – Request to Save Information
UC-DE-60 – Validate Information
UC-DE-70 – Store Information
UC-DE-80 – Preview Information
UC-DE-90 – Cancel Changes to Information
Associated Requirements:
None
Example: Joe selects a goal that requires the number and age of each of his children. The system brings up a screen displaying information that he had previously entered for his first child. He enters the name and age of each of his other children, instructs the system to save the information, and continues to his next task.
Questions: None
Software Requirements Specification 13
UC-DE-1 – UML Use Case Diagram
UML Diagram 3 – UC-DE-1 Enter Generic Information Use Case Diagram
14 Software Requirements Specification
UC-DE-1 – UML Activity Diagram
UML Diagram 4 – UC-DE-1 Enter Generic Information Activity Diagram
Software Requirements Specification 15
UC-DE-45 – Import Information
Specification
Use Case ID: UC-DE-45 Use Case Name: Import Information
Description: This use case is invoked whenever the user specifies an external data source to input any information.
Preconditions: Some other use case that needs some information is started by either the system or the user.
Post conditions: The specified financial data is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: High
Normal Course of Events:
1. User specifies the external data source and the data item to be imported.
Alternative Courses:
None
Extends: None
Exceptions: The specified external source is not available. The system notifies the user. User can either retry or return back to the calling use case.
Includes: None
Associated Requirements:
None
Example: Based on Fred’s request from another use case, this use case is initiated and the appropriate information is imported from a 3rd party program. The user selects from a standard list of import compatible formats and the user is also asked to select the name of the file from which to import. The system then imports the data and returns to the use case that called it.
16 Software Requirements Specification
Use Case ID: UC-DE-45 Use Case Name: Import Information
Questions: Handling Multiple Field Importing.
Since the system handles just-in-time data entry, how should we handle importing when possibly only one field is requested? Importing only one field at a time is not efficient. How do we want to handle this?
Proposed Solution:
A suggestion to solve this is to create an “importing clipboard” that allows importing of information from various external programs. This clipboard would save all relevant information in the background and not commit it to actual data fields.
If duplicate values (from multiple import sites) exist, the “clipboard” would allow multiple values. As each field is required by the system, the imported values would be displayed to the user and he could select the appropriate value for the requesting field.
Randy Winters
Do we want to allow just importing by file name, or do we want to be more intelligent and allow a user to specify, “Get assets from Quicken” and have the program find and extract all necessary information?
Randy Winters
UC-DE-60 – Validate Information
Specification
Use Case ID: UC-DE-60 Use Case Name: Validate Information
Description: This use case performs various data validation activities, which may be part of the business logic.
Preconditions: The user has entered information in some use case either manually or by importing data from external data source.
Post conditions: Either the use case displays messages indicating the errors in the data, or control is returned to the calling use case indicating no errors have occurred.
Frequency of Use: High
Software Requirements Specification 17
Use Case ID: UC-DE-60 Use Case Name: Validate Information
Normal Course of Events:
1. Check the data type
2. [Validate] (Extension Point). This is where derived use cases perform their custom data validation (for example, checking to make sure a number is within a certain range).
Alternative Courses:
None
Extends: None
Exceptions: Data type is invalid – Message is shown to the user.
Includes: None
Associated Requirements:
None
Example: The system validates information as called by other use case routines.
Questions: Do we need to determine all fields that need validations?
Do we also have to define the types of entry validation that are to be supported?
UC-DE-100s – Demographic Information Use Cases
Demographic Information Overview
There are basically two types of demographic information: address and personal information (such as name, birth date, etc.). The primary user has his personal information, but the same information is collected for his spouse and children. Therefore, a use case detailing the gathering of personal information is applied for the primary user and reused in a slightly modified way for the spouse and children. These relationships are shown in UML Diagram 5.
18 Software Requirements Specification
UML Diagram 5 – Personal and Demographic Information Use Cases Overview
UC-DE-100 – Enter Personal Information
Specification
Use Case ID: UC-DE-100 Use Case Name: Enter Personal Information
Description: The user enters personal information, some of which is required and the rest is optional. This is a generic use case for any type of
Software Requirements Specification 19
Use Case ID: UC-DE-100 Use Case Name: Enter Personal Information
information pertaining to the user or a family member.
Preconditions: None
Post conditions: All of the user’s required personal information and any of the optional information is stored in the system, OR the system does not change any information if the user cancels the use case.
Frequency of Use: Medium
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports the following required information:
First name
Sex
Birth date
(Age will be calculated and shown but not entered)
Marital status (single or married)
Number of children
User manually enters or imports the following optional information:
Middle name
Last name
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Exceptions: Number of children is negative.
Extends: UC-DE-1 (Enter Generic Information)
Includes: None
Associated Requirements:
None
Example: Mary informs the system that she wants to modify her name and age. A screen appears with the information that she has previously entered. She changes the required information and instructs the system to save the information.
Questions: Should the term spouse be used or the more generic domestic partner?
Are there any other values for marital status other than single and married?
Can the user enter a birth date in the future? (Maybe a future child, future spouse of a child, etc.)
20 Software Requirements Specification
UC-DE-110 – Enter Spouse Information
Specification
Use Case ID: UC-DE-110 Use Case Name: Enter Spouse Information
Description: The user enters personal information about his spouse, some of which is required and the rest is optional.
Preconditions: User’s marital status is set to “married.”
Post conditions: All of the spouse’s required personal information and any of the optional information is stored in the system, OR the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports the following required information:
First name
Sex (required, but not editable. The sex is determined from the primary user’s sex.)
Birth date
(Age will be calculated and shown but not entered)
(Number of children assumed to be the same as the primary user)
User manually enters or imports the following optional information:
Middle name
Last name
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-100 (Enter Personal Information)
Exceptions: None
Includes: None
Associated Requirements:
None
Example: Mary informs the system that she wants to modify her name and age. A screen appears with the information that she has previously entered. She changes the required information and instructs the system to save the information.
Questions: Do we need to consider same sex marriages or can the system infer the sex of the spouse from the sex of the primary user? (In creating text for future dialog boxes or screens, the assumption of traditional
Software Requirements Specification 21
Use Case ID: UC-DE-110 Use Case Name: Enter Spouse Information
marriages may greatly decrease complexity.)
Can we assume that the spouse will have the same number of children as the primary user?
UC-DE-120 – Enter Children Information
Specification
Use Case ID: UC-DE-120 Use Case Name: Enter Children Information
Description: The user enters personal information about his children, some of which is required and the rest is optional.
Preconditions: User has one or more children.
Post conditions: All of the children’s required personal information and any of the optional information is stored in the system, OR the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports the following required information, once for each child:
First name
Birth date
(Age will be calculated and shown but not entered)
User manually enters or imports the following optional information:
Middle name
Last name
Sex
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-100 (Enter Personal Information)
Exceptions: None
Includes: None
Associated Requirements:
None
Example: Stephen wants to add a goal for college tuition for his four-year-old daughter. The system needs to know his daughter’s name and birth date so it initiates this use case. Stephen enters the required information and also enters in the information for his other two
22 Software Requirements Specification
Use Case ID: UC-DE-120 Use Case Name: Enter Children Information
children. He then instructs the system to save the information.
Questions: None
UC-DE-130 – Enter Address Information
Specification
Use Case ID: UC-DE-130 Use Case Name: Enter Address Information
Description: The user enters his primary address information, and optionally enters additional addresses.
Preconditions: None
Post conditions: All of the required address information and any of the optional information is stored in the system, OR the system does not change any information if the user cancels the use case.
Frequency of Use: Required at least once. The user can initiate this use case at any time.
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports the following information for his primary address:
Address label (home, work, etc.)
Address
City
State
Zip
Phone number
5. User manually enters or imports additional addresses
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-1 (Enter Generic Information)
Exceptions: Zip code is not a five or nine digit number
Phone number in not a valid US format
Includes: None
Associated Requirements:
None
Example: Katie has just moved and wants to change her address information. Through the user interface, she brings up a screen with her previous address showing. She edits the address and instructs the system to save her changes.
Questions: Should multiple addresses be supported?
Yes – but they do not necessarily have to be
Chris and Gene in
Software Requirements Specification 23
Use Case ID: UC-DE-130 Use Case Name: Enter Address Information
entered. Should support multiple addresses not just two.
meeting on 10/16/02.
Should more than just the 50 United States be supported (i.e., U.S. territories, AFOs, etc.)?
No, the 50 states and Washington D.C. are all that is required at this time.
Chris and Gene in meeting on 10/16/02.
Should phone numbers be supported, and if so, should multiple phone numbers be supported for each address?
UC-DE-150 – Enter Risk Tolerance
Specification
Use-Case ID: UC-DE-150 Use-Case Name: Enter Risk Tolerance
Description: Let user enter or modify the risk tolerance level that he can tolerate.
Preconditions: None
Post conditions: Risk tolerance level has been entered or modified, or no information is changed if the user cancels the use case
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User selects one of the following risk tolerance levels:
Low risk
Medium risk
High risk
Alternative Courses:
2a. On the first time the use case is run, the system sets the risk tolerance level to the default medium risk level.
Exceptions: None
Extends: UC-DE-1 (Enter Generic Information)
Includes: None
Associated Requirements:
None
Scenario Joe wants to enter the risk tolerance level. System loads the default tolerance level for him, and Joe changes the level according to his need then applies it. He is satisfied with his selection, so instructs the system to save his entry, and continues his next task.
Questions Does the system provide suggestions for asset allocation (i.e. does the system do anything with the
24 Software Requirements Specification
Use-Case ID: UC-DE-150 Use-Case Name: Enter Risk Tolerance
risk tolerance or just store it)?
Do we need a “preview” button/option?
Is it OK that we interpret risk tolerance this way?
UC-DE-160 – Enter Simulation Mode
Specification
Use-Case ID: UC-DE-160 Use-Case Name: Enter Simulation Mode
Description: Let user enter or modify one of the seven inflationary/deflationary modes that they want the system to simulate.
Preconditions: Current inflation/deflation rate.
Post conditions: Simulation mode has been entered or modified and the specific rate has been entered or updated if user chooses not to use the current rate, or no information is changed if the user cancels the use case.
Frequency of Use: Medium
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User selects one of the inflation modes
Inflation
Normal
Deflation
User selects one of the inflation/deflation rates
Higher than normal, specifies the rate
same
lower than normal, specifies the rate
5. System stores simulation mode that user selects, and specific rate if user chooses not to use the current rate
Alternative Courses:
3c. User selects to load default value
Exceptions: None
Extends UC-DE-1 (Enter Generic Information)
Includes: UC-DE-161 (Retrieve Current Inflation Rate)
Associated Requirements:
None
Scenario: Jane wants to select a simulation mode. The system has already set the default simulation mode to inflationary and pre-filled the current inflation rate for her. She uses this default value, previews it and is satisfied with the selection. Jane then instructs the system to save and continues with her next task.
Questions Should the system calculate the user’s personal inflation
Software Requirements Specification 25
Use-Case ID: UC-DE-160 Use-Case Name: Enter Simulation Mode
rate?
Should the user be allowed to enter a specific target inflation rate?
When does the system require the user to enter the simulation mode?
Do we need a “preview” button?
Do we want to provide the option of calculating the default mode?
UC-DE-161 – Retrieve Current Inflation Rate
Specification
Use Case ID: UC-DE-161 Use Case Name: Retrieve Current Inflation Rate
Description: Retrieve the current inflation rate from an external source.
Preconditions: Not clear at this time.
Post conditions: Current inflation rate has been retrieved.
Frequency of Use: Medium
Normal Course of Events:
Not clear at this time.
Alternative Courses:
Not clear at this time.
Exceptions: Not clear at this time.
Includes: Not clear at this time.
Associated Requirements:
None
Scenario: Not clear at this time.
Questions/Notes Do we need to keep a history of inflation rates (each time we retrieve it from the external source)?
UC-DE-200s – Income and Tax Information Use Cases
UC-DE-210 – Enter Gross Income Information
Specification
Use Case ID: UC-DE-210 Use Case Name: Enter Gross Income Information
Description: The user enters information about his gross income.
26 Software Requirements Specification
Use Case ID: UC-DE-210 Use Case Name: Enter Gross Income Information
Preconditions: None
Post conditions: All of the user’s “before-tax-income” related information and any of the optional information is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
The user could either enter the total gross income from all of his jobs or he could enter them separately and the system calculates the total gross income for the entire financial year.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-1 (Enter Generic Information)
Exceptions: User enters an invalid income amount (non-numeric, but could be negative).
Includes: None
Associated Requirements:
None
Example: Jim desires to enter his gross income into the system. He enters the information and then instructs the system to save the gross income. The system verifies that the information is imported correctly and if so continues with its current activity. Otherwise, he is asked to enter the information correctly.
If he is importing his gross income, he instructs the system where to find the import data; and the system retrieves the information after which he verifies that it is correct and then exits the gross input entry routine.
Software Requirements Specification 27
Use Case ID: UC-DE-210 Use Case Name: Enter Gross Income Information
Questions: Handling Multiple Field Importing.
Since gross income is just one component of imported tax information, how should we handle importing? Importing only one field at a time is not efficient. If we are then importing multiple tax fields, how do we handle this when the user only needs the Gross income at this time?
Proposed Solution:
A suggestion to solve this is to create an “importing clipboard” that allows importing of information from various external programs. This clipboard would save all relevant information in the background and not commit it to actual data fields.
If duplicate values (from multiple import sites) exist, the “clipboard” would allow multiple values. As each field is required by the system, the imported values would be displayed to the user, who could then select the appropriate value for the requested field.
Asked by Randy Winters
Can negative income values be entered?
Asked by Justin Rockwood
UC-DE-220 – Enter Spouse Gross Income Information
Specification
Use Case ID: UC-DE-220 Use Case Name: Enter Spouse Gross Income Information
Description: The user enters information about his spouse’s gross income.
Preconditions: User’s marital status is set to “married.”
Post conditions: All of the spouse’s “before-tax-income” related information and any of the optional information is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
The user could either enter the total gross income from all of his spouse’s jobs or he could enter them separately and the system calculates the total gross income for the entire financial year.
28 Software Requirements Specification
Use Case ID: UC-DE-220 Use Case Name: Enter Spouse Gross Income Information
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-210 (Enter Gross Income Information)
Exceptions: User enters an invalid income amount (non-numeric, but could be negative).
Includes: None
Associated Requirements:
None
Example: Jim desires to enter the gross income information for his wife into the system. He enters the information and then instructs the system to save the gross income. The system verifies that the information is imported correctly and if so continues on with its current activity. Otherwise, he is asked to enter the information correctly.
If he is importing her gross income, he instructs the system where to find the import data is and the system retrieves the information after which he verifies that it is correct and then exits the gross income entry routine.
Questions: Should the spouse gross income information be entered separately or should the gross income field be for the couple’s income and the user must add them together? Adding the sums together seems to follow the way tax information is entered on IRS forms.
Asked by Randy Winters
How are we handling families where each spouse files separately?
Asked by Randy Winters
UC-DE-230 – Enter Asset Information
Specification
Use Case ID: UC-DE-230 Use Case Name: Enter Asset Information
Description: The user enters information about her financial assets.
Preconditions: None
Post conditions: All of the user’s required financial asset information is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: High
Normal Course of Events: User manually enters or imports information related to her
financial assets. The user can either enter the value of each of
Software Requirements Specification 29
Use Case ID: UC-DE-230 Use Case Name: Enter Asset Information
the financial assets separately (such as House), or the user can enter the combined value of all the assets.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-1 (Enter Generic Information)
Exceptions: User enters an invalid amount for an asset (non-numeric or negative).
Includes: None
Associated Requirements:
None
Example: Jim desires to enter his asset information into the system. He enters each one of his assets one item at a time until he has completed entering all the information he desires.
Questions: Should we provide an intelligent input form that easily allows the user to categorize the asset information?
Asked by Randy Winters
UC-DE-240 – Enter Liability Information
Specification
Use Case ID: UC-DE-240 Use Case Name: Enter Liability Information
Description: The user enters information about her financial liabilities.
Preconditions: None
Post conditions: All of the user’s required financial liability information is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: High
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports information related to her financial liabilities. The user can either enter the value of each of the financial liabilities separately (such as Educational Loan), or the user can enter the combined value of all the liabilities.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-1 (Enter Generic Information)
Exceptions: User enters an invalid amount for a liability (non-numeric or negative).
Includes: None
30 Software Requirements Specification
Use Case ID: UC-DE-240 Use Case Name: Enter Liability Information
Associated Requirements:
None
Example: Jane desires to enter her liability information into the system. She enters each one of her liabilities one item at a time until she has completed entering all the information she desires.
Questions:
UC-DE-250 – Enter Federal Tax information
Specification
Use Case ID: UC-DE-250 Use Case Name: Enter Federal Tax Information
Description: The user enters the total amount of federal tax he paid in the previous financial year.
Preconditions: The user has entered his gross income for the previous financial year.
Post conditions: The total amount of federal tax paid by the user in the previous financial year is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports information related to his federal taxes.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-1 (Enter Generic Information)
Exceptions: User enters an invalid amount for federal tax (non-numeric, but negative values are allowed in the case of a refund).
User enters an amount for federal tax, which is greater than the user’s gross income.
Includes: None
Associated Requirements:
None
Example: See previous UC-DE-200 level examples.
Questions:
Software Requirements Specification 31
UC-DE-260 – Enter FICA Tax Information
Specification
Use Case ID: UC-DE-260 Use Case Name: Enter FICA Tax Information
Description: The user enters the total amount of FICA tax he paid in the previous financial year.
Preconditions: The user has entered his gross income for the previous financial year.
Post conditions: The total amount of FICA tax paid by the user in the previous financial year is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports information related to his FICA taxes. Either the user could enter the Social Security tax and Medicare tax separately, or the user could enter the total of the two taxes.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-1 (Enter Generic Information)
Exceptions: User enters an invalid amount for FICA tax (non-numeric, but negative values are allowed in the case of a refund).
User enters an amount for FICA tax, which is greater than the user’s gross income.
Includes: None
Associated Requirements:
None
Example: See previous UC-DE-200 level examples.
Questions:
UC-DE-270 – Enter State Tax Information
Specification
Use Case ID: UC-DE-270 Use Case Name: Enter State Tax Information
Description: The user enters the total amount of state tax he paid in the previous financial year.
Preconditions: The user has entered his gross income for the previous financial year.
Post conditions: The total amount of local state paid by the user in the previous financial year is stored in the system, or the system does not change any information if the user cancels the use case.
32 Software Requirements Specification
Use Case ID: UC-DE-270 Use Case Name: Enter State Tax Information
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports information related to his state taxes.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-1 (Enter Generic Information)
Exceptions: User enters an invalid amount for state tax (non-numeric, but negative values are allowed in the case of a refund).
User enters an amount for state tax, which is greater than the user’s gross income.
Includes: None
Associated Requirements:
None
Example: See previous UC-DE-200 level examples.
Questions:
UC-DE-280 – Enter Local Tax Information
Specification
Use Case ID: UC-DE-280 Use Case Name: Enter Local Tax Information
Description: The user enters the total amount of local tax he paid in the previous financial year.
Preconditions: The user has entered his gross income for the previous financial year.
Post conditions: The total amount of local tax paid by the user in the previous financial year is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports information related to his local taxes.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-1 (Enter Generic Information)
Exceptions: User enters an amount for local tax, which is greater than the
Software Requirements Specification 33
Use Case ID: UC-DE-280 Use Case Name: Enter Local Tax Information
user’s gross income.
Includes: None
Associated Requirements:
None
Example: See previous UC-DE-200 level examples.
Questions:
UC-DE-300s – Cost of Living Information Use Cases
All of the 300 level use cases use the term “cost of living” to mean routine living expenses. The term is used so frequently, that it is hereafter abbreviated “COL.”
UC-DE-300 – Enter Generic Cost of Living Information
Specification
Use Case ID: UC-DE-300 Use Case Name: Enter Generic Cost of Living Information
Description: The user enters financial information about his cost of living. This is a generic use case for any type of information pertaining to cost of living information.
Preconditions: None
Post conditions: The total amount of cost of living information is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Medium
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports information related to his cost of living.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-1 (Enter Generic Information)
Exceptions: User enters an invalid amount for a cost of living expese (non-numeric or negative).
Includes: None
Associated Requirements:
None
Example: None
34 Software Requirements Specification
Use Case ID: UC-DE-300 Use Case Name: Enter Generic Cost of Living Information
Questions: None
UC-DE-310 – Enter Food and Beverages Expenses Information
Specification
Use Case ID: UC-DE-310 Use Case Name: Enter Food and Beverages Expenses Information
Description: The user enters the amount spent or budgeted for food and beverages expenses.
Preconditions: None
Post conditions: The total amount for food and beverages expenses is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports information related to his food and beverages expenses.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-300 (Enter Generic Cost of Living Information)
Exceptions: User enters an invalid amount for the food and beverages expense (non-numeric or negative).
Includes: None
Associated Requirements:
None
Example: None
Questions: If the user is bored with entering the details of each cost of living category, will it be possible to bypass the sub-levels and enter a total?
Asked by Steve Gordon
Software Requirements Specification 35
UC-DE-320 – Enter Housing Expenses Information
Specification
Use Case ID: UC-DE-320 Use Case Name: Enter Housing Expenses Information
Description: The user enters the amount spent or budgeted for housing expenses.
Preconditions: None
Post conditions: The total amount for housing expenses is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports the following information related to his housing expenses:
Mortgage (Rent)
Real estate taxes (if applicable)
Utilities/Household expenses
Homeowner’s/Renter’s insurance
Miscellaneous
Subtotal
5. System displays subtotal as user enters information
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-300 (Enter Generic Cost of Living Information)
Exceptions: User enters an invalid amount for housing expense (non-numeric or negative).
Includes: None
Associated Requirements:
None
Example: None
Questions: Will there be an option for the user to enter the total living cost expenditure without going through all the detail?
Asked by Steve and Ali
Will the system validate as the user enters information, or only after the user chooses to save?
Are we working with any other currency?
36 Software Requirements Specification
Use Case ID: UC-DE-320 Use Case Name: Enter Housing Expenses Information
Are mortgage and rent different?
UC-DE-330 – Enter Apparel and Upkeep Expenses Information
Specification
Use Case ID: UC-DE-330 Use Case Name: Enter Apparel and Upkeep Expenses Information
Description: The user enters the amount spent or budgeted for apparel and upkeep expenses.
Preconditions: None
Post conditions: The total amount for apparel and upkeep expenses is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports the following information related to his housing expenses:
Clothing
Miscellaneous
Subtotal
5. System displays subtotal as user enters information
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-300 (Enter Generic Cost of Living Information)
Exceptions: User enters an invalid amount for apparel and upkeep expenses (non-numeric or negative).
Includes: None
Associated Requirements:
None
Example: None
Questions: None
Software Requirements Specification 37
UC-DE-340 – Enter Transportation Expenses Information
Specification
Use Case ID: UC-DE-340 Use Case Name: Enter Transportation Expenses Information
Description: The user enters the amount spent or budgeted for transportation expenses.
Preconditions: None
Post conditions: The total amount for transportation expenses is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports the following information related to his transportation expenses:
Auto loan (fixed amount)
Car insurance
Gasoline and repairs
Public transportation
Miscellaneous
Subtotal
5. System displays subtotal as user enters information.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-300 (Enter Generic Cost of Living Information)
Exceptions: User enters an invalid amount for expenses (non-numeric or negative).
Includes: None
Associated Requirements:
None
Example: Bob selects a goal that requires transportation expense information, causing the system to show a data entry form. He enters the information or enters 0 if not applicable, instructs the system to save the information, and continues to his next task.
Questions: Should vehicle registration fees or parking expenses be included in the pre-defined list?
Asked by Steve and Ali
38 Software Requirements Specification
UC-DE-350 – Enter Medical Care Expenses Information
Specification
Use Case ID: UC-DE-350 Use Case Name: Enter Medical Care Expenses Information
Description: The user enters the amount spent or budgeted for medical care expenses.
Preconditions: None
Post conditions: The total amount for medical care expenses is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports the following information related to his medical care expenses:
Medical costs
Medical insurance
Dental examinations
Eye examinations
Prescription drugs
Miscellaneous
Subtotal
5. System displays subtotal as user enters information.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-300 (Enter Generic Cost of Living Information)
Exceptions: User enters an invalid amount for expenses (non-numeric or negative).
Includes: None
Associated Requirements:
None
Example: None
Questions: None
Software Requirements Specification 39
UC-DE-360 – Enter Recreation Expenses Information
Specification
Use Case ID: UC-DE-360 Use Case Name: Enter Recreation Expenses Information
Description: The user enters the amount spent or budgeted for recreation expenses.
Preconditions: None
Post conditions: The total amount for recreation expenses is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports the following information related to his recreation expenses:
Vacation
Fitness program
Video rentals
Miscellaneous
Subtotal
5. System displays subtotal as user enters information.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-300 (Enter Generic Cost of Living Information)
Exceptions: User enters an invalid amount for expenses (non-numeric or negative).
Includes: None
Associated Requirements:
None
Example: None
Questions: Are more sub categories required for recreation expenses?
Asked by Steve and Ali
40 Software Requirements Specification
UC-DE-370 – Enter Education and Communication Expenses Information
Specification
Use Case ID: UC-DE-370 Use Case Name: Enter Education and Communication Expenses Information
Description: The user enters the amount spent or budgeted for education and communication expenses.
Preconditions: None
Post conditions: The total amount for education and communication expenses is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports the following information related to his education and communication expenses:
Education
Books
Telephone fees
Computer accessories
Internet fees
Miscellaneous
Subtotal
5. System displays subtotal as user enters information.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-300 (Enter Generic Cost of Living Information)
Exceptions: User enters an invalid amount for expenses (non-numeric or negative).
Includes: None
Associated Requirements:
None
Example: None
Questions: Are multiple school names supported?
Asked by Steve and Ali
Software Requirements Specification 41
UC-DE-380 – Enter Other Goods and Services Expenses Information
Specification
Use Case ID: UC-DE-380 Use Case Name: Enter Other Goods and Services Expenses Information
Description: The user enters the amount spent or budgeted for other goods and services expenses.
Preconditions: None
Post conditions: The total amount for other goods and services expenses is stored in the system, or the system does not change any information if the user cancels the use case.
Frequency of Use: Low
Normal Course of Events:
See UC-DE-1 (Enter Generic Information) for the normal course of events.
4. [Entry] (Extension Point)
User manually enters or imports the following information related to his other goods and services expenses:
Life insurance
Debt consolidation (fixed amount)
Personal care items
Miscellaneous
Subtotal
5. System displays subtotal as user enters information.
Alternative Courses:
See UC-DE-1 (Enter Generic Information) for the alternate courses of events.
Extends: UC-DE-300 (Enter Generic Cost of Living Information)
Exceptions: User enters an invalid amount for expenses (non-numeric or negative).
Includes: None
Associated Requirements:
None
Example: None
Questions: None
Glossary and Index
Glossary
5-Step Model Vesmark’s patented process for determining personal CPI and a personal savings rate.
AF&A Adam Filippo & Associates (AF&A) is a nationally known brand identity and marketing firm who is assisting in the Smartware™ system graphic design and marketing.
CMU Carnegie Mellon University
CPI The consumer price index (CPI) measures the prices of consumer goods and services and is a measure of the pace of U.S. inflation. The U.S. Department of Labor publishes the CPI every month.
FASB Financial Accounting Standards Board
HCI Human Computer Interaction (HCI). Carnegie Mellon has an HCI department within the School of Computer Science.
MSE The Masters of Software Engineering program at Carnegie Mellon University
SOW The Statement of Work (SOW) is a contract between Team Matrix(and hence Carnegie Mellon University) and Vesmark, defining deliverables, timelines, and joint responsibilities.
TCP/IP Transmission Control Protocol / Internet Protocol (TCP/IP)
TCP/IP is a suite of communications protocols that allows communication between groups of dissimilar computer systems from a variety of vendors. It is the protocol used on the Internet.
Index
Adam Filipo & Associates.........................................................................................................8, 43address information................................................................................................2, 18, 23, 24, 30children.......................................................................................................2, 13, 18, 20, 21, 22, 23demographic information..........................................................................................................5, 18expenses...........................................................................3, 5, 6, 34, 35, 36, 37, 38, 39, 40, 41, 42
cost of living........................................................................................................3, 5, 34, 35, 36transportation...............................................................................................................3, 38, 39
income..............................................................................................2, 5, 27, 28, 29, 31, 32, 33, 34Marketing.................................................................................................................................. 8, 43Smartware.......................................................................................................1, 4, 6, 7, 8, 9, 11, 43spouse........................................................................................................2, 18, 20, 21, 22, 28, 29taxes..........................................................................................2, 3, 5, 9, 27, 28, 29, 31, 32, 33, 34
FICA........................................................................................................................... vi, 3, 5, 32Team Matrix.......................................................................................................................... 1, 7, 43Vesmark.................................................................................................1, vi, 1, 4, 6, 7, 8, 9, 11, 43