Software requirements specification example use cases


















They are the ones interacting WITH the system. The Use Case should describe the interaction between the actor and the system - what the actor does and how the system reacts. Be careful to make sure the Use Case describes only how the system reacts.

While writing the Use Case, don't worry about the implementation of the system or the exact interface it will have. An application will be described by many Use Cases the exact number will, of course, depend on the size and complexity of the system. You can download a sample Use Case template at: www. Find a template that best captures the requirements for your application.

Use Cases begin where the Requirements Gathering process leaves off. The requirements determine what Use Cases the system will have, and many of the requirements will become the business logic in the Use Cases.

Of course, as Use Cases are being developed, you will have many questions - this is where the Domain Experts and Users again play an important part in the software design process. Other Stakeholders will also have valuable input. Stakeholders are people who have an interest in the system perhaps the owners of the company that the system is being designed for , but unlike the Users, Stakeholders may not have any direct contact with the system being built. Use Cases are also extremely valuable since the stakeholders of the application can easily understand them.

Therefore, they help to eliminate misunderstandings about the scope and functionality of the system. Basically, there are two parts to developing Use Cases - the text document and the accompanying UML diagrams.

Most developers begin the process by filling out a Use Case template for each of the Use Cases. Perhaps the easiest way to understand how to create a Use Case is by looking at an example. Let's consider a very simple web application that allows a user to go to a web site and purchase movie tickets. First, we'll gather the requirements of the system, and from this requirements list, we then can fill out the Use Case template. Let's examine each section of the Use Case and discuss its function.

The Overview section, as its name implies, is simply one or two sentences describing the overall scenario that the Use Case covers. In this example, as seen in Figure 3 , the Overview would be: This scenario describes a Customer purchasing movie tickets online. The Notes describe any relevant information the reader should know about the Use Case.

The Actors section lists the actors involved in the scenario. Remember that the actors are not always people, but instead may be other programs, systems or equipment. In our example, the actor is simply the customer who is buying the tickets.

The Preconditions list any events that must happen prior to the event that the use case covers. In our example, the precondition is that the customer has navigated to our web site, researched the movie she wants to see, and is now ready to order tickets.

The Scenario is the most important part of the Use Case; in fact, all the other sections of the Use Case are there to support the Scenario. There are several different techniques for presenting this information, but I think the easiest and clearest way is how it is shown in Figure 4 - in a tabular format with two columns. Note that Figure 4 shows only the first 3 steps in the scenario. The scenario shows step-by-step the interaction between the actor and the system. The first column shows what the actor does, and the second column shows the reaction of the system.

A common mistake is shown in Figure 5. If a given action does not elicit a response from the system, then the Action should simply continue until a system reaction is evoked, as shown in Figure 6. Looking at Figure 7 , you will see that the next section in the Use Case template is the Scenario Notes.

These are notes about any of the information covered in the Scenario. This is also a good place to put any questions about the Scenario.

Post Conditions cover anything that must be addressed after the Scenario ends. Exceptions detail any rare business situations that would affect the Scenario. Which means that we should be able to take each and every business requirements and map it to the corresponding one or more software architectural and design requirement. So converting it to a good requirement it says same thing but it is mapped with the requirement id 4. So mapping should be there for each and every requirement. Same way we have high level and low level mapping requirement, the mapping is also there between system and integration requirement to the code that implements that requirement and also there is a mapping between the system and integration requirement to the test case which test that particular requirement.

Then each and every requirement must be prioritized, so the team has guideline so which requirement that able to implement first and which can be done later on. Here you can see the bad priority has register student, maintain user information and each and every requirement has given priority Everything cannot be at same priority, so requirement can be prioritized.

So the example of good requirement over here is the register student and enroll courses is given the highest priority 1, while maintain user information comes below at priority 2 and then we have view report card at priority Now there are two problems with this requirement first is that each page meaning that there can be many pages, which going to blow up the testing efforts. The other problem is that it say the page is going to load in acceptable time frame, now what is acceptable time frame?

Acceptable to whom. So this is how we have to look at each and every requirement at appropriate level. For example, if we are going to build a software with regards to system and integration requirements. We have to look in system and integration requirements given in the software requirement specifications or user stories and apply to each and every requirement quality. Then check whether each and every requirement is atomic, uniquely identified, and complete and so on.

Skip to content. Banking use case Requirement Bill Payment This use case describes how a customer can login into net banking and use the Bill Payment Facility.

Requirement Quality Example of bad requirement Example of good requirement Atomic Students will be able to enroll to undergraduate and post graduate courses Students will be able to enroll to undergraduate courses Students will be able to enroll to post-graduate courses Uniquely identified 1- Students will be able to enroll to undergraduate courses1- Students will be able to enroll to post-graduate courses Course Enrolment Students will be able to enroll to undergraduate courses Students will be able to enroll to post-graduate courses Complete A professor user will log into the system by providing his username, password, and other relevant information A professor user will log into the system by providing his username, password and department code Consistent and unambiguous A student will have either undergraduate courses or post-graduate courses but not both.

It also includes the yield and cost of the software. In this document, flight management project is used as an example to explain few points. The purpose of this document is to build an online system to manage flights and passengers to ease the flight management.

This document uses the following conventions. This project is a prototype for the flight management system and it is restricted within the college premises. This has been implemented under the guidance of college professors. This project is useful for the flight management team and as well as to the passengers.

