Introduction

910 views
827 views

Published on

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
910
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduction

  1. 1. InnerSphere Technologies CONFIDENTIAL Software Development Plan for the SEDA Software Program January 29, 2000 Revision - 1.1 Prepared for Prepared by Approvals Title Printed Name Signature Date Client Representative Dr. Victoria Wise 03-21-2000 Project Team Lead Vincent Crisologo 03-21-2000 Project Member Vicente Lerum 03-21-2000 Project Member Joseph Tingzon 03-21-2000 Project Member Jay Sadler 03-21-2000 Project Member David Chin 03-21-2000 Software Development Plan, SEDA Software Program  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  2. 2. InnerSphere Technologies CONFIDENTIAL Revision History Revision Date Author Description Draft 01-20-2000 InnerSphere Technologies Initial Document Development Team 1.0 01-29-2000 InnerSphere Technologies Revision 1.0 Development Team 1.1 03-22-2000 InnerSphere Technologies Revision 1.1 Development Team Software Development Plan, SEDA Software Program Page ii  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  3. 3. InnerSphere Technologies CONFIDENTIAL SUBSTANTIVE CHANGE HISTORY REVISION - DRAFT REVISION 1.0 REVISION 1.1 Section 5.2 outline Section 5.2 describes Made changes in form only dependencies for conformity with SEDA deliverables OCD2.1 Sections 5.3-5.4 Sections 5.3-5.4 detail Additions in sections 3.2 unexpanded resource requirements and budget/ resource allocation Appendices A and Appendix A – project Appendix A – project B uncompleted schedule Gantt chart -- schedule Gantt chart added to document added Appendix B – risk management chart --integrated into document Bibliography Bibliography enhanced standard MLA style with annotations STYLISTIC Single spacing Spacing set to “At least 18 Single spacing points” Single-spaced Single-spaced glossary Reformatted Appendix B glossary tables tables, spacing after paragraphs set to 4 points Non-sequential Sequential Roman numeral replaced "will" with "shall" numbering of first numbering of first five where text implies five pages pages; remainder in Hindu- obligation Arabic numerals Isolated Capitalization and spelling Updated calendar dates capitalization and rectified spelling oversights Mixed fonts in Consistent fonts in Table of Removed irrelevant entries Table of Contents Contents in bibliography Software Development Plan, SEDA Software Program Page ii  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  4. 4. InnerSphere Technologies CONFIDENTIAL Table of Contents 1.0 INTRODUCTION...............................................................................................................7 1.1 PROJECT OVERVIEW.............................................................................................................7 1.1.1 Prototype Version......................................................................................................8 1.1.2 Operational Version..................................................................................................8 1.1.3 Enhanced Version.....................................................................................................8 1.2 PROJECT DELIVERABLES........................................................................................................8 1.2.1 Operational Concept Document (OCD) ...................................................................8 1.2.1 Software Development Plan (SDP)...........................................................................9 1.2.2 Prototype Version......................................................................................................9 1.2.3 System Requirements Specifications (SRS).............................................................9 1.2.4 Software Design Document (SDD)...........................................................................9 1.2.5 Operational Version..................................................................................................9 1.2.6 Test Plan and Procedures Document (TP)..............................................................10 1.2.7 User's Manual (UM)................................................................................................10 1.3 EVOLUTION OF THE SDP....................................................................................................10 1.4 REFERENCE MATERIALS......................................................................................................11 1.4.1 Books.......................................................................................................................11 1.4.2 Websites .................................................................................................................11 1.4.3 Electronic Books.....................................................................................................12 1.4.4 Journals....................................................................................................................12 1.5 GLOSSARY........................................................................................................................12 1.5.1 Definitions .............................................................................................................12 1.5.1 Acronyms................................................................................................................14 1.5.2 Abbreviations..........................................................................................................15 2.0 PROJECT ORGANIZATION...........................................................................................16 2.1 PROCESS MODEL ..............................................................................................................16 2.2 ORGANIZATIONAL STRUCTURE..............................................................................................17 2.3 ORGANIZATIONAL BOUNDARIES AND INTERFACES....................................................................17 2.4 PROJECT RESPONSIBILITIES..................................................................................................18 3.0 MANAGERIAL PROCESS..............................................................................................19 3.1 MANAGEMENT OBJECTIVES AND PRIORITIES...........................................................................19 3.2 ASSUMPTIONS, DEPENDENCIES, AND CONSTRAINTS..................................................................20 3.3 RISK MANAGEMENT...........................................................................................................21 3.4 MONITORING AND CONTROLLING MECHANISMS......................................................................22 3.5 STAFFING PLAN.................................................................................................................23 4.0 TECHNICAL PROCESS..................................................................................................24 4.1 METHODS, TOOLS, AND TECHNIQUES....................................................................................24 4.1.1 Computing System..................................................................................................24 4.1.2 Target System..........................................................................................................24 4.1.3 Development Methods............................................................................................25 4.1.4 Development Team Structure..................................................................................25 Software Development Plan, SEDA Software Program Page iii  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  5. 5. InnerSphere Technologies CONFIDENTIAL 4.1.5 Programming Languages.........................................................................................26 4.1.6 Technical Standards................................................................................................26 4.1.7 Developing and Modifying Procedures for CSCIs.................................................26 4.2 SOFTWARE DOCUMENTATION...............................................................................................26 4.3 PROJECT SUPPORT FUNCTIONS.............................................................................................27 4.3.1 Configuration Management.....................................................................................27 4.3.1.1 Configuration Responsibilities ........................................................................28 4.3.1.2 Configuration Control Process.........................................................................28 4.3.2 Software Quality Assurance....................................................................................28 4.3.2.1 Organizational Structure .................................................................................29 4.3.2.2 Other Resources...............................................................................................29 4.3.2.3 Methods and Procedures..................................................................................29 4.3.3 Training...................................................................................................................29 4.3.4 Testing ....................................................................................................................29 4.3.5 Verification and Validation.....................................................................................30 4.4 DEVELOPMENT ENVIRONMENT REQUIREMENTS.......................................................................30 4.4.1 Hardware.................................................................................................................30 4.4.2 Software..................................................................................................................31 5.0 WORK PROCESSES........................................................................................................32 5.1 WORK PACKAGES..............................................................................................................32 5.1.1 Operational Concept Document..............................................................................32 5.1.2 Software Development Plan....................................................................................32 5.1.3 System Requirement Specifications........................................................................33 5.1.4 Software Design Document, Top Level Design......................................................33 5.1.5 Software Design, Document Detailed Design.........................................................33 5.1.7 Test Plan and Procedures Document.......................................................................34 5.1.8 User’s Manual.........................................................................................................34 5.2 DEPENDENCIES...................................................................................................................35 5.3 RESOURCE REQUIREMENTS..................................................................................................35 5.4 BUDGET AND RESOURCE ALLOCATION..................................................................................35 5.5 SCHEDULE.........................................................................................................................36 5.5.1 Operational Concept Document..............................................................................36 5.5.2 Software Development Plan....................................................................................36 5.5.3 System Prototype ....................................................................................................37 5.5.4 Requirements Review.............................................................................................37 5.5.5 System Requirement Specifications........................................................................37 5.5.6 Preliminary Design Review....................................................................................37 5.5.7 Software Design Document Top Level Design.......................................................39 5.5.8 Software Design Document Detailed Design..........................................................39 5.5.9 Critical Design Review...........................................................................................39 5.5.10 Operational Version .............................................................................................39 5.5.11 Test Manual...........................................................................................................40 5.5.12 Users Manual.........................................................................................................40 Software Development Plan, SEDA Software Program Page iv  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  6. 6. InnerSphere Technologies CONFIDENTIAL Figures and Tables FIGURE 2.2-1. WORK PRODUCTS TEAM STRUCTURE.................................................17 FIGURE 2.3-2 GEN-PROBE LIAISONS...............................................................................18 TABLE 3.1-1. INNERSPHERE TECHNOLOGIES PHILOSOPHICAL AND ETHICAL PRINCIPLES...........................................................................................................................20 FIGURE 3.3-1. RISK MANAGEMENT PARADIGM FUNCTIONS ..................................................................................................................................................21 TABLE 3.5-1. SEDA STAFFING REQUIREMENTS..........................................................23 TABLE 4.4.2-1. SEDA PROJECT DEVELOPMENT SOFTWARE.....................................31 TABLE 5.2.1. PHASE ACTIVITIES AND TASKS...............................................................35 TABLE 5.4.1. PHYSICAL AND HUMAN RESOURCE ALLOCATION............................36 Appendices APPENDIX A SEDA PROJECT SCHEDULE...............................................................................................41 SEDA GANTT CHART 1 JANUARY 2000 MILESTONES............................................................................................41 SEDA GANTT CHART 2 FEBRUARY 2000 MILESTONES......................................................................................42 SEDA GANTT CHART 3 MARCH 2000 MILESTONES................................................................................................43 APPENDIX B SEDA SOFTWARE RISK ANALYSIS TABLE....................................................................44 Software Development Plan, SEDA Software Program Page v  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  7. 7. InnerSphere Technologies CONFIDENTIAL APPENDIX B LEGEND ........................................................................................................49 Software Development Plan, SEDA Software Program Page vi  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  8. 8. InnerSphere Technologies CONFIDENTIAL 1.0 Introduction The Software Development Plan (SDP) is the second in a series of formal, structured documents supporting the software development efforts of InnerSphere Technologies. This SDP establishes a plan for producing the Signal Event Detection Analysis software program, hereinafter referred to as "SEDA". The intended audience of this SDP is senior management and R & D staff of Gen-Probe, Inc., San Diego CA. This SDP shall also be used by InnerSphere Technologies as a master coordinating document to be referred to during the entire SEDA development effort. 1.1 Project Overview Gen-Probe, Inc. has solicited InnerSphere Technologies to develop an integrated system for their R & D scientists and technicians for processing and analyzing data generated by the LB8® single molecule counter used for conducting bioassays. Methods and tools currently in use for this process are inadequate for handling large amounts of data, for performing analysis of the data, and for distinguishing true signals from noise (random non-signals). The R & D staff at Gen-Probe currently uses an ad hoc method that converts text file output from the molecule counter to an MS Excel spreadsheet. A graph report is then generated from the output. While this method is adequate for plotting 2000 data points, a typical sample involves millions of data points. In addition, the current scheme lacks any advanced internal signal processing facility. Finally, filtering out undesirable data is a tedious manual process, making the process susceptible to error, time-consuming, and ultimately, a rather expensive solution to the data processing issue. InnerSphere Technologies shall design and implement SEDA to address both the limitations of the current system, and provide a path for evolution, i.e., to allow the system to grow and adapt as needed. InnerSphere Technologies shall develop two versions of SEDA in accordance with the incremental process model. A prototype version shall be created first to provide the user with an initial view of program features. The user shall review and approve the prototype version before work begins on the next, design phase. The second version shall be the operational version delivered to the customer at the completion of the project. The operational version shall provide the user with the desired functionality and requirements. InnerSphere Technologies shall also offer a description of an enhanced version of SEDA to demonstrate possible upgrades in future versions of the program. Software Development Plan, SEDA Software Program Page 7  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  9. 9. InnerSphere Technologies CONFIDENTIAL 1.1.1 Prototype Version The prototype shall introduce the graphical user interface. The user interface shall provide the look and feel of the operational version. The user shall have some interaction with the prototype to develop an understanding of how the final product will be presented. 1.1.2 Operational Version The operational version shall include all the features included in the prototype version plus all the functionality required by the user. The operational version shall define a means for efficient short-term storage of collected information, namely a database. The operational version shall be able to calculate normalized statistical standard deviation and normalized statistical mean as part of its statistical functions. It shall also allow the user to perform some signal processing and curve fitting. The SEDA software shall include a complete and comprehensive set of printed user documentation. These documents shall include a Quick Start Guide, a Tutorial, and a Reference Manual. In addition, SEDA shall provide a link to an on-line help viewer. 1.1.3 Enhanced Version Besides all of the features of the operational version, the enhanced version may include multiple test stations for simultaneous testing and the ability to perform batch processing. The enhanced version may allow generation of various advanced statistical analysis functions, and offer advanced signal processing. The enhanced version may also include Internet/Intranet capabilities. Future versions may also support various OSs such as UNIX or Macintosh. Real-time data analysis, support for additional instrumentation, increased security features, and acceptance of additional data input types may also be considered in future enhancements. 1.2 Project Deliverables 1.2.1 Operational Concept Document (OCD) The OCD is the introductory document outlining SEDA. It presents the InnerSphere Technologies problem-solution strategy, and identifies hardware and software components of SEDA. The OCD also explores the formal statement of the problem, the characteristics of the user, the external processes to be provided, proposed product features and criteria for acceptance. The document is scheduled for delivery on January 29, 2000. Software Development Plan, SEDA Software Program Page 8  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  10. 10. InnerSphere Technologies CONFIDENTIAL 1.2.1 Software Development Plan (SDP) The SDP introduces the InnerSphere Technologies development team, and elements of SEDA. The SDP discusses project management issues as applied to SEDA, including the organization of the project; managerial, technical and work processes, and the proposed development schedule. The document is scheduled for delivery January 29, 2000. 1.2.2 Prototype Version The prototype version of SEDA shall demonstrate the basic capabilities of the application. It shall serve as a tool to consolidate a minimum set of project requirements as well as to discover and address any misunderstandings between the customer and developer in regard to the system's functionality. The prototype is scheduled for delivery February 2000. 1.2.3 System Requirements Specifications (SRS) The SRS shall identify the specific requirements for SEDA. These include functional, external, interface, performance, and database requirements, as well as a discussion of ways to validate these requirements. Also presented are design constraints and process diagrams. This document is scheduled for delivery February 24, 2000. 1.2.4 Software Design Document (SDD) The SDD provides two design views of the deliverable product for SEDA. The first view, known as the SDD - Top Level Design (SDD-TLD), contains an overview of the Computer Software Configuration Item (CSCI) for SEDA, along with information about the CSCI architecture, general constraints, assumptions and dependencies. The second view of the SEDA design is the SDD-Detail Design (SDD-DD), which covers the CSCI data and data files, as well as traceability requirements. The SDD shall formalize and define the structural models, data flows, functional processes, and data models of the software product. This document is scheduled for delivery March 7, 2000. 1.2.5 Operational Version The operational version of the SEDA code shall be developed for delivery to the customer, following testing and implementation. SEDA shall consist of a Graphical User Interface (GUI) for file selection and data presentation, data cataloguing, storage and retrieval. The operational version shall be able to calculate normalized statistical standard deviation and normalized statistical mean as part of its statistical functions. It shall also allow the user to perform some signal processing and curve fitting. The lifecycle of SEDA shall pass from the analysis and design phase to the implementation phase when work on the operational version begins. Software Development Plan, SEDA Software Program Page 9  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  11. 11. InnerSphere Technologies CONFIDENTIAL 1.2.6 Test Plan and Procedures Document (TP) The TP defines the test objectives, build plan integration, test cases, and tests for all specific processes and system requirements for SEDA. The TP shall cover environmental needs, responsibilities, staffing and training needs, scheduling, risk and contingency plans. Implementation of the testing phase shall be initiated once the operational version of SEDA is functional. The TP is scheduled for completion and delivery March 22, 2000. 1.2.7 User's Manual (UM) The UM introduces SEDA to the prospective user. The UM informs the end users of hardware and software requirements, provides a brief tutorial and glossary, and identifies error messages likely to be encountered by the user. The UM shall further be divided into a Quick Start Guide, a Tutorial and a Reference Manual. The UM shall be provided in the form of both a printed manual, and an on-line help system. The UM shall assist SEDA users with the operation of the application. This document is scheduled for completion and delivery March 18, 2000. 1.3 Evolution of the SDP After its initial draft, this SDP shall be revised as required to handle situations that include changes to the scope of the project. Regardless of the reason for the evolution of this document, both the customer and the development team must agree on the proposed changes, and both parties must approve the changes before they are put in effect. The process by which modifications to this document occur is as follows: • Any corrections, additions or omissions shall be presented on a hard copy of the current version of this document. • Items/sections to be replaced shall have one red line drawn through them with the replacement text clearly associated with them. • Items/sections to be deleted shall have one red line drawn through them. • Items/sections to be added shall be clearly displayed with their desired placement clearly noted. The InnerSphere Technologies' project leader shall be assigned ownership of the SDP during the development process. The owner of this document shall be responsible for delegating maintenance tasks to other team members as required. However, it remains the responsibility of the owner to assimilate the changes of those sections into the official version. Current versions of the documents shall reside on our development server. Software Development Plan, SEDA Software Program Page 10  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  12. 12. InnerSphere Technologies CONFIDENTIAL 1.4 Reference Materials NOTE: for a more detailed annotated bibliography, consult http://SE660.home.att.net/integrated_annotated_bibliography.htm. Alternatively, a reprint of the bibliography is located in Appendix D of the SEDA Reference Manual. For the purposes of this SDP, the following sources and references shall apply: 1.4.1 Books Beizer, B. (1990) Software Testing Techniques, 2nd ed. International Thomson Computer Press. Classic textbook with a comprehensive and modern approach to software testing tools, thinking, strategies, and procedures. McConnell, S. (1998) Software Project Survival Guide. Microsoft Press. A Microsoft insider's practical view of how to succeed in software projects. Pressman, Roger S. (1996) Software Engineering: A Practitioner's Approach, 4th ed. McGraw Hill Book Company. Textbook and venerated standard reference for software engineering theory and practice. Sommerville, I. (1996) Software Engineering, 5th ed. Addison-Wesley. Textbook and standard reference for software engineering theory and practice. 1.4.2 Websites NOTE: Where no publication date is indicated at the site, these documents were accessed via the (World Wide Web) WWW in January 2000. Molecular Machines, Inc. Areas of Application: Pharmaceutical High Throughput Screening, Medical Diagnostics, Research; Products-Main: LB8® - Single Molecule Counter, Plates; Technology-Main. root URL: http://molecular-machines.com/ (pages in order: root + areaspharmmain.htm, areasmedmain.htm, areasresmain.htm, prodsmmain.htm, prodmmmain.htm, techclmain.htm ) Several webpages describing the LB8® - Single Molecule Counter, output of which is manipulated by software built for the SEDA project. National Instruments. (January, 2000) Product Catalog: LabWindows/CVI Full Development System for Windows. http://sine.ni.com/apps/we/nioc.vp? lang=US&pc=mn&cid=2460 Software Development Plan, SEDA Software Program Page 11  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  13. 13. InnerSphere Technologies CONFIDENTIAL LabWindows CVI (C for Virtual Instrumentation) was developed to add more flexibility to the existing LabView product, with the flexibility to add customized C language routines 1.4.3 Electronic Books Project Management Institute. (1996) Guide to the Project Management Body of Knowledge. http://www.pmi.org/publictn/pmboktoc.htm Textbook for the project management course, systematizing common practices in the field into a "body of management knowledge". Orfanidis, S. Introduction to Digital Signal Processing. Prentice Hall: Upper Saddle River, NJ. http://www.ece.rutgers.edu/~orfanidi/intro2sp.html#pub A book freely available on the Internet, investigating various aspects of digital signal processing. Smith, S. The Scientist and Engineer’s Guide to Digital Signal Processing. California Technical Publishing. http://www.dspguide.com/ DSP techniques, their applications, and explanations of algorithms used for processing. 1.4.4 Journals Craig, R. (January 20, 1999) "Windows 2000 Database Choices", ENT, v 4, i 2, pp Seeger, S.. (April 1998) "Single molecule fluorescence: High Performance Molecular Diagnosis and Screening", BIOforum, pp 179-185. (Translated from German.) Seminal paper outlining the advantages of LIF spectroscopy for single molecule detection over CCD technology. 1.5 Glossary 1.5.1 Definitions For the purposes of this SDP, the following definitions shall apply: Access97 a desktop relational database management system by Microsoft ad hoc for the special purpose presently at hand. Analyte the specific biomolecular substance being tested Assay biochemical/biomolecular test or protocol Blackboard.com an web-based education delivery system Build plan a plan listing all compiling options for a software product Confocal having the same foci (as "confocal lens") Confocal Laser-induced a high-sensitivity, large dynamic range and high spatial Fluorescence resolution bioanalytic technology for screening and identifying Software Development Plan, SEDA Software Program Page 12  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  14. 14. InnerSphere Technologies CONFIDENTIAL Spectroscopy (LIF) single molecules in an analyte by measuring the molecule's fluorescence in reaction to laser stimulation and specific marker substances Database a collection of data organized especially for rapid search and retrieval Development server the (usually high-performance) computer used by the software product developer Excel a generic spreadsheet program tightly integrated with other Microsoft Office Products Fluorescence the excitation of a molecule with a wavelength of light causing the molecule to emit light at a different wavelength Fourth Generation a non-procedural high-level language built around database (Programming) Language systems Front end the "public" end of an application; usually corresponds to "client"; the part of the application with which user has most interaction Gantt chart a bar graph Hyper Text Markup a subset of SGML used for rendering text and format Language (HTML) information viewable by web browsers; allows documents (or multimedia) to be statically linked to local or remote locations Incremental builds a process in which successive iterations in the development of the software product build on a common base, expanding outward Laser light amplification by stimulated emission of radiation LB8® - Single Molecule instrument manufactured by Molecular Machines, Inc. that Counter implements the confocal LIF spectroscopy technology Pentium an 8x86 family microprocessor first introduced in 1995 by intel pro bono done or donated without charge; free: Regression testing repetition of tests to show lack of side effects from adding a feature SGML a markup language for defining structure and managing documents in electronic form Software Development this document (also known as Software Project Plan or Plan Software Project Management Plan) Visual Basic a RAD-oriented "visual" programming language by Microsoft, offering drag-and-drop code generation Software Development Plan, SEDA Software Program Page 13  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  15. 15. InnerSphere Technologies CONFIDENTIAL 1.5.1 Acronyms For the purposes of this SDP, the following acronyms shall apply: 4GL Fourth Generation (Programming) Language ASCII American Standard Code for Information Interchange (here, refers to an encoding format) CDR Critical Design Review CM Configuration Manager, Configuration Management COTS Commercial Off The Shelf CSCI Computer Software Configuration Item CSU Computer Software Unit DBA Database Administrator GUI Graphical User Interface HTML Hypertext Markup Language LAN Local Area Network MS Microsoft NIC Network Interface Card OCD Operational Concept Document PC Personal Computer PDR Preliminary Design Review RAD Rapid Application Development RAM Random Access Memory RR Requirements Review SCCB Software Configuration Control Board SCM Software Configuration Manager SDD Software Design Description SDD - DD Software Design Description - Detail Design SDD - TLD Software Design Description - Top Level Design SDF Software Development Folder SDL Software Development Library SDP Software Development Plan SEDA Signal Event Detection Analysis (software program) SEE Software Engineering Environment Software Development Plan, SEDA Software Program Page 14  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  16. 16. InnerSphere Technologies CONFIDENTIAL SEI Software Engineering Institute SP/CR Software Problem/Change Reports SPMP Software Project Management Plan SQA Software Quality Assurance SRS System Requirements Specifications STE Software Test Environment SWM Software Manager TP Test Plan UM User's Manual WWW World Wide Web 1.5.2 Abbreviations For the purposes of this SDP, the following abbreviations shall apply: CA California e.g. ex gratis (for example) GB gigabytes (109 bytes) i.e. id est (that is) Inc. Incorporated MB megabytes (106 bytes) Mbps megabits (106 bits) per second MHz megahertz - 106 cycles per second R&D research and development Software Development Plan, SEDA Software Program Page 15  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  17. 17. InnerSphere Technologies CONFIDENTIAL 2.0 Project Organization 2.1 Process Model InnerSphere Technologies shall follow an incremental process model. According to the definition given by Pressman (1996), this model uses the "elements of the linear sequential model (analysis, design, coding and testing) with the iterative philosophy of prototyping." (p. 37). The incremental model shall allow InnerSphere Technologies to create a core product upon which subsequent iterations of the software shall be based. At the end of each increment, Gen-Probe shall be able to use and evaluate the product. Feedback from user- product interaction shall allow Gen-Probe and InnerSphere Technologies to refine SEDA by incorporating new and improved features. Second System/ Imcrement Information Engineering Core Analysis Design Code Test Product First Analysis Design Code Test Imcrement Analysis Design Code Test … Figure 2.1-1. Incremental Process Model (adapted from Pressman [1996]) Software Development Plan, SEDA Software Program Page 16  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  18. 18. InnerSphere Technologies CONFIDENTIAL 2.2 Organizational Structure The SEDA project leader shall assign work products to task leaders. The task leader shall have the overall responsibility of scheduling, allocating resources, organizing, and motivating the team. The following chart shows the hierarchical flow of authority in the Project Leader Task Leader Team Member Team Member Team Member general SEDA work structure: Figure 2.2-1. Work Products Team Structure 2.3 Organizational Boundaries and Interfaces A pseudo-contractual arrangement shall be established between a Gen-Probe scientist and InnerSphere Technologies' technical lead. The technical lead shall convey project requirements to the project leader, who shall delegate the work to the project task leaders. Assigned tasks shall be accomplished in accordance with the contract stipulations. The project leader shall coordinate the configuration management, software quality assurance, test and evaluation, and documentation management groups. This structure is represented graphically in the following chart: Software Development Plan, SEDA Software Program Page 17  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  19. 19. InnerSphere Technologies CONFIDENTIAL Project Leader Software Test and Configuration Documentation Quality Evaluation Management Management Assurance Figure 2.3-1. Support Group Organization The following chart lists Gen-Probe liaison employees available for contact by InnerSphere Technologies. Task leaders are authorized to request project-specific information from these liaisons, as shown in the following chart: Gen-Probe Liaison Employee Wai Lam Mick Becker Vicente Lerum Figure 2.3-2 Gen-Probe Liaisons 2.4 Project Responsibilities For each phase of software design, a member of InnerSphere Technologies shall be designated as a task leader. This leader shall be responsible for following the assigned task from inception to completion. Quality assurance, configuration management, test and evaluation, and documentation management functions of the project shall be integrated into the overall design. Software Development Plan, SEDA Software Program Page 18  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  20. 20. InnerSphere Technologies CONFIDENTIAL 3.0 Managerial Process The managerial process for SEDA shall be guided by a controlled, decentralized approach. The group leader shall coordinate and assign specific tasks to the other group members, or to a task leader. The group leader and assigned task leaders shall assume responsibility for: • Adhering to organizational policies established in this document • Following the documented plan and software development process description • Allocating adequate human and material resources • Delegating authority • Training people impacted by the project • Quantifying and objectively reviewing the software development process and its work products • Reviewing project status with appropriate levels of management and taking corrective action 3.1 Management Objectives and Priorities The primary InnerSphere Technologies management objective is the completion of SEDA as scheduled. To achieve this objective, the development team shall take into account the work environment constraints, as well as utilizing open intra- and inter-group communications, skills development, training, and team solidarity building. Many internal project risks can be effectively minimized by insisting on complete and open communications. The following table lists key philosophical and ethical principles guiding InnerSphere Technologies' project. Software Development Plan, SEDA Software Program Page 19  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  21. 21. InnerSphere Technologies CONFIDENTIAL  Viewing software development within the context of the larger GLOBAL systems-level definition, design, and development.  Recognizing both the potential value of opportunity and the PERSPECTIVE potential impact of adverse effects.  Thinking toward tomorrow, identifying uncertainties, anticipating FORWARD-LOOKING potential positive or negative outcomes.  Managing project resources and activities while anticipating VIEW uncertainties.  Encouraging free-flowing information at and between all project levels, and between teams on other projects. OPEN  Enabling formal, informal, and impromptu communication. COMMUNICATION  Using processes that empower the individual (bringing unique knowledge and insight to identifying and managing risk).  Making risk management an integral and vital part of project INTEGRATED management.  Adapting risk management methods and tools to a project's MANAGEMENT infrastructure and culture.  Sustaining constant vigilance. CONTINUOUS  Identifying and managing risks routinely through all phases of PROCESS the project's life cycle.  Mutual product vision based on common purpose, shared SHARED PRODUCT ownership of responsibility, and collective communication. VISION  Results-oriented focus.  Working cooperatively to achieve common goals. TEAMWORK  Pooling talents, skills, and knowledge. Table 3.1-1. InnerSphere Technologies Philosophical and Ethical Principles Awareness and application of these principles of empowerment enable the development team to implement SEDA successfully and deliver the product on or ahead of schedule. 3.2 Assumptions, Dependencies, and Constraints The development team is dependent upon Gen-Probe to provide sample data to be analyzed by the software package. It is expected that both Gen-Probe and InnerSphere Technologies shall commit to the principles of open exchange of timely, accurate, project-related information, since ultimately customer satisfaction depends on the product's delivery as specified. Because this project is not intended for use by the entire Gen-Probe organization, but rather limited to an investigational research program, Gen-Probe's conventional documentation standards or development criteria do not apply here. Software Development Plan, SEDA Software Program Page 20  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  22. 22. InnerSphere Technologies CONFIDENTIAL Because SEDA is being developed on a pro bono basis, choices of Commercial Off-the- Shelf (COTS) software used in development of SEDA shall be constrained to freeware or time-limited/demonstration software. The development team's most substantial constraint is that of time. The timeline of this project is demanding, and it is crucial that all requirements are defined and adhered to. Unilateral commitment to the requirements of the project is critical to the timely delivery of the product. 3.3 Risk Management In any complex business undertaking, where many internal and external forces may disrupt or divert activities planned to achieve a goal, it is imperative for the business plan to incorporate risk management strategies. In the case of the development of SEDA, risk can be described as any factor whose impact on the project could reduce the quality of the end product, increase costs, delay its completion, or end in project failure. The Software Engineering Institute (SEI) risk management paradigm represents a set of functions that are identified as continuous activities through the life cycle of a project. Each risk nominally goes through these functions in sequence (see Figure 3.3-1), but the activity occurs continuously, concurrently, and repeatedly (e.g., the mitigation plan for one risk may yield another risk) throughout the project life cycle. FUNCTION DESCRIPTION R D e IDENTIFY  Search for and locate risks before they become problems i  Transform risk data into decision-making si information. Evaluate impact, probability, and ANALYZE g timeframe; classify and prioritize risks. s n PLAN  Translate risk information into decision and mitigating actions (both present and future) k and implement those actions.  Monitor risk indicator and mitigation actions. TRACK  Correct for deviations from the risk mitigation CONTROL actions.  Provide information and feedback internal Lesser and external to the project on the risk activities, current risks, and emerging risks. Risk COMMUNICATE ---- Communication happens throughout all the functions of risk management -- Figure 3.3-1. Risk Management Paradigm Functions Software Development Plan, SEDA Software Program Page 21  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  23. 23. InnerSphere Technologies CONFIDENTIAL To mitigate risk, InnerSphere Technologies shall implement a risk assessment plan. This plan articulates two key activities to implement the strategy. The first is the application of the risk management paradigm, resolving technical risk in a systematic and structured way. The second is collaboration with Gen-Probe to identify the potential risks. The risk assessment table identifies risk potential, category, probability, impact, and mitigation. (See Appendix B) 3.4 Monitoring and Controlling Mechanisms The work products of repeatable processes shall comply with specified standards and requirements. Further, work products are reviewed by those affected, and placed under version control or configuration management. The project leader shall ensure the overall project remains on schedule. The task leaders in turn shall keep control of their assigned task(s). By implementing a multi-tiered approach to monitoring schedule deadlines, the project has improved chances of success. InnerSphere Technologies shall implement a Software Configuration Management (SCM) system. The SCM system allows software design changes, anomalies, and updates to be recorded, monitored, verified, and archived. The SCM process is essential to the success of the SEDA development project. One of the most important monitoring and controlling functions is handled by the person responsible for the SCM. The SCM Manager maintains all versions of documents in hard and electronic copy, tracks hours expended, records meeting minutes, and ensures InnerSphere Technologies development team has the most recent versions of the documentation and revisions of software. The auditing process shall be by a Software Configuration Control Board (SCCB). The board members shall be assigned to review each document and software product. When the review is complete, the board shall convene and discuss all proposed changes. The changes shall be implemented by majority rules. The proposed document or software changes shall not be deemed final until all board members sign off on the documents. The SCCB is composed of: • SCCB Chair – Jay Sadler • SCM Manager – David Chin • Technical Advisor – Vicente Lerum • Technical Advisor – Joseph Tingzon In addition to the primary auditing performed by the SCCB, the following audits shall also be instituted: • Requirements Review (RR) • Preliminary Design Review (PDR) • Critical Design Review (CDR) Software Development Plan, SEDA Software Program Page 22  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  24. 24. InnerSphere Technologies CONFIDENTIAL 3.5 Staffing Plan The organizational structure of InnerSphere Technologies is shown below: Project Leader Vincent Crisologo Sr. Programmer Project Controller/SCM Test and Evaluation DatabaseSpecialist Joseph Tingzon Vicente Lerum Specialist Jay Sadler David Chin Documentation Hardware Specialists Technical Lead David Chin Vicente Lerum Specialists David Chin Jay Sadler Vicente Lerum Joseph Tingzon Jay Sadler Vincent Crisologo Figure 3.5-1. SEDA Project Organizational Chart Staffing necessary to execute and support the SEDA development effort is presented in the following table. The personnel directly supporting the SEDA development effort are developers and managers. InnerSphere Technologies meets two to three times weekly for several hours. JOB TITLE STAFFING  Project Leader 1  Senior Programmer (SP) 2  Software Configuration Management (SCM) Specialist 1  Database Administrator (DBA) Specialist 1  Test and Evaluation Specialist 1  Technical Lead 1  Network Specialists 2  Documentation Specialists 5 Table 3.5-1. SEDA Staffing Requirements Software Development Plan, SEDA Software Program Page 23  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  25. 25. InnerSphere Technologies CONFIDENTIAL 4.0 Technical Process 4.1 Methods, Tools, and Techniques Technical issues connected with the SEDA project are discussed in this section. These include the computing system, target system, development methods, team structure, programming languages, technical standards, and procedures for developing and modifying CSCIs. 4.1.1 Computing System The development system should meet the following minimum requirements: Hardware • 300 MHz Pentium • 64 MB RAM • 8.4 GB Hard Drive Software • O/S for an IBM-PC operating system • Fourth generation programming language • Database • Statistical analysis software • Graphing software 4.1.2 Target System The customer has defined the SEDA client system. This system shall be built at a minimum level due to cost considerations, but is upgradeable. The client system minimum requirements include: Hardware • 200 MHz Pentium • 32 MB RAM • 6.4 GB Hard Drive Software • O/S for an IBM-PC operating system • Intranet/Internet browser • Database Software Development Plan, SEDA Software Program Page 24  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  26. 26. InnerSphere Technologies CONFIDENTIAL 4.1.3 Development Methods Two versions of SEDA shall be developed: a prototype and an operational. The operational version shall be divided into 2 phases. The prototype version shall use a COTS product as part of the design of a data analysis software package for Gen-Probe. It shall provide the look and feel of the operational version, but shall only simulate the database interface, the analysis and the graphing functions. The prototype version shall serve as a front end to the expanded operational version. The operational version shall use COTS products to design and build a relational database. Like the prototype, the operational version shall also use COTS to analyze and graph the data. In the first phase of the operational version, a relational database shall be designed and built. The LB8 single molecule counter used by Gen-Probe for this project outputs data in the form of a text file. SEDA shall provide an interface to import the text file and transfer it into the database. The customer has provided the development team with sample data for this task. The operational version shall also provide an interface allowing export of files from the database to other file formats (MS Excel *.xls, ASCII, and text). In the second phase of the operational version, an interface shall be designed for graphing as well as performing statistical analysis on the data. This operational version shall be able to process different data sets concurrently and save the processed data as a new data set to the database. InnerSphere Technologies uses Software Engineering by Sommerville (1996), and A Guide to the Project Management Body of Knowledge by the PMI Standards Committee (1996), to standardize the software development process across all software development projects. For the SEDA project, the incremental process methodology shall be used. 4.1.4 Development Team Structure The SEDA project development effort shall be broken down into three major areas, reflecting individual team member expertise. The first area is data analysis tools development. The second area is database development. The third area is graphical tool development. Each team member shall be assigned a specific part of the total effort as a primary area of development responsibility. Each group member shall work separately to complete the individual task, then the group shall come together and each member shall do a walk-through of their process with the rest of the team. It is suggested that this method will provide the quickest task throughput, strengthen the individual's skill level, and enhance the group learning experience. Software Development Plan, SEDA Software Program Page 25  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  27. 27. InnerSphere Technologies CONFIDENTIAL 4.1.5 Programming Languages The database shall be developed using COTS tools. The GUI, graphing as well as the statistical analysis functions shall be developed using COTS tools. 4.1.6 Technical Standards The SEDA project shall use the National University Software Engineering Capstone Project Document Specifications as the baseline for all project documentation requirements and format. SEDA shall incorporate custom code as well as code generated by COTS tools. Custom coding standards shall follow a traditional top-down procedural design with modular construction and indentation. Each function shall include a descriptive paragraph. Comments shall be included throughout the custom code to provide clarification as needed. 4.1.7 Developing and Modifying Procedures for CSCIs All CSCIs shall be kept on the development server (Blackboard.com) under the control of the project leader. The development server shall be hosted on a WWW server, remotely accessible by each team member. 4.2 Software Documentation The software documentation requirements for SEDA are listed here, including milestones, baselines, and reviews. • Operational Concept Document (OCD) • Software Development Plan (SDP) • Requirements Review (RR) • System Requirements Specification (SRS) • Software Design Document (SDD) • Top Level Design (SDD-TLD) • Preliminary Design Review (PDR) • Detailed Design (SDD-DD) • Critical Design Review (CDR) • Test Plan (TP) • User's Manual (UM) The OCD shall set the stage for the development of the SRS. The OCD is designed to establish the project environment, data requirements, and design. This document shall explain both the functionality and scope of services provided by SEDA. Software Development Plan, SEDA Software Program Page 26  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  28. 28. InnerSphere Technologies CONFIDENTIAL The SDP establishes the plan guiding the SEDA development effort. The intended audience of the SDP is selected R&D staff at Gen-Probe. This SDP shall also be used by InnerSphere Technologies as a master coordinating document to be referred to during the entire SEDA development effort. The SRS shall provide a detailed description of the problem that the software must solve, expressed as system requirements. Project-related information and relationships, data flows and structure are documented. Hardware, software, and user interfaces are described for external system elements and internal software functions. The SRS shall describe system requirements to a level of detail sufficient to enable designers to produce a system to satisfy those requirements. Requirements stated in the SRS shall be testable and unambiguous. The SDD provides the detailed description and development foundation of SEDA. The SDD states the purpose of the CSCI, and describes the database management systems for SEDA. The SDD also provides the functional, behavioral, and performance requirements of SEDA. The SDD shall specify the design requirements necessary for the development of SEDA. . The intended audience of the SDD is selected R&D staff at Gen-Probe. InnerSphere Technologies shall document the specific details of the design using the SDD. The TP shall detail the activities required to prepare for and conduct the specified tests. The TP shall list testing tasks to perform, and how they are to be scheduled. Besides specifying the sources used in preparing the test protocols, it shall also define the test tools and environments needed to conduct the system test. Finally, the TP includes an SRS cross- reference table as a checklist for verifying tests of all requirements identified in the SRS. The UM shall provide assistance to the first-time and experience SEDA user. For both kinds of users, a Quick Start Guide shall provide guidance to installing SEDA and contact information for InnerSphere Technologies. A Tutorial shall be targeted at the first-time user, while a comprehensive Reference Manual is for both users. The Reference Manual details procedures for using all SEDA features and lists error codes. Design reviews shall be held throughout the development process. The major design reviews (requirements review, preliminary design review, and critical design review) shall include the project manager, software manager, quality, and technical leads, and a Gen-Probe representative. 4.3 Project Support Functions 4.3.1 Configuration Management The Software Development Library (SDL) shall house all software, associated development tools and utilities, and procedures. The SDL shall contain a combination of hard copy, magnetic, and optical media. A COTS revision control program shall handle tracking source files. An on-line library system with write-protected files and file-sharing capabilities shall be used to control documentation. Software Development Plan, SEDA Software Program Page 27  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  29. 29. InnerSphere Technologies CONFIDENTIAL 4.3.1.1 Configuration Responsibilities The Project Controller shall oversee the SDL, maintain its files, and collaborate with the Software Manager (SWM) and the SQA representative in monitoring the storage, change, audit and accessibility of SDL files. The Project Controller alone furnishes copies of the SDL files for use by project personnel, ensuring that only authorized changes are accepted. The SQA representative and CM shall identify development support items (such as version numbers) subject to configuration control. Items for development support include items in both the Software Engineering Environment (SEE) and the Software Test Environment (STE). SEE items installed on the development server shall be verified by the SWM for correct version number. As they are produced and tested, developmental software items shall become part of the configuration and shall also be controlled as part of the SDL. 4.3.1.2 Configuration Control Process InnerSphere Technologies' projects articulate a two-tiered approach to configuration management. In the first tier, the programmer's workspace represents an area where individual developers exercise control over the product as it is being built or modified. After the product has successfully completed the review process (which includes passing unit testing), it is elevated to the second tier. Here, the product is incorporated with the other files in the SDL. At the second level, it falls under the control of the Project Controller, who implements a formal control process using Software Problem/Change Reports (SP/CRs). Because of this strict formal control process, only changes authorized by the SWM are made to the software once it has been placed in the SDL. Developers sign out a CSCI from the SDL when assigned to perform work that requires review of the material contained in the file, or that will result in the updating of either the source files or documentation contained in the Software Document Folder (SDF). Upon completion of access to or updates of the SDF, all accessed or updated items are resubmitted to the Project Controller for storage. 4.3.2 Software Quality Assurance The SCCB implements the SQA function. The SQA function ensures the quality of the software and its documentation. Processes for producing the software are also monitored by the SQA function. SQA activities include: reviewing project requirements; designing and producing test documentation; reviewing Configuration Management (CM) practices and procedures; and preparing review reports in the form of software quality evaluation reports. Software Development Plan, SEDA Software Program Page 28  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  30. 30. InnerSphere Technologies CONFIDENTIAL 4.3.2.1 Organizational Structure SQA personnel shall be responsible for identifying and assessing quality issues. They are authorized to initiate, recommend, or provide quality-delivery solutions. To maintain objectivity in quality reviews of the software and associated documentation, SQA operations shall be conducted independently of SEDA development. The SQA representative reports to the CM. The CM has the authority and responsibility for reviewing the SQA operations and ensuring the accomplishment of all quality program tasks. The CM has the responsibility and authority to integrate the SQA operations in conformity with the Common Approach. 4.3.2.2 Other Resources For effective SQA operations, the SQA representative has access to the same computer workstations and tools as the software development group. 4.3.2.3 Methods and Procedures Procedures and methods necessary for delivery of an effective SQA are specified in this section. The project quality program demands an ongoing evaluation of the development process and products, as well as the various kinds of analysis, verification, and monitoring essential to each developmental phase. The evaluation of software quality involves: • Inspections - assessment of processes (internal reviews, CM audits, and technical reviews) and products (documentation and CSCIs) • Analysis – evaluation of both the process (development phases) and the products (documentation and CSCIs). 4.3.3 Training InnerSphere Technologies shall offer a complete one-time training package in the form of a "train the trainer" session to a small group of Gen-Probe Inc., employees. 4.3.4 Testing As each Configuration Software Unit (CSU) is implemented, the developer performs unit testing. Tested CSUs are then integrated in preparation for testing of the next incremental build. Incremental builds involve the development of successively greater capability/functionality and early testing in an incremental fashion until completion of all the capabilities. Using incremental builds, integration becomes a continual process throughout the implementation of CSUs. Software Development Plan, SEDA Software Program Page 29  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  31. 31. InnerSphere Technologies CONFIDENTIAL Informal unit testing is applied to the units developed for SEDA. SQA personnel may monitor testing. After a review of the unit test material, a log is made of testing performed on each unit. The test results are filed in the SDF. Unit testing of the individual SEDA CSCI combines source file inspection and execution testing. The purpose of unit testing is to ensure that the unit performs properly before integration into SEDA, and that all requirements are met. To support effective unit testing for the CSCI, the following unit test guidelines are applied: • Each functional requirement shall be tested • Each line of code and/or script shall be executed or inspected • Each decision shall be executed or inspected • Each condition determining each decision shall be exercised or inspected. 4.3.5 Verification and Validation Verification and validation shall be performed using SEDA running on the development server. This integration and test process is documented in the SDF. Incremental software builds shall be generated as necessary and build directives created to document the added components and any changes resulting from SP/CRs. Regression testing shall be performed to ensure changes have been made correctly and no new defects have been introduced. Any changes necessary shall be made to the code and associated documentation prior to product delivery. 4.4 Development Environment Requirements The hardware and software required for development of the SEDA project are covered in this section. 4.4.1 Hardware The hardware necessary to support SEDA consists of Pentium PC computers used as the development and target/testing platforms. The development PC must be configured with a minimum of 64 megabytes of memory, and an 8.4-gigabyte hard disk drive. The Pentium PC serves as the software development platform for the effort and may also be used to generate project documentation. A complete list of development hardware required is provided the following table: Software Development Plan, SEDA Software Program Page 30  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  32. 32. InnerSphere Technologies CONFIDENTIAL HARDWARE ITEM PURPOSE Pentium, IBM-compatible PC  Primary development platform 64 MB memory  Short term storage for data  Minimum for average computer performance. 8.4 GB hard drive  Magnetic storage for long term storage of data. Table 4.4.1-1. SEDA Project Development Hardware 4.4.2 Software The software items identified for SEDA project development and testing are listed in the following table: SOFTWARE ITEM PURPOSE O/S for an IBM-PC operating system  Development O/S for PC environment Statistical analysis software  Provides statistical analysis functions Database  Provides a data repository for short and long term storage Graphing software  Provides graphing functions for data output 4GL  Provides main structure that connects the database to the analysis and graphing functions Table 4.4.2-1. SEDA Project Development Software Software Development Plan, SEDA Software Program Page 31  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  33. 33. InnerSphere Technologies CONFIDENTIAL 5.0 Work Processes 5.1 Work Packages The work breakdown structure shall state the tasks to be completed by each work process document. 5.1.1 Operational Concept Document The OCD provides an overall scheme for SEDA. Purpose and Introduction • States the purpose of the OCD. • Includes a glossary of definitions and acronyms found in the text. • Includes references to research material. • Surveys the OCD's organization Provide a product definition of SEDA. The product definition: • States the current problem with the Gen-Probe’s processes. Presents a proposed solution utilizing SEDA. • Describes the characteristics of the end-users of SEDA. • Defines InnerSphere Technologies’ solution strategy for SEDA. Describes the implementation and testing phase. • Explores the processes to be provided by SEDA. • Lists the various required processing environments to be delivered by SEDA. • Distinguishes the levels of product features proposed for SEDA. • Defines the acceptance criteria for SEDA. 5.1.2 Software Development Plan The SDP maps the development of SEDA. The SDP: • Introduces itself and defines its purpose. • Provides a glossary and list of references of materials used in the development of the SDP. • Describes the partial organization of Gen-Probe’s R&D department. • Defines InnerSphere Technologies' design team as associated with the design, development, implementation, and testing of SEDA. • Describes the managerial process of SEDA as pertaining to the design, development, implementation, and testing of SEDA. • Outlines the technical and work processes implemented in the development of SEDA. Software Development Plan, SEDA Software Program Page 32  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  34. 34. InnerSphere Technologies CONFIDENTIAL • Provides a development schedule that graphically depicts the work breakdown for the development of SEDA. 5.1.3 System Requirement Specifications The SRS shall be drawn from an analysis of the SEDA OCD and SDP, as well as from elicitation of requirements from the client, yielding a set of software requirements. The SRS shall be the guideline for the development of SEDA. The SRS: • Defines and introduces the SRS • Provides a glossary and list of references used in the development of the SRS. • Provides a generalized description of SEDA • Defines the specific requirements used in the development of SEDA • Presents the design of technical process diagrams. • Defines the entities, relationships, attributes, and associations used in the development of SEDA. • Defines the validation requirements used to qualify the SRS specific requirements. 5.1.4 Software Design Document, Top Level Design The SDD-TLD provides an overview of SEDA. The SDD-TLD: • Defines the scope used in the development of SEDA. The scope shall include the system and document overview. The scope shall consist of glossary terms used within the SDD. • Lists material consulted in the SDD. • Defines the CSCI overview as related to SEDA. 5.1.5 Software Design, Document Detailed Design The SDD-DD reflects the detailed design of SEDA. The SDD-DD: • Determines the detailed software design of SEDA. • Provides detailed design of all CSCI data and data elements developed for SEDA. • Defines a detailed design of the relational database CSCI. • Defines requirement traceability for CSU items. • Defines CSU items correlated in the SDD to requirements in the SRS. 5.1.6 SEDA Software Code (Operational Version) The operational version shall utilize the SDD to develop, implement, and test SEDA. The software code documentation shall include the following: • Detailed relationships and design of database. • Software system design/code. Software Development Plan, SEDA Software Program Page 33  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  35. 35. InnerSphere Technologies CONFIDENTIAL 5.1.7 Test Plan and Procedures Document The TP shall characterize the plans and procedures used to test SEDA. The TP: • Defines test objectives utilized in the development of SEDA. • Defines the build integration utilized in the development of SEDA. Defines the build plan. • Defines the test cases for evaluating the software used in SEDA. • Defines the test requirements for evaluating SEDA software. • Identifies any applicable environmental needs associated with the testing of SEDA. • Defines the breakdown of responsibilities within the InnerSphere development team as related to the testing and evaluation of SEDA. • Defines any required staffing and training needs associated with the testing of SEDA. • Develops a schedule for tests related to the evaluation of the SEDA. • Defines any risks or contingencies that may exist in relation to the testing of SEDA. 5.1.8 User’s Manual The UM defines the purpose of SEDA. The UM: • Describes SEDA’s installation procedures. • Provides user instructions for the various functions of SEDA. • Defines and describes all error messages that a user may encounter while using SEDA • Provides a glossary for SEDA. This should include definitions and acronyms associated with SEDA. Software Development Plan, SEDA Software Program Page 34  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.
  36. 36. InnerSphere Technologies CONFIDENTIAL 5.2 Dependencies The major phase activities of the SEDA project for each increment can be mapped as follows: Information Engineering – Analysis, Systems Engineering – Design, Implementation – Coding, and Testing – Testing. Each major phase must be completed before the subsequent phases may begin. PHASE ACTIVITY TASKS Information Engineering  Operational Concept Document  Software Development Plan  Initial Prototype Systems Engineering  System Requirement Specifications  Software Design Document Top Level Design  Software Design Document Detailed Design Implementation  System Software Code (Operational Version) Testing  Test Plan and Procedures Document  Integration Testing  Systems Testing Table 5.2.1. Phase Activities and Tasks 5.3 Resource Requirements The resources required to complete the SEDA project are modest, consisting mainly of hardware and software owned by InnerSphere Technologies. These resources include individual computer workstations (Windows 95/98/NT) for each member of the InnerSphere Technologies development staff, Microsoft Project 98, Microsoft Office 97, Microsoft Visual Studio 6.0, and Microsoft Visual Basic. These items shall be used to support all phases of the development process in addition to software/system documentation and configuration management. Other software requirements include evaluation or demonstration versions of various mathematical, analytical or scientific related COTS product. These software packages shall be obtained by InnerSphere Technologies and shall be evaluated to determine their usefulness in furnishing the SEDA project with its advanced mathematical and graphing capabilities. See Figure 3.5-1. SEDA Project Organizational Chart for InnerSphere Technologies staffing requirements. 5.4 Budget and Resource Allocation Due to the pro bono nature of the SEDA project and the moderate resource requirements described above, the expected expenditures for the project are nominal. InnerSphere Technologies anticipates that a total of $500.00 is sufficient to cover the expenses for the purchase of COTS software and any office supplies needed to support project development. Software Development Plan, SEDA Software Program Page 35  For Internal Use Only. This document contains confidential, proprietary information of InnerSphere Technologies. It may not be copied or reproduced without the prior, written permission of InnerSphere Technologies.

×