Hey in this lecture, we'll talk about how to capture nonfunctional requirements and also how to validate system requirements. And we'll first talk about how to capture nonfunctional requirements. So what are non functional requirements. Basically a nonfunctional requirement places a constraint on a use case on the system. That means we try to place additional constraints on some functionalities on the system. And these constraints may be related to design quality, for example, reliability, support, ability or maintain ability or documentation. What documentation is required and for who hardware, for example, the implementation platform, memory size, storage capacity, etcetera, etcetera. And implementation, for example, standards language and also error handling or interface, for example, things related to user interface or external system. Management, for example, system backup installation or maintenance. Performance, for example, speed flute, food, response time or accuracy or physical environment, for example, abnormal conditions or distributed operation. If we are talking about a distributed system and also security, for example, system access, data access, or physical access. Now, let's take a look at this example. And in this example we try to specify the non functional requirements for set watch, a satellite watch. And this is the prompt statement for set watch. So now let's try to study the statement life online and try to identify all the non functional requirements. In the first statement, we say that any user who knows how to read a digital watch and understand international time shown observations should be able to use set watch. So what type of non functional requirement is it? Related to interface, and also usability. Because we say that a user who knows how to read a digital watch should be able to use set watch. In an other statement, we say that as set watch has no better than no software thoughts requiring the resetting of the watch should occur. So what type of non functional requirement is it? It's related to design quality, reliability. It should be very reliable. And in the next segment we say that set watch should accept upgrades to its onboard processor via USB interface. So what type of non functional requirement is it? This one is related to design quality support ability. That means somehow set watch should support upgrade via USB. And then set watch should display the correct time song within five minutes of the end of a GPS blackout period. So what type of long functional requirement is it? This one is related to response time, okay. The correct time should be shown within five minutes. And set watch should measure time within one of a 100 seconds over five years. So what type of non functional requirement is it? This one is related to accuracy, okay. Should be very accurate within one of 100 seconds. And set watch should display time correctly in all 24 time zones. So this one is related to performance and it should be correctly displaying the time from 24 different time zones. And then all related software associated with set watch will be written using java. So this one is about implementation and we are talking about the programming language that we're going to use for the software system java. And Set Watch complies with the physical electrical and also software interfaces defined it by Web. If I watch API 2.0 and this one is related to interface because we are talking about the format of the interface that we have to use inset watch. So for non functional requirements, we can either specify the supplementary requirements on top of the use cases that we have defined or on top of the system as a whole. And notice that some of them nonfunctional requirements will be implemented as administration use cases. For example, locking, system startup, system shutdown or system back up. They are for security, and we can specify them as administration use cases. And administration use cases are use cases that deal with non functional requirements, for example, security or system operation or maintenance. And we can specify those non functional requirements using administration use cases.