Project 1: Requirements Database - Fall 2004 | CSE 784, Study Guides, Projects, Research of Software Engineering

Material Type: Project; Class: Software Engineering Studio; Subject: Computer Engineering; University: Syracuse University; Term: Fall 2004;

Typology: Study Guides, Projects, Research

Pre 2010

Uploaded on 08/09/2009

koofers-user-jzx
koofers-user-jzx 🇺🇸

10 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CSE784 – Software Studio Fall 2004
Project #1 – Requirements Database
B-Specification due Sep 20, code due Sep 27, C-Specification due Oct 4
Purpose:
This program captures and saves customer requirements1, development
requirements2, and requirements issues. It provides capability to:
Number each customer requirement, and each development requirement.
Attach an issue statement with any requirement, above. Provide a status for each
issue which has one of the two values: open or closed.
Provide a title and keywords for each requirement.
Stamp each requirement with a creation time and date and a last modified time and
date.
Edit requirements and issues already entered.
Add new, or delete existing, requirements and issues at any time.
Associate a priority (levels High, Normal, or Low) with any requirement’s issue.
Display any requirement by number or title.
Search for all requirements that match specified keywords, title fragment3, or number
range.
Sort requirements by number, title, creation date, last modified date, or priority.
All changes to requirements data must be persistent.
Requirements:
Your Requirements program:
1. Shall read from a database file at startup if one is defined. All changes to the data store
shall be persistent4.
2. Shall accept from the user a definition of a new requirement item in one of the two
categories (1) customer specification, or (2) development specification. It shall, for (2),
require the user to select one or more customer specifications to which it is allocated or
explicitly indicate that it is a derived requirement.
3. Each item shall consist of a type5, number, title, keywords, time-date stamps, a multi-
line text description, and priority setting. Item numbers shall be integers, generated by
the program in consecutive order for each type. Each development requirement shall
also support allocation information, e.g., allocation to one or more customer
requirements or derived requirement.
4. Shall support addition of a new requirement, modification of an existing requirement, or
addition or modification of multi-line issue text, associated with a specific requirement,
at any time.
5. Shall provide a Graphical User Interface that provides at least two views:
- A list view with all non-text fields displayed, one line per requirement
- A text view displaying the requirements and possibly issue text for any selected
requirement.
1 From A-Level Requirements Specification.
2 For B-Level Requirements Specification.
3 Must support the use of wildcards.
4 You may use either SQL Server or an XML file.
5 Customer or Developer
pf2

Partial preview of the text

Download Project 1: Requirements Database - Fall 2004 | CSE 784 and more Study Guides, Projects, Research Software Engineering in PDF only on Docsity!

CSE784 – Software Studio Fall 2004

Project #1 – Requirements Database

B-Specification due Sep 20, code due Sep 27, C-Specification due Oct 4

Purpose:

This program captures and saves customer requirements^1 , development

requirements^2 , and requirements issues. It provides capability to:

 Number each customer requirement, and each development requirement.  Attach an issue statement with any requirement, above. Provide a status for each issue which has one of the two values: open or closed.  Provide a title and keywords for each requirement.  Stamp each requirement with a creation time and date and a last modified time and date.  Edit requirements and issues already entered.  Add new, or delete existing, requirements and issues at any time.  Associate a priority (levels High, Normal, or Low) with any requirement’s issue.  Display any requirement by number or title.  Search for all requirements that match specified keywords, title fragment^3 , or number range.  Sort requirements by number, title, creation date, last modified date, or priority.  All changes to requirements data must be persistent.

Requirements:

Your Requirements program:

  1. Shall read from a database file at startup if one is defined. All changes to the data store shall be persistent^4.
  2. Shall accept from the user a definition of a new requirement item in one of the two categories (1) customer specification, or (2) development specification. It shall , for (2), require the user to select one or more customer specifications to which it is allocated or explicitly indicate that it is a derived requirement.
  3. Each item shall consist of a type^5 , number, title, keywords, time-date stamps, a multi- line text description, and priority setting. Item numbers shall be integers, generated by the program in consecutive order for each type. Each development requirement shall also support allocation information, e.g., allocation to one or more customer requirements or derived requirement.
  4. Shall support addition of a new requirement, modification of an existing requirement, or addition or modification of multi-line issue text, associated with a specific requirement, at any time.
  5. Shall provide a Graphical User Interface that provides at least two views:
    • A list view with all non-text fields displayed, one line per requirement
    • A text view displaying the requirements and possibly issue text for any selected requirement. (^1) From A-Level Requirements Specification. (^2) For B-Level Requirements Specification. (^3) Must support the use of wildcards. (^4) You may use either SQL Server or an XML file. (^5) Customer or Developer

CSE784 – Software Studio Fall 2004

  1. The default display behavior of the list view shall show all requirements, using scrolling or paging as necessary.
  2. Shall provide the means to search for requirements by title fragment, keywords, time/date range, or number range.
  3. Shall support sorting by number, title, creation date, last modification date, or priority.
  4. Shall be composed of at least three modules. Each module shall provide a test interface^6 that defines a single public test() function that returns true if all internal tests are successful, otherwise false. Each module shall implement the public test function and whatever internal (private) test functions are necessary to test all the module’s behaviors^7.
  5. Each module shall provide a test stub that uses its public test() function and displays results showing that all required functionality is correctly implemented.

command line display output

file system

Requirements

Program

database filename data items, issues filename,^ file text file text

Figure 1. - Context Diagram for Requirements Program

user input

requirements, issue data, commands (^6) An interface in C++ is an abstract base class. C# has an interface keyword. (^7) The intent here is that you define an abstract base class Testable with a public member function bool test(). Every class in your design derives from Testable and implements the test() function, using some appropriate number of helper test functions.