Flashcards
Requirements Engineering
Flashcards do conjunto (81)
- 1In software engineering, what is the most important thing?- Integrity
- 2What are some differences in the Vision and WRS documents?- S from WRS is completely missing in vision document
- Vision document doesn’t describe much about the domain
- Vision document doesn’t have an issues section
- Vision document has no distinction between functional and non-functional requirements - 3What are the 2 things needed to be done in NFRs?- Definitions of each NFR term
o CIA
Confidentiality
Integrity
Availability
- Mechanism going to be used to enforce the requirements (how will they be archived)
o Retinal scan
o Password
o Master card
o (Mission impossible) - 4What are the 2 key issues with the development? SAIC (beltway bandit): Steal the cash flow from the government.- SAIC defines FBI system (no or little user involvement)
- SAIC tries to rebuild a system from scratch (reuse is mandatory but there was little or no reuse) - 5According to the MITRE what are some criticisms of the requirements documentation?- Unique identifier for traceability
- Incompleteness
- Testable
- Consistency
- No DSI algorithm (design team)
- Use “shall” (legal obligation, can be sued)
- Use should/may (non-binding provisions)
- Use will (3rd party or subsequent future release) - 6Software will not be loaded from unknown sources onto the system without first having the software tested and approved What are some criticisms of the requirement stated above according to the MITRE article?- Positive vs. negative (will vs. will not)
- Unknown (/known)
- Tested (/untested)
- Approved (/unapproved)
- 8 different possibilities
- Unique identifier not provided
- The word shall is missing
- Positive/negative requirement
- All possibility not considered
- Critique on specification
o Reference model (no e_v in the specification) - 7Name some qualities of Software Requirements- Correct
- Complete (ontology)
- Consistent
- Unambiguous
- Verifiable
- Ranked for importance and stability
- Modifiable
- Traceable
- Understandable - 8What is Elicitation?- Determine what’s really needed, why needed, whom to talk to acquire as much knowledge as possible
- 9What kind of diagram describes ontology?- Class diagram
- 10What are the ontological primitives?- goals
- agents
- decisions
- rationale
- entities
- activities
- constraints - 11What is the most severe issue in software development?- Incompleteness
- 12What ensures completeness of the model we are building?- Ontology
- 13Who are the cousins to Requirements engineers?- Knowledge engineers
- 14What is the most important thing to knowledge?- Ontology
- 15What is the definition of Ontology?- Ontology is the study of being or existence. It seeks to describe or posit the basic categories and relationships of being or existence to define entities and types of entities within its framework. Ontology can be said to study conceptions of reality.
- Things (individual concepts)
- Relationships between things - 16- The ‘say-do” problem:people know how to do things they normally don’t describe (tacit knowledge); descriptions of such things may be highly inaccurate
- 17What went wrong with the London Stock Exchange?o Implemented what the users said (say-do problem)
o But the users didn’t describe what they needed accurately - 18What elicitation technique was developed to reconcile the London stock exchange mishap?- Ethnomethodology
o People’s method
o Learn by observation - 19(True/False) S achieves R to solve P in D?- False, According to the reference model
- 20What is the most important thing in the vision document?- The problem statements
- The problem statement is the where the problem is defined - 21Where are the stake holders and users listed?- Stakeholder and user profiles
- 22Where are the environments and platforms identified?- User environment
- 23Is there anything wrong with the problem statement of “keeping current on collegiate sports events”?- It is a goal, not a problem
- The problem statement must be negative
- Goal statement should be negative - 24What is it that use case diagrams describe?- Business context
- 25What is it that activity diagrams describe?- Behaviors in the business
- Business workflows - 26What is it that class diagrams describe?- Static structure in the business
- 27What is it that interaction diagrams (sequence and collaboration diagrams) describe?- The dynamic interaction between employees and things that they manipulate
- 28What is it that component diagrams describe?- The architecture
- 29What is wrong with the activity diagram? More specifically, what is wrong with the state “Resolve Conflicts”?- How do we know we will be able to resolve the conflict?
- There should be an arrow from delete course to update schedule before it goes to the final state. - 30What are the System Specifications?- 3 wares
o Software
o Hardware
o Peopleware - 31What is the difference between a stick man symbol and a stick man symbol with a line through their head?- Stick man is a software system actor who interacts with the software
- Stick man with a line through its head is a business actor and may never interact with the software - 32What is the difference between the oval symbol and the oval symbol with a line through it?- The oval is a service or function the software will offer
- The oval with a line through it is a realization that may or may not use the software system - 33(true/false) Sequence diagrams have nothing to do with the system?- False,
- 34What is the smallest kind of class Diagram?- ERD
- 35What kind of requirements can be discussed using ERD?- Informational requirements
- 36Are UML Diagrams like flow charts?- No flow diagrams are purely sequential whereas UML offers concurrency
- Flow charts have no divide and conquer whereas UML offers decomposition - 37What is the relationship between instructor and course? And what symbol would connect them in a class diagram?- Association
- An arrow with a solid tail and an open arrowhead (>) - 38What kind of relationship would a arm have to a body? And what symbol would be used to connect them in a class diagram?- Composition because the arm is part of the body
- Solid line with a filled in diamond head - 39What are the different types of functional requirements?- Structural Functional Requirements
- Behavioral Functional Requirements - 40What is ERD?- Entity Relational Diagram
- 41What is ERD used for?- ERD is purely informational, information-oriented, it shows how you will be storing your data
- 42(True/False) Process is one key discriminate between software engineering and computer science- True
- 43What is the Ontology of DFDs?- The essential vocabulary or concepts (Ontology)
- Process
o A process transforms incoming data flow into outgoing data flow
- Data Store
o Data stores are repositories of data in the system. They are sometimes also referred to as files
- Data flow
o Dataflows are pipelines through which packets of information flow. Label the arrows with the name of the data that moves through it
- External entities
o Object outside the system, with which the system communicates. External entities are sources and destinations of the system - 44Describe what a context diagram is.- Top level (level 0) data flow diagram. It only contains one process node (process 0) that generalizes the function of the entire system in relationship to external entities
- 45What are the rules and leveling for a Data flow diagram (DFD)?- Rules
o All names must be unique
o Not a flow chart – no order is implied
o No logical decisions
o Don’t get bogged down in detail
- Leveling
o Preserve the number of inputs and outputs between levels (information continuity constraint) - 46What is structured English?- A language and syntax, based on the relative strengths of structured programming and natural English, for specifying the underlying logic of elementary processes on DFDs.
- 47What is the formula to a decision table?- #values^#conditions
- 48(True/False) In DFD the leaf level is actual, and the root node is component diagram, so we actually produce executable code chunk.- True
- 49What are the differences between DFD and Flowcharts?- Processes on DFDs can operate in parallel
- DFDs show the flow of data through a system
o Flowcharts show the flow of control
- Processes on one DFD can have dramatically different timing
o Processes on flowcharts are part of a single program with consistent timing - 50What does SADT stand for?- Structured Analysis and design technique
- 51What is a SADT and what types of diagrams can it produce?- Actigrams
o Boxes: happenings – activities, operations, processing, events
o Box label starts with a verb
- Datagrams
o Boxes: things – entities, objects, data, information, substances
o Boxes label is a noun - 52DFDs and SADTs are what types of documentation?- Informal documentation
- 53What are the syntax rules for IDEF0?- Control feedback shall be shown as “up and over”
- Input feedbacks shall be down and under
- Mechanism feedbacks shall be shown as down and under - 54What is Integration definition for Function Modeling (IDEF0) used for?- Reference modeling
- Information modeling
o ERD describes the data
o Generalization/specialization - 55What is IDEF0?- Method for modeling functions
o Graphics (diagrams)
o Text (glossary & narrative)
- Provides both a process and a language for constructing a model of the decisions, actions, and activities in an organization
- Closely resembles an actigram from SADT - 56What does GORE stand for?- Goal-Oriented Requirements Engineering
- 57Describe the decomposition of Goals into sub goals- Goals initially stated from the client are incrementally refined into subgoals
- Traditionally AND/OR decomposition
o AND
To satisfy the parent, satisfy all its descendants
o OR
To satisfy the parent, satisfy any of its descendants - 58True/False) Data structures and algorithms are often used in Prolog?- False
- 59What is the executable specification of Prolog?- To develop rapid prototypes
- To validate requirements - 60What is a draw back to developing in Prolog?- Prolog runs very slowly, it s better for validation and prototyping but should be implemented in C# or Java
- 61(true/false) If you do not define the meaning of NFR, developers have the right to ignore the statements- True
- 62What is a softgoal?- No clear cut definition and or criteria as to whether it is satisfied or not; NFRs are subjective, relative, and interdependent
- No optimal solution - 63What is satisficing?- One softgoal can contribute positively or negatively, fully or partially, towards other softgoals (i.e., achieved not not absolutely but within acceptable limits)
- 64What is the ontology of the SIG?- Softgoal types
o NFRs (Security)
o Operationalizing (Password)
o Claim (support/explaining a choice) <- O.J.’s laywers argue that the claim has nothing to do with the act
- Formal Softgoals := Priority type
- Contribution types
o AND
o OR - 65What are the symbols for NFRs, operationalize, and claims in a SIG?- NFRs are a thin cloud
- Operationalize is a bold cloud
- Claim is a outlined cloud - 66What are the symbols in a closed world assumption?- In a closed world assumption we know everything about the world
- (check) to satisfice
- (x) denied
- (lightning bolt) conflicting
- (u) undetermined - 67What are the symbols in an open world assumption?- In an open world assumption, we may not know everything about the world
- (W+) weakly satisfice
- (W-) weakly denied
- (lightning bolt) conflicting
- (u) undetermined - 68What does Microsoft’s Six (6) sigma reliability mean?- They claim to 99.9999% reliability
- If there are 100,000,000 lines of code
o 0.0001 % of the code is erroneous
o 10,000 estimated lines are erroneous
- “there is no reliable model to estimate software reliability - 69What is the definition of reliability?- The ability of the system to behave consistently in a user-acceptable manner when operating within the environment for which the system was intended
- 70What is the formula for reliability of hardware?- Availability = [MTTF/(MTTF + MTTR)] * 100%
- MTBF (mean time between failures)= MTTF + MTTR - 71How does the Bebugging process work?- Known, seeded bugs are put into the system
- We see how many bugs can be caught by testers
- We use this ratio as a proportion to the system
- # of detected seeded bugs/# of seeded bugs = # of detected bugs/ # of bugs in the system - 72Calculate the reliability of a system that has 100,000 lines of code. A Bebugging processes was implemented and of the 10 seeded bugs 6 out of the 120 bugs found were from the seeded bug collection. How many estimated bugs are in the system and what is the Reliability of the system?- 6/10 = 114/(x)
- x = (114 * 10)/6
- x = 190
- Reliability
o 190 – 114 = 76 errors left in the system
o (100,000 – 76)/100,000 = the reliability - 73Are there any notable issues with the bebugging reliability metric?- Yes, according to the Plato principle, if you have 100 errors, 20 of them may be serious
- 74What is ontology?- The branch of philosophy that deals with being
- What exists in reality?
- What are essential things in reality?
o Entities, activities, constraints, goals, agents, roles, rationales - 75What is Epistemology?- ¬the division of philosophy that investigates the nature and origin of knowledge
- A theory of the nature of knowledge - 76In KAOS, uses operationalizing to do what?- Operationalizing, re-expressing NFRs in terms of FRs
- 77What are the two parts the KAOS?- Semi-formal goal structing model
- Formal definitions for each entry in (linear) temporal logic
o First order predicate calculus - 78In the semi-formal KAOS model, what doe the leaves represent?- The leaves are how things are maintained
- 79The KAOS-formal goal model is a continuation of the Reference Model. What are the formulas of the KAOS-formal goal model?- S, Ac, D |= R with S, Ac, D |=/= false
- R, As, D |= G with R, As, D |=/= false
- Ac, is the set of accuracy goals
- As is the set of assumptions (expectations) - 80What is the formal definition of liveness and safety?- Liveness: Something good should eventually happen
o [](P -> Q), achieve P -> <>Q
- Safety: Anything bad should not happen
o Avoid: [](P -> -Q) - 81Imagine you express a reference model as a stop light. Give the p and qs for liveness and safety if someone were to press the button to try and cross- Liveness: {P -light is red, Q – light is green}
- Safety: {P- the light is green (up/down), Q – the light is green (left/right)
Informações
- Descrição
- 2 Computer Science FlashCards sobre Requirements Engineering, criado por James Herd em 21-11-2019.
- Criado por
- James Herd
- Visualizações
- 1
- Avaliação