The purpose of the online flight management system is to ease flight management and to create a convenient and easy-to-use application for passengers, trying to buy airline tickets.

The system is based on a relational database with its flight management and reservation functions. We will have a database server supporting hundreds of major cities around the world as well as thousands of flights by various airline companies. Above all, we hope to provide a comfortable user experience along with the best pricing available. A distributed airline database system stores the following information. The major features of airline database system as shown in below entity—relationship model ER model.

The diagram shows the layout of airline database system — entity—relationship model. A route from city A to city B is a sequence of connecting flights from A to B such that: a there are at most two connecting stops, excluding the starting city and destination city of the trip, b the connecting time is between one to two hours.

The system will support two types of user privileges, Customer, and Employee. Customers will have access to customer functions, and the employees will have access to both customer and flight management functions.

The customer should be able to do the following functions:. The Employee should have following management functionalities:. Each flight has a limited number of available seats. There are a number of flights which depart from or arrive at different cities on different dates and time.

Operating environment for the airline management system is as listed below. Let us assume that this is a distributed airline management system and it is used in the following application:. Assuming both the transactions are single transactions, we have designed a distributed database that is geographically dispersed at four cities Delhi, Mumbai, Chennai, and Kolkatta as shown in fig. The airline reservation system maintains information on flights, classes of seats, personal preferences, prices, and bookings.

Of course, this project has a high priority because it is very difficult to travel across countries without prior reservations. Distributed database implies that a single application should be able to operate transparently on data that is spread across a variety of different databases and connected by a communication network as shown in below figure. Distributed database located in four different cities. Following are the software used for the flight management online application. This project supports all types of web browsers.

We are using simple electronic forms for the reservation forms, ticket booking etc. The steps involved to perform the implementation of airline database are as listed below.

The E-R Diagram constitutes a technique for representing the logical structure of a database in a pictorial manner. This analysis is then used to organize data as a relation, normalizing relation and finally obtaining a relation database. The basic objective of normalization is to reduce redundancy which means that information is to be stored only once.

Storing information several times leads to wastage of storage space and increase in the total size of the data stored. If a database is not properly designed it can give rise to modification anomalies. Modification anomalies arise when data is added to, changed or deleted from a database table. Similarly, in traditional databases as well as improperly designed relational databases, data redundancy can be a problem. These can be eliminated by normalizing a database.

Normalization is the process of breaking down a table into smaller tables. So that each table deals with a single theme. There are three different kinds of modifications of anomalies and formulated the first, second and third normal forms 3NF is considered sufficient for most practical purposes.

It should be considered only after a thorough analysis and complete understanding of its implications.

If there is extensive damage to a wide portion of the database due to catastrophic failure, such as a disk crash, the recovery method restores a past copy of the database that was backed up to archival storage typically tape and reconstructs a more current state by reapplying or redoing the operations of committed transactions from the backed up log, up to the time of failure.

Security systems need database storage just like many other applications. However, the special requirements of the security market mean that vendors must choose their database partner carefully. Hi, The SRS document is a reflection of your project implementation. It all depends on what technology and features you would provide in the PMS application. Hey sir you are great such a great SRS tomorrow is my SRE paper and alhamdullah i have cleared my queries regarding SRS once again thank u sir keep posting and sharing with us.

Sir i am working on Cloud base project so their is on fixed hardware requirements, So In which manner i need to describe SRS. Hello Sir, please need your help and guideline. Thank you very much for this example. You have any post on that? If you refer to this article, for a web application only hardware requirements would differ.

Now that you have written the general information, it is time to get more specific. Describe the functional requirements in enough detail so developers can get to work and the non-functional requirements like security specifications and performance. Here is where you add use cases to vividly describe how a user will interact with your system.

The last step in creating the draft of SRS document in software engineering is adding any details that could help developers finish the job in the form of appendixes, glossaries of terms, and references. Once you have added enough details to the SRS to describe what the system is supposed to do, it is time to have the stakeholders approve the document. You will most likely have to make a presentation to the people involved in the development process. They may ask for changes, and you will have to update the SRS document based on stakeholder feedback before final approval.

This is a good sign. It means both developers and stakeholders are making the document more precise, so the project is less like to go off track. See also what to include in the custom software development contract.

A use case describes how a user will interact with the system. Writing out use cases forces you to think through what users will do with the software and how it will respond. It is the real-life visualization of the functional requirements. There are specific characteristics that every SRS should have.

By reviewing this list and comparing it to your SRS, you can ensure that it will be a useful document for all stakeholders. An SRS document should be easy to understand. Nothing should be vague, so there are no misunderstandings between stakeholders. The requirements in your SRS document need to be measurable, so the finished product can be validated and verified against the specifications. The requirements should fit the reality of the current environment, including the budget, timeline, and technology.

Because things could change in the working environment, your SRS document should be flexible enough to allow for updates. Everyone on the development team should have access to the document so they can reference it as frequently as necessary.

Requirements need to be precise so that team members do not have to ask for more details. They should all be available in the SRS document. The requirements should fit each other. One section of your requirements document should not conflict with another.

The document should be formatted consistently and used the same terminology throughout. An SRS document should be detailed enough to finish the job, but should not be overly specific, because that might restrict development. A lot of development depends on third-party services that developers have no control over.



0コメント

  • 1000 / 1000