{"id":38479,"date":"2024-04-26T23:03:35","date_gmt":"2024-04-26T23:03:35","guid":{"rendered":"http:\/\/localhost\/branding\/software-requirement-specification\/"},"modified":"2024-04-26T23:03:35","modified_gmt":"2024-04-26T23:03:35","slug":"software-requirement-specification","status":"publish","type":"post","link":"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/","title":{"rendered":"Software Requirement Specification"},"content":{"rendered":"<p>Software Requirement Specification <\/p>\n<p>Student\u2019s Name<\/p>\n<p>Name of Institution<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>Date of submission <\/p>\n<p>System\u2019s Attribute and their Definitions<\/p>\n<p>The following is a table of attributes and their functions for cards in methodologies and application domain issues<\/p>\n<p>Quality Attribute Definition<\/p>\n<p>Performance A system\u2019s ability to respond to functions<\/p>\n<p>Usability A system\u2019s ability to be utilized effectively<\/p>\n<p>Reusability A system\u2019s ability to be used more than once and maintain functionality<\/p>\n<p>Reliability A system\u2019s ability to be used over a long time to come<\/p>\n<p>Testability A system\u2019s ability to be facilitate its performance<\/p>\n<p>Supportability A system\u2019s ability to be maintained in an operational manner<\/p>\n<p>Flexibility A system\u2019s ability to be modified to specific designs<\/p>\n<p>Security A system\u2019s ability to deny service to unauthorized users<\/p>\n<p>Maintainability A system\u2019s ability to undergo changes and maintain it\u2019s performance<\/p>\n<p>Agility A system\u2019s ability to rapidly undergo change<\/p>\n<p>Scalability A system\u2019s ability to support, maintain, and increase system demand<\/p>\n<p>Interoperability A system\u2019s ability to exchange data with other systems<\/p>\n<p>Software interface description: <\/p>\n<p>The objects that are in use in a software interface are;<\/p>\n<p>Service Interface \u2013 the function of this object is to make definitions on the set of functions that are provided. These functions can be the ones used by an application or the ones provided for by the application and can have either one or more operations.<\/p>\n<p>Message Type \u2013 this object is meant to define a message\u2019s root element and then refer to the type of data.<\/p>\n<p>Data Type \u2013 this object is meant to define the structure of the data.<\/p>\n<p>External Definition \u2013 this object is meant to define the structure of data that the ES Repository imports.<\/p>\n<p>Imported Object \u2013 this object is the IDoc or the RFC that is imported into the ES Repository.<\/p>\n<p>Context Object \u2013 this object is meant to abbreviate XPath expressions and address the specificity of payload element.<\/p>\n<p>The graphical representation of software interface objects is as shown below<\/p>\n<p>Service Interface<\/p>\n<p>Operation<\/p>\n<p>Context Object<\/p>\n<p>Imported Object (RFC, IDoc)<\/p>\n<p>Message Type (Fault)<\/p>\n<p>Data Type (Enhancement)<\/p>\n<p>External Definition<\/p>\n<p>In a software interface, the objects are aligned with respect to the functionality and how they convey message from one object to another. In a hierarchical kind of manner, the service interface is placed at the top where it defines the functions that are to be provided by the system. Through the service interface, the operations to be performed are displayed by the server to the client. These operations can result into context objects (where the expressions and addresses are specified), imported objects (where all the information is stored within the system), and \/or message type (where the data type and the response expected are displayed). The message type is then divided to display the data type (where the client\u2019s needs are specified) and the external definition (where the expected response to the client\u2019s needs is designed within the system).<\/p>\n<p>Message Exchange between Client and Server<\/p>\n<p>For communication to take place between the client and the server, the system must be able to exchange information between the two. This communication is made possible when software interface operations are taking place within the system. The operations can be synchronous or asynchronous depending on the attributes specified. In many occasions, applications used to perform functions in service interfaces are forced to ensure that communication is threaded and kept in store for future use.<\/p>\n<p>The following diagram shows how a relevant synchronous communication takes place.<\/p>\n<p>Service Interface (Outbound)<\/p>\n<p>Service Interface (Inbound)<\/p>\n<p>Message Requested<\/p>\n<p>Server<\/p>\n<p>Client<\/p>\n<p>Operation<\/p>\n<p>Message Response<\/p>\n<p>Operation<\/p>\n<p>For a synchronous operation to take place, the attributes specify the functions and the results expected of the operation. In this operation, the attributes make sure that there is an expected response when the client makes a request to the server. For this to happen, the programmer delegates three tasks to provide the response expected. These tasks are fault, response, and request. Through these tasks, the server then gives feedback to the client concerning the needs of the request sent.<\/p>\n<p>The following is a diagram showing how a relevant asynchronous communication takes place.<\/p>\n<p>Service Interface (Inbound)<\/p>\n<p>Service Interface (Outbound)<\/p>\n<p>Message Requested<\/p>\n<p>Client<\/p>\n<p>Server<\/p>\n<p>Operation<\/p>\n<p>Operation<\/p>\n<p>For an asynchronous operation to take place, the attributes specify the functions and the results expected of the operation. In this operation, the attributes make sure that there is no expected response when the client makes a request to the server. For this to happen, the only task delegated for the system by the programmer is fault. Through this, the server does not give feedback to the client\u2019s request.<\/p>\n<p>DFD System for B&amp;B<\/p>\n<p>The following is a mail delivery system that B&amp;B uses to deliver goods to its client. The system allows B&amp;B clients to conduct shopping while in their homes where they place an order to the company via emails, telephone calls, or faxes. Upon receiving an order, the company delivers goods together with their invoice to the client. Once the client has received the goods and approves they are the right ones, s\/he sends money for payment and receives the due receipt to complete the transaction.<\/p>\n<p>Level 0 DFD showing information exchange between B&amp;B and the client<\/p>\n<p>CataloguePayment<\/p>\n<p>       Receipt<\/p>\n<p>  Order<\/p>\n<p>       Goods<\/p>\n<p>Invoice<\/p>\n<p>Delivery Note<\/p>\n<p>Client<\/p>\n<p>Client<\/p>\n<p>B&amp;B\u2019s Mail Order System<\/p>\n<p>It is important to note that once the server (B&amp;B) has received an order from the client, it sends out an invoice, a catalogue, and goods requested for by the client to them. The client then responds by making payments to the company upon receiving the goods and the catalogue. Once the client has done payments, the server sends out an invoice and a receipt to complete the transaction.<\/p>\n<p>B&amp;B\u2019s Level 1 DFD<\/p>\n<p>In order to give more details of B&amp;B\u2019s system transactions, a level 1 DFD is implemented to do this. Level 1 DFD is used to give more illustrations on the company\u2019s system\u2019s function ability on the operations that take place between the client and the company.<\/p>\n<p>B&amp;B\u2019s level 1 DFD is represented as shown below<\/p>\n<p>The most important thing to note is that data flows from Level 0 DFD are included in Level 1 to complete its functionality. This level has two functions that are carried out by the company, the first function is order processing and the second is payment processing. In this, the client makes a request on the goods he wishes to buy, as such; he places his order to the company. Once the company receives the order, it processes it in the department that deals with order processing (office 1). The department then sends the goods and the delivery not to the client. The second department (office 2) that deals with payment process then sends the catalogue. This is included in the goods and delivery note sent by the order-processing department. Once the client receives these, he makes his payment to the company. This is acted upon by the second office of the company that deals with payment processing. This department then sends an invoice and a receipt to the client to complete the process. However, for this to be complete, there are three rules that must be applied to ensure that Level 1 DFD is valid. These rules are;<\/p>\n<p>Rule 1 \u2013 Each function must have input and output?<\/p>\n<p>Rule 2 &#8211; Each function must have all the right information to produce an output?<\/p>\n<p>Rule 3 &#8211; If not, what other information is needed and from where?<\/p>\n<p>When applying the \u2018Rules\u2019 the expected results are;<\/p>\n<p>Rule 1: Answer YES.<\/p>\n<p>Rule 2: Function 1: YES &#8211; it has all the information needed to produce an invoice.<\/p>\n<p>Function 2: NO &#8211; it lacks all the information needed to produce a receipt. This calls for rule 3.<\/p>\n<p>Rule 3: For function 2 to match order with payment, it relies on the order information given by the client in function 1. The system is expected to have stored this information for any further use. The DFD becomes;<\/p>\n<p>Update Level 1 DFD for B&amp;B<\/p>\n<p>Note: Function 1 generates and stores data and Function 2 reads data from the storage. For a complete diagram, all rules must be applied.<\/p>\n<p>In this case, when some information necessary to produce the receipt are missing, the server reads from D1 (orders file) where all the information that relate to the clients request are stored. The purpose of storing this information upon receiving it is to allow the company to use it in Function 2.<\/p>\n<p>Level 2 DFD<\/p>\n<p>Like in Level 1, the system in this case is made to process two functions. <\/p>\n<p>Process Order for Function 1, where there is the reception of order and issuance of invoice and goods.<\/p>\n<p>Process Payment for Function 2, where there is reception of payments and issuance of catalogue and receipts.<\/p>\n<p>Diagrammatically, function boxes are expanded to contain every function. This displays the correctness of data flow from Level 1 to Level 2.<\/p>\n<p>B&amp;B Level 2 DFD Diagram<\/p>\n<p>After receiving an order from the client, the company starts on the processing steps necessary to ensure that the client receives his goods. Several offices are responsible in ensuring that this is done right. The key things to note are the additional functioning features that allow successful transaction to take place. These are; the get order and the goods dispatch department that are separate but work as one within the company.<\/p>\n<p>Once the three rules have been applied, the updated diagram for function one and two becomes: <\/p>\n<p>Updated Diagrams, Level 2 DFD for Function 1 and Function2<\/p>\n<p>Update Diagram for Function One<\/p>\n<p>This diagram is used to illustrate how the whole transaction is conducted from the moment the client places an order to the moment the company delivers the invoice. The important thing to note are the function ability of the system to coordinate the various offices that are responsible in handling order processing with respect to the order made. <\/p>\n<p>Update Diagram for Function Two<\/p>\n<p>This diagram is used to illustrate how the whole transaction is conducted from the moment the client places an order to the moment the company delivers the receipt. In this, the system is able to coordinate all the responsible offices that are entrusted with the duty of payment processing.<\/p>\n<p>Updated Diagram, Level 2 DFD for B&amp;B<\/p>\n<p>It is important to note that the above diagram shows how a complete Level 2 DFD Diagram looks like when Functions One and Two are merged to display the final diagram should look like. This diagram incorporates order processing steps to the moment the invoice is given to the client and the payment processing steps to the moment the receipt is given to the client. However, it should be noted that despite working separately for each function within the company, they all come up together to ensure that the invoice and the receipt are ready at their time of delivery.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Software Requirement Specification Student\u2019s Name Name of Institution \u00a0 \u00a0 Date of submission System\u2019s Attribute and their Definitions The following<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-38479","post","type-post","status-publish","format-standard","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Software Requirement Specification - sheilathewriter<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Software Requirement Specification - sheilathewriter\" \/>\n<meta property=\"og:description\" content=\"Software Requirement Specification Student\u2019s Name Name of Institution \u00a0 \u00a0 Date of submission System\u2019s Attribute and their Definitions The following\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/\" \/>\n<meta property=\"og:site_name\" content=\"sheilathewriter\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-26T23:03:35+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/\",\"url\":\"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/\",\"name\":\"Software Requirement Specification - sheilathewriter\",\"isPartOf\":{\"@id\":\"https:\/\/sheilathewriter.com\/blog\/#website\"},\"datePublished\":\"2024-04-26T23:03:35+00:00\",\"author\":{\"@id\":\"https:\/\/sheilathewriter.com\/blog\/#\/schema\/person\/f5844d28db4a1882523a0a69560bf0ab\"},\"breadcrumb\":{\"@id\":\"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sheilathewriter.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Software Requirement Specification\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sheilathewriter.com\/blog\/#website\",\"url\":\"https:\/\/sheilathewriter.com\/blog\/\",\"name\":\"sheilathewriter\",\"description\":\"Custom essay writing\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sheilathewriter.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/sheilathewriter.com\/blog\/#\/schema\/person\/f5844d28db4a1882523a0a69560bf0ab\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sheilathewriter.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9cf817440d627e98709fcac9c5cc379958985e679d683af80df1879b5a471013?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9cf817440d627e98709fcac9c5cc379958985e679d683af80df1879b5a471013?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/opskill.com\/propapers\"],\"url\":\"https:\/\/sheilathewriter.com\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Software Requirement Specification - sheilathewriter","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/","og_locale":"en_US","og_type":"article","og_title":"Software Requirement Specification - sheilathewriter","og_description":"Software Requirement Specification Student\u2019s Name Name of Institution \u00a0 \u00a0 Date of submission System\u2019s Attribute and their Definitions The following","og_url":"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/","og_site_name":"sheilathewriter","article_published_time":"2024-04-26T23:03:35+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/","url":"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/","name":"Software Requirement Specification - sheilathewriter","isPartOf":{"@id":"https:\/\/sheilathewriter.com\/blog\/#website"},"datePublished":"2024-04-26T23:03:35+00:00","author":{"@id":"https:\/\/sheilathewriter.com\/blog\/#\/schema\/person\/f5844d28db4a1882523a0a69560bf0ab"},"breadcrumb":{"@id":"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/sheilathewriter.com\/blog\/software-requirement-specification\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sheilathewriter.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Software Requirement Specification"}]},{"@type":"WebSite","@id":"https:\/\/sheilathewriter.com\/blog\/#website","url":"https:\/\/sheilathewriter.com\/blog\/","name":"sheilathewriter","description":"Custom essay writing","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sheilathewriter.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/sheilathewriter.com\/blog\/#\/schema\/person\/f5844d28db4a1882523a0a69560bf0ab","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sheilathewriter.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9cf817440d627e98709fcac9c5cc379958985e679d683af80df1879b5a471013?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9cf817440d627e98709fcac9c5cc379958985e679d683af80df1879b5a471013?s=96&d=mm&r=g","caption":"admin"},"sameAs":["http:\/\/opskill.com\/propapers"],"url":"https:\/\/sheilathewriter.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/sheilathewriter.com\/blog\/wp-json\/wp\/v2\/posts\/38479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sheilathewriter.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sheilathewriter.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sheilathewriter.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sheilathewriter.com\/blog\/wp-json\/wp\/v2\/comments?post=38479"}],"version-history":[{"count":0,"href":"https:\/\/sheilathewriter.com\/blog\/wp-json\/wp\/v2\/posts\/38479\/revisions"}],"wp:attachment":[{"href":"https:\/\/sheilathewriter.com\/blog\/wp-json\/wp\/v2\/media?parent=38479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sheilathewriter.com\/blog\/wp-json\/wp\/v2\/categories?post=38479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sheilathewriter.com\/blog\/wp-json\/wp\/v2\/tags?post=38479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}