-
What is the difference between a customer and an end-user?
Customer is the one who request the software. End-users are the ones who actually use the software.
-
List the representations needed for requirements and design models?
- Requirements model (aka analysis model)
- functional domain, information domain, behavioral domain
- Design models: architecture, component-level detail, user interface
-
Describe the key elements of construction practice.
1. Coding - concerned w/ the selection of the programming style, language and methods
2. Testing - concerned with software execution to find errors, and ensure that software functions as required by the customers. [Testing involves validation of individual components, verifying the successful integration of components into the system, and acceptance of the completed system by the customer.]
-
Describe the differences between software construction and software deployment.
- Construction is coding/development and testing.
- Deployment is the physical activity to place software in the final server.
-
What are the six steps for requirements engineering?
- 1. inception
- 2. elicitation
- 3. elaboration
- 4. negotiation
- 5. specification
- 6. validation
-
What work products result from the requirements engineering process?.
- The Software Requirements Specification (SRS):
- System Requirement:Helps software engineers better understand the problems they are trying to solve.
User requirement:It is very important to understand the customer's wants and needs before you begin designing or building a computer-based solution.
-
What do you think is the goal of Elicitation activity within the software requirements phase?
To draw out the requirements from the stakeholder.
To understand what the customer and end users want out of the software
-
Describe the job of the requirements engineer with respect to stakeholder collaboration?
To identify areas of commonality in which stakeholders agree and areas of conflict between other stakeholders.
-
What are the benefits of using analysis patterns during the analysis modeling process?
- Speed up the development of abstract analysis models that capture the main requirements of the concrete problem by providing reusable analysis models
- Facilitate the transformation of the analysis model into a design model by suggesting design patterns and reliable solutions for common problems
-
List the types of models that might be used in requirements modeling and explain the role of each type of model
- 1. scenario based model - reqmts from the users point of view
- 2. class-oriented models - represent object-oriented classes and the manner in w/c classes collaborate to achieve system reqmts.
- 3. behavioral and pattern based model - depict how the software behaves as a consequence of external events
- 4. data models - depict information domain for the problem
- 5. flow-oriented model represent the functional elements of the system and how they transform data as they move through the system
-
Describe the purposes of domain analysis.
identify common requirements to reuse in other projects
- Umbrella activity involving the Identification, analysis, and specification of common requirements from a specific application domain, typically for reuse in multiple projects
The intent is to identify the common problem solving elements that are applicable to all applications within the domain
-
Which UML (unified modeling language) diagrams are useful in scenario-based modeling?
- Activity diagrams
- Swim lane diagrams
-
What questions should be asked to help refine a preliminary use case?
- Can the actor take smoother action at this point?
- Is it possible that the actor will encounter some error condition at this point? if so what?
- Is it possible that the actor may experience some other behavior at this point? if so what?
-
What types of nouns resulting from a grammatical parse "should be" considered as potential analysis classes?
- . External entities (People, Devices)
- 2. Things (reports, displays, signals)
- 3. Occurrences/Events (property transfer, series of robot movements)
- 4. Roles (manager, engineer)
- 5. OUs (division, team)
- 6. Places (manufacturing floor, loading docks)
- 7. Structures (sensors, computers)
-
List the characteristics that should be considered when considering potential classes for inclusion in an analysis model
- - Retained information
- - Needed services
- - Multiple Attributes
- - Common Attributes
- - Common operations
- - Essential Requirements
-
Describe the roles of the three sections of CRC (class responsibility collaborator) cards?
- Top of the card - name of the class: identifies the data object uniquely
- Left - class responsibilities: are the attributes and operations for the class
- Right - collaborators are those classes required to provide a class with information needed to complete a responsibility
-
List three types of classes that may be present in the analysis model.
- - Entity Classes
- - Boundary Classes
- - Controller Classes
-
What are the steps needed to build a behavioral model?
- 1- Evaluate all use cases
- 2 - Identify events that driver the interaction sequence
- 3 - Create a sequence for each use case
- 4 - Build a state diagram
- 5 - Review the behavioral model
-
Under what circumstances requirements modeling should be utilized for Web or mobile apps?
If you are not sure you understand the requirements of the problem or product, then requirements modeling should be performed.
-
Which are the metrics used for specifying non-functional requirements?
- 1. Relate to emergent system properties
- 2. Hard to verify
- 3. Product behavior. Speed, reliability, size.
- 4. Organizational: policies and procedures in the customer's and developer's organizations. Process standards, programming languages, delivery standards.
- 5. External: derived from factors external to the system. Other system's interaction, legal requirements, ethical requirements.
-
What is UML?
Unified Modeling Language is a standard language for writing software blueprints;
used to visualize, specify, construct, and document the artifacts of a software intensive system;
-
Which are the most commonly used UML diagrams? Describe them.
"C.U.S.A"
Class diagrams - these diagrams model classes, their attributes, operations and relationships/associations to other classes
Use Case Diagrams - A use case describes how a user interacts with the system by defining the steps required to accomplish a specific goal
Sequence Diagrams - Used to show the dynamic communications between objects during execution of a task
Activity Diagrams - Depicts the dynamic behavior of a system or part of it through the flow of control between actions. Similar to a flow chart except it can show concurrent flows
Deployment diagrams, Communication diagrams, State diagram
|
|