INFO 324 Team Process and Product Week 2 Dr. Jennifer Booker College of Information Science and Technology Drexel University Copyright by Gregory W. Hislop 1 www.ischool.drexel.edu Introduction Agenda • SRS discussion – OPOW1 Copyright by Gregory W. Hislop 2 www.ischool.drexel.edu OPOW – Original Request Your client has emailed this request: “I am working on a digital library project. See ensemble.org. As part of this project, we want to make collections of course materials visible on the Ensemble portal. To do that we need to harvest metadata describing each course material in a collection. To do that we are using OAI-PMH, a protocol for harvesting metadata. See http://www.openarchives.org/. We need a program that can reformat a file of metadata to match the OAI-PMH protocol. The input would be a text file with metadata extracted from one or more repositories of course materials. Can you help?” Copyright by Gregory W. Hislop 3 www.ischool.drexel.edu OPOW SRS • Activity: class discussion based on homework assignment OPOW1 • Goals – Practice critiquing an SRS – Discussion of SRS strong and weak points • Discussion starting points – What questions would you ask about the SRS? – What design decisions are being made? • Should they be deferred to the design? Copyright by Gregory W. Hislop 4 www.ischool.drexel.edu Agenda • SDS and SDS-V1 template • Activity: Design entities • Assignment: OPOW2 – SDS Copyright by Gregory W. Hislop 5 www.ischool.drexel.edu Software Design Specification • SRS: WHAT should the system do • SDS: HOW should the system do it • Switch to designing in the SDS – Don’t repeat requirement statements – But do refer to them explicitly • Get into the particulars of design entities • Key question: if you sent the SDS to a development group would they build the system the clients wants? Copyright by Gregory W. Hislop 6 www.ischool.drexel.edu SDS-V1 Template Tour • 1 Introduction – 1.1 – 1.2 Scope Definitions, Acronyms, and Abbreviations • 2 Architectural Description • 3 Interface Description – 3.1 – 3.2 – 3.3 User Interface Data Interface Programming Interface • 4 Detailed Design Copyright by Gregory W. Hislop 7 www.ischool.drexel.edu Design Entity Content • Entity ID and Name • Type – Be specific and consistent • Requirement – Always and only a pointer to a particular requirement in the SRS • Description – varies by entity type – Key question: Would someone else know how to build this entity based on the description? – Level of detail varies by project size and designer-implementer relationship • Need to always cover the basics rather than assume Copyright by Gregory W. Hislop 8 www.ischool.drexel.edu Detailed Design Entities • What are the common types? • What should you specify for each type? Copyright by Gregory W. Hislop 9 www.ischool.drexel.edu Sample Entity Types • Database (overview) – Database table • User interface (overview) – Screen, Web page • Function (program code) • File • …. And so on Copyright by Gregory W. Hislop 10 www.ischool.drexel.edu Description for a Table Entity • Name • Key(s) • Name and type of each data element Copyright by Gregory W. Hislop 11 www.ischool.drexel.edu Example: Table 4.14 Active Listings Type: Database table Requirement: Partially fulfills requirement 3.2.9 Description: Name: Active_Listing This table contains a row for each item available for trading. Table content is defined in Figure 6. Attribute UserID Key PK DatePosted ItemID FK Type Length STRING 15 STRING 8 STRING 10 TradeValue BOOLEAN TradeDescription STRING 1 300 Figure 6 – Active Listings database table Copyright by Gregory W. Hislop 12 www.ischool.drexel.edu Function • • • • Name Parameters Return type and meaning Algorithm or description of processing Copyright by Gregory W. Hislop 13 www.ischool.drexel.edu Example: Function 4.3 Trim Trailing Characters Type: Function Requirement: Fulfills requirement 3.2.6 Description Name: trimright Parameters: target – a pointer to a string to be trimmed guide – a pointer to a set of the characters to trim from target Return: An integer representing the length of target after trimming Use: int trimright(char *target, char *guide) Processing: Scan target from right to left and truncate characters until encountering a character in target that is not in guide. Calculate the new length of target and return that value. Example: target = “ab/cd///” guide = “/” trimright( *target, *guide) returns 5 and leaves target = “ab/cd” Copyright by Gregory W. Hislop 14 www.ischool.drexel.edu Screen • Name • Layout - at least a rough drawing • Definition of data that appears on the screen – Tie to internal data element names • Interaction description – Behavior when a user interacts with the screen Copyright by Gregory W. Hislop 15 www.ischool.drexel.edu Example: Screen 18 – Main Menu Type: Screen Requirement: Partially fulfills requirement 25. Description: This is the first screen that the Hero will see upon opening PokerAid and it provides access to each of the PokerAid features. The screen will contain a column of buttons with a brief description of each. The screen will be overlaid on the PokerAid standard screen template. Start/Stop Toggle to begin or end processing of poker data Configure Access configuration options Exit Copyright by Gregory W. Hislop Exit PokerAid 16 www.ischool.drexel.edu Activity: Design Entities • List design entities for Sandy’s Castle – Name and type • Create a full design for several of these entities – For interface entities, include: system name, screen name, user instructions, navigation options (not just ok/continue but also cancel, exit, maybe reset or main menu nav options) Copyright by Gregory W. Hislop 17 www.ischool.drexel.edu Assignment: OPOW2 • Review a partial OPOW SDS – Note questions for the designer - What questions would you need to ask the designer to be able to implement OPOW from this SDS? – Are all entities clear and complete? • Define entities for the user interface • Define entities for an alternative user interface design Copyright by Gregory W. Hislop 18 www.ischool.drexel.edu In Your Future... • Next Class – Design discussion – based on OPOW2 – New mini-project Copyright by Gregory W. Hislop 19 www.ischool.drexel.edu