Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Various technical methods for refining the system definition in software requirements engineering. It covers topics such as requirements specification, pseudo code, finite state machines, object-oriented modeling, and entity-relationship models. It also discusses quality measures of well-documented software requirements, including unambiguous requirements, completeness of the requirements set, consistency in the requirements set, traceable requirements, and understandable requirements.
Typology: Slides
1 / 28
3
(^) Class Diagram (^) Sequence Diagram
4
5
(^) Pseudo code (^) Finite state machines (^) Decision trees (^) Object Oriented Modeling (^) Entity-relationship models and many others.
6
(^) After On pushed but before Off pushed, system is termed "powered on." (^) After Off pushed but before On pushed, system is termed "powered off,― (^) Since most recent On press, if Count has been pressed an odd number of times, Odd shall be lit (^) Since most recent On press, if Count has been pressed an even number of times, Even shall be lit (^) If either light burns out, the other light shall flash every 1 second.
7 (^) Pseudocode is an artificial and informal language that helps programmers develop algorithms. (^) In the extreme form, pseudo code consists of combinations of: (^) Imperative sentences (^) A limited set, typically not more than 40–50, of "action- oriented" constructed (^) Decisions represented with a formal I F-ELSE-ENDIF structure (^) Iterative activities represented with Loops like DO-WHILE or FOR etc. verbs from which the sentences must be
8
9
Set COUNT (x)= 0 FOR each INPUT X (Button Press) IF COUNT / 2 == 0 THEN SWITCH ON Even Lit ELSE SWITCH ON Odd Lit END
10 (^) Sometimes it's convenient to look the system as a "proposed machine that can be in only one of a given number of 'states' at any specific time". (^) In response to an input, such as data entry from the user or an input from an external device, the machine changes its state and then generates an output or carries out an action. (^) Both the output and the next state can be determined exclusively on the basis of understanding the current state and the event that caused the transition. (^) In that way, a system's behavior can be said to be deterministic; we can mathematically determine every possible state and, therefore, the outputs of the system, based on any set of inputs provided.
11 (^) A popular notation for FSMs is the state transition diagram. (^) In this notation, the boxes represent the state the device is in, and the arrows represent actions that transition the device to alternative states. (^) Figure 1 illustrates state transitions for the light box described earlier.
12 (^) If the requirements that must be refined involve a description of the structure and relationships among entities within the system, it's often beneficial to use Object Oriented Models to fully describe the behavior of the system (^) These diagrams are becoming the part of the Requirement Specification document of the popularity of OOD, OOP and the adoption of UML as a standard becau se (^) Examples (^) Class Diagram (^) Sequence Diagram etc.
13 (^) If the requirements within a set involve a description of the structure and relationships among data within the system, it's often convenient to represent that information in an entity-relationship diagram (^) Entity–relationship model ( ER model ) is a data model for describing a database in an abstract way. (^) Note that the ERD provides a high-level "architectural" view of the data. (^) ERD has the potential disadvantage of being difficult for a non-technical reader to understand.
14
15 (^) It's common to see a requirement that deals with a combination of inputs; different combinations of those inputs lead to different behaviors or outputs. (^) Suppose, for example, that we have a system with five inputs—A, B, C, D, and E— and we see a requirement that starts with a pseudo code-like statement: "If A is true, then if B and C are also true, generate output X, unless E is true, in which case the required output is Y.― (^) The combination of IF-THEN-ELSE clauses quickly becomes twisted, especially if, as in this example, it involves nested IFs. (^) Typically, non-technical users are not sure that they understand any of it, and nobody is sure whether all the possible combinations and permutations of A, B, C, D, and E have been covered. (^) The solution in this case is to list all the combinations of inputs and to describe each one explicitly in a decision table.
17 Quality Measures of Well
18
Stated Requirements
User Needs
19
20
21
22
23
24 (^) A Requirement is modifiable if an only if its structure and style are such that any changes to the requirements can be made easily, completely, and consistently, while retaining the existing structure and style of the set. (^) This requires that the containing package have minimum redundancy and that it be well organized. (^) Requirements will be modified, whether anyone likes it or not; the alternative is a frozen requirements package which is equivalent to a non existing package and a failed project.
25 (^) A Requirement is traceable if an only if the origin of each of its component requirements is clear and if there is a mechanism that makes it feasible to refer to that requirement in future development efforts. (^) This means that the requirements are identified with unique numbers or labels (^) Refers to ability to describe and follow the life of a requirement, in both a forwards and backwards direction (^) Requirements traceability information can be kept in traceability tables, each table relating requirements to one or more aspects of the system