 Hello everyone, myself, M.M.A., working in computer science and engineering department as an assistant professor in Valchin Institute of Technology, Swalapur. Today, we are going to discuss the topic functional specifications with the use cases. Learning outcomes are at the end of this session, student will be able to describe functional specification with use cases and describe about the functional and non-function requirements in required analysis specification. First we are going to see what is the functional specification with use cases. Use cases specify the functionality of a system by specifying the behavior of the system captured as interactions of the users with the system. Through use cases are primarily for specifying behavior, they are also be used effectively for analysis. See, every functionality, we can define it by providing the use cases for that scenario. So generally use cases can be used for defined functionality of the subsystem or whole system. Use cases drew attention after they were used as a part of object oriented modeling proposed by Jacobson. So these use cases for the functional specification proposed by Jacobson, due to this connection with an object oriented approach, use cases are sometimes viewed as a part of object oriented approach to software development. However, they are general method for describing the interaction of the system. So how internal and external agents are interacting with the system that can be shown using the use cases. So functional requirements are, see what inputs the system should be, accept, what output the system should produce, what data the system should store that other system might use, what computations the system should perform, the timing and synchronization of the above. So these inputs, outputs, storage, computation, timing and synchronization, these are all the functional requirements. So functional requirements are product features or functions that developer must implement to enable users to accomplish their task. Generally functional requirement describes system behavior under specific conditions. For instance, a search feature allows a user to hunt among various invoices if they want to credit an issue invoice. So any function, any operation, any service that will be shown by using use cases in the functional requirements. Non-functional requirements all constraint the design meet desired quality of quality levels of usability, efficiency, reliability, maintainability and reusability. For example, response time, particularly important for processes that process a lot of data or use networks a great deal. So in client server architecture, we are always send the request from the client and server will be accepting that request and processing the input parameters of that request and the computations can be done at the server side and the result can be sent to the client from the server in the form of response. So request came from the client and response is sent from the server to the client. So requirements might stipulate less than two second response. Response time may be considered a functional requirement for some real time systems. Now we are going to see some quality non-functional requirements. Reliability, typically mean time between failure, MTBF, availability, measure the time application is up and period of downtime when down, recovery from failure, mean time to repair, critical some application, not so far others, checkpoint restarts, autosave, etc. So these are the reliability, failure-free operation, availability, availability, then a recur from failure, these are all the quality non-functional requirements. Now we are going to see what is the meaning of use cases. Use cases describe the interaction between the system and external user that leads to achieving a particular goals. Each use case includes three main elements, actor, system and goal. Actor, these are the user outside of the system that interact with the system. System, the system is described function requirement that define an intended behavior of the product. Goals, the purpose of interaction between the user and the systems are outlined as goals. This is the format of the use case. In the use case, the first overview can be defined. Then the title of the overview can be written here. That is called title of the basic flow use case. Then descriptions can be written, short description of the basic flow. Then actors and interfaces can be written, identify the actors and interfaces to components and service that participate in the use case. Initial status and preconditions, a precondition of use case in the state of system that must present priority use case being performed. Then basic flow of activities can be described in step one, step two. Then post condition can be written here. A post condition is a list of possible states. The system can be in immediately after use case has finished. Alternate flow, alternate flow described that if it is needed. So this is the thorough representation of one format of thorough representation of use case. The next is use case diagram. To model a system, the most important aspect is captured, the dynamic behavior. So use case diagram consists of actors use cases and the relationship. A single use case diagram capture a particular functionality of a system. Hence to model the entire system, a number of use case diagrams are used. Purpose of use case diagram, the purpose of use case diagram as follows. Used to gather the requirements of a system, used to get an outside view of a system, identify the external internal factors influencing the system. Show interaction among the requirements of the actors. So how the internal and external actors or agents can be interacted with the system that can be shown by using the use case diagram. Now how to draw use case diagram? Use case diagram are drawn to capture the functional requirements of a system. The name should be chosen in such a way that it can identify the functionalities performed, get a suitable name of actor, show the relationship and dependencies clearly in the diagram. So first give the name to the use case diagram, show the actor, then functionality of the system, then relationship and dependency shown clearly in the diagram. Now I'm going to ask one question to all the students. All of you pause the video and write the answer. Use case diagrams are drawn to capture the dash requirements of a system. Option A, functional, option B, non-functional, option C, static, option D, none of these. Pause the video and write the answer. The correct answer is functional. Use case diagrams are drawn to capture the functional requirements of a system. Now example of use case diagram. So this is a simple use case diagram of a hotel management system or an order management system. Here actor is the customer and order and special order to use cases. These two use cases are their extents relationship. That is the special order and the normal order. So order use case has extents, extents relationship with special order use case and normal order use case. So order, special order and normal order are three use cases and customer is the actor. So here the customer interacting with the order. Order may be extents with the special order or normal order. Then use case diagram online shopping system. Here customer will be interacting, viewing all the items. Then he will be purchasing the item. Then he will be checkout from the system. And before that, he is logging into the system. So here the authentication identity provider and the credit payment service and PayPal. These are all the administrative people, will be the actors. So customer and these administrative actors will make purchase and complete checkout and login. These are the use case diagram of online shopping system. This is the use case diagram of library system where the books can be, these are the actor and the library person is another actor. And this is the system. Here you can issue the book, return the book and you have to borrow the book. Next this is the use case diagram of research system where researcher and the supervisor actor, first you have to identify the research system, form the research question, form the research hypothesis, collect the data study, analyze the gathered data, develop the prediction model, validate the model, and conclude the results. This is the use case of attendance system where the student and teacher are the actors and check attendance, check timetable, check test score, update attendance and update score are these use cases. So student will be interacting with the checking attendance, checking timetable and checking the test score. And teacher will be updating the attendance and updating the scores. He is interacting in this way to the attendance system. These are the references. Thank you.