Cuối cùng, yêu cầu thể hiện nhu cầu của con người. Một doanh nghiệp thấy rằng các khách hàng và người sử dụng nội bộ bắt đầu gửi báo cáo vấn đề về một sản phẩm hiện có, phàn nàn về một số quá trình khó khăn và chậm chạp như thế nào, hoặc thay đổi một thiết bị hoặc một phần mềm để làm việc theo cách họ muốn. | Writing Better Requirement 49 What is an exception An exception event is an unwanted event that takes a system out of its normal operating scenarios. It may be caused by something inside or outside the system. An exception scenario defines the desired response to an exception event. It results in an endstate which is safe and which is wherever possible back at some step in a normal scenario so that users can continue with their work. In other words the goal for an exception scenario is to handle the exception event safely. For example if an order is received with no order number it could simply be rejected it would be better to handle the exception by trying to obtain a number or perhaps by supplying a temporary one to allow order processing to continue. The normal scenario - order is received the number is entered into the database the order goods are assembled. - is then resumed as if the exception had never occurred. In other cases you cannot resume completely normally until remedial action is taken. If there is a fire in an aircraft s engine the immediate procedure is to cut off the fuel and extinguish the fire. With the engine safely stopped - one exception handled - the plane will continue to fly but it is certainly going to land at the nearest suitable airfield instead of completing its flight as planned. Analyzing exceptions A baseline sequence of goals sets the scene for a project defining the results users of a future system want it to achieve. For example a billing system is there to bring in payments. Example getting a late payment But what if a customer does not pay on time The billing system successfully prepares and issues the right bill - and then nothing happens. The system will fail if it can t handle non-payment. Looked at as a user problem non-payment is just another situation with a goal that has to be met. The goal is to handle the exception event the payment didn t arrive. Just like a normal sequence goal an exception-handling goal can be .