Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
233,5 KB
Nội dung
Carnegie Mellon University School of Computer Science Master of Software Engineering CMU-MSIT-SE-RC2-SRS Fall 2003 MSIT-SE Practicum: Railroad Configuration Rule Checker Software Requirement Specification Version 0.1 September 30, 2003 Yong Hoon Choi Revision History Date 09/30/2003 Revision 0.1 Description Documentation Creation Author Yong Hoon Choi Approvals The following signatures are required for approval of this document. _ Yong Hoon Choi (Engineer) _ Date _ Gregg Beardsly (Client) _ Date _ Greg Matoka (Client) _ Date Table of Contents ACRONYMS INTRODUCTION 2.1 2.2 2.3 2.4 PURPOSE SCOPE AUDIENCE REFERENCE REQUIREMENTS 3.1 3.2 3.2.1 3.2.2 3.3 3.4 3.5 3.5.1 3.5.2 3.6 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.7 3.7.1 3.7.2 3.7.3 PRODUCT PERSPECTIVE .8 USER CLASSES AND CHARACTERISTICS User Classes Characteristics .8 OPERATING ENVIRONMENT DESIGN AND IMPLEMENTATION CONSTRAINTS/ASSUMPTIONS FUNCTIONAL REQUIREMENTS For the text-based application .9 For the GUI-based application (optional) .9 NONFUNCTIONAL REQUIREMENTS .10 Reliability .10 Usability .10 Modifiability 10 Performance 10 Extensibility 10 USER DOCUMENTATION .10 Installation Guide 10 Language Description for Railroad Configuration Rules 10 User Manual 10 VALIDATION CRITERIA 11 Licensing Requirements 11 Acronyms BNF CAD CMU GUI MSE MSIT-SE SEI SPMP SRS VAX Backus-Naur Form Computer Automated Dispatch Carnegie Mellon University Graphic User Interface Master of Software Engineering Master Science in Information Technology – Software Engineering Software Engineering Institute Software Project Management Plan Software Requirement Specification Virtual Address Extension Introduction The project is one of the degree requirements for the Master of Science in Information Technology - Software Engineering (MSIT-SE) program at Carnegie Mellon University The purpose of the project is to deliver the Railroad Configuration Rule Checker software satisfying the client’s requirements 2.1 Purpose The purpose of this document is to describe in a specific way “what” the system should This includes: Specific functionality (features) Constraints System qualities In addition, the document shall accomplish the following goals: Establish the basis for agreement between the client and the MSIT-SE staff on what the software products shall Reduce the development effort Provide a baseline for verification and validation Server as a basis for enhancement 2.2 Scope The scope of this document is strictly limited to the requirements of the project It does not in any way suggest any particular design or method of software development Sufficient details are included to facilitate design of the system, and allow for validation of the deliverables 2.3 Audience This document is written primarily for the MSIT-SE student (software engineer), the clients, and the mentors 2.4 Reference The SRS of the Charlatan team from MSE 2002-2003 830-1993, IEEE Recommended Practice for Software Requirements Specifications The SPMP for the Railroad Configuration Rule Checker project Requirements 3.1 Product Perspective The rule checker software will examine the updated tabling file with the configuration rules and report the checking result on the screen or in a log file The baseline software system will be a command-line and stand-alone Java application with the following inputs/outputs: 3.2 3.2.1 3.2.2 3.3 3.4 Inputs o A tabling file which contains the railroad configuration information o A configuration rule file which includes configuration rules expected to be observed and exception rules that provide some allowable situation even with the relevant configuration rules Outputs o “OK” message which represents the correctness of the tabling file or o Violated rules and the locations which are against the rules o Process time User Classes and Characteristics User Classes Technicians who edit the tabling files Test engineers who proofread the tabling files Characteristics The users are experts in the railroad configurations and their rules The users are beginners in the Unix operating system The users are intermediate users in the Microsoft Windows operating system The users are not familiar with formal logics Operating Environment Hardware: Intel Pentium Operating System: Unix, Microsoft Windows X Windows System: Hummingbird Ltd Exceed Virtual Machine: Java Run-Time Environment SE (Standard Edition) version 1.4.1 Site: Union Switch & Signal, Inc Design and Implementation Constraints/Assumptions The baseline system will be a text-based and stand-alone application The Graphic User Interface (GUI) for the software system will be considered necessarily with the capability to edit the tabling files and the configuration rule files 3.5 3.5.1 The system doesn’t support any remote file access It means that all files the system deals with must be local It would be possible, however, to access remote files using other distributed file systems Functional Requirements For the text-based application The baseline software will be a text-based, command-line, and stand-alone application It will have the following functionalities: 3.5.2 Set the tabling file to be verified Set the configuration rule file to be used for the rule checking Check the configuration rules o Syntactic checking for the tabling file o Syntactic checking for the configuration rule file o Semantic checking Display the result on the screen o Display the line number of the VAX command which is syntactically violated o Display the pairs of the rule violated and the line number of the VAX command which is against the rule o Display the elapsed time for checking Save the result on the log file o Save the pairs of the rule violated and the line number of the VAX command which is against the rule o Set the file name for the log file For the GUI-based application (optional) The GUI-based application will provide an integrated environment for editing the tabling file and the configuration rule file, verifying the correctness of the configuration information, and display the checking result It will have the following functionalities Tabling file manipulation o Open the tabling file o Edit the tabling file o Save the tabling file Configuration rule file manipulation o Open the configuration rule file o Edit the configuration file o Save the configuration file Check the configuration rules o Syntactic checking for the tabling file o Syntactic checking for the configuration rule file o Semantic checking Display the result on the screen o Display the line number of the VAX command which is syntactically violated o Display the pairs of the rule violated and the line number of the VAX command which is against the rule 3.6 3.6.1 o Display the elapsed time for checking Save the result on the log file o Save the pairs of the rule violated and the line number of the VAX command which is against the rule o Set the file name for the log file Nonfunctional Requirements Reliability Since the system itself is a verifier, reliability is the most important issue The formal methods for describing the railroad configuration and its rules are required 3.6.2 Usability The product itself should be easy to use because the purpose of the product is to facilitate the current process of the railroad configuration update In addition, the language for describing the configuration rules should be simple and easy to learn even without any expertise of formal logics The error reporting must be easy to understand when the software finds some defects in the tabling file 3.6.3 Modifiability The railroad configuration is very dynamic and the configuration rules constantly keep changing Some modification on the language for the configuration rules will be unavoidable when a new configuration rule, which cannot be properly expressed in the language, comes up Such modifications should be able to be done without any substantial effort 3.6.4 Performance The process time for checking rules should be bounded by 10 seconds If the process time is not bounded to seconds, the progress status should be displayed for users to ensure that the system works correctly 3.6.5 Extensibility The system must be extensible to include new functions and application programs for future needs 3.7 3.7.1 User Documentation Installation Guide Installation Guide will instruct users on how to install the tool The Readme file should include “what’s new in this release” and the known bugs It should also describe the compatibility to previous versions of the tool 3.7.2 Language Description for Railroad Configuration Rules The language description will contain syntax/semantics definitions The complete grammar of the language will be listed in the format of a Backus-Naur Form (BNF) For better understanding, the document will provide some examples representing major use-cases 10 3.7.3 User Manual The purpose of user manual is to describe, in detail, how the software works It also should provide an index and glossary of common vocabulary 11 Validation Criteria The software must be tested against the SRS to confirm that they satisfy all the requirements A detailed validation process must be defined for the purpose Licensing Requirements The software development may use any tool, language and any source code available on the Internet Use of any third party source code should not require the publishing of the developed application source code in any manner, nor prohibit or require end-user licensing or runtime fees 12 ... SPMP for the Railroad Configuration Rule Checker project Requirements 3.1 Product Perspective The rule checker software will examine the updated tabling file with the configuration rules and report... the tabling file Configuration rule file manipulation o Open the configuration rule file o Edit the configuration file o Save the configuration file Check the configuration rules o Syntactic... verified Set the configuration rule file to be used for the rule checking Check the configuration rules o Syntactic checking for the tabling file o Syntactic checking for the configuration rule file