SSE - Oral Exam Flashcards

(45 cards)

1
Q

What are some elements of a PID?

A

o Finding out and defining the problem to be solved
o Give the project a name
o ID the project sponsor (name, contact info)
o ID the business need – problem being solved
o ID the user roles
o ID high level user requirements
o ID the expected value (feasibility analysis)
 Does the system contribute to the overall objectives of the organization?
 Can the system be implemented using current technology and within given cost and schedule?
 Can the system be integrated with our systems which are already in place?
 Tangible and intangible values
o ID any special issues

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

4 ways to determine the expected value (feasibility analysis)

A

 Does the system contribute to the overall objectives of the organization?
 Can the system be implemented using current technology and within given cost and schedule?
 Can the system be integrated with our systems which are already in place?
 Tangible and intangible values

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are elements of software requirements?

A

o Finding out and defining what is required (functionality and constraints) of the software
o Analyze current situation precisely as possible
o Deliver what software client needs
o Design UI
o Create domain model (analysis model)
o Create requirements spec (SRS) – ensure correct

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

3 elements of an SRS - ensure correct

A

 Legal document
 Specifications must not be ambiguous, incomplete, or contradictory
 Must not have phrases like “optimal” or “98% complete”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Software Engineering definition

A

• An application of the systematic, disciplined, and qualitative approach to the development, operation, and maintenance of software, or the study of.
o Systematic – done or acting to a fixed plan; methodical
o Disciplined – showing a controlled form of behavior or way of working
o Quantifiable – capable of being measured

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Generic phases of the software lifecycle

A

Identification and Definition
o Define the problem, scope, needs of the customer, the risks, finding

Software requirements
o The functions required, the existing environment, any new software or application needed

Software design and implementation
o Develop and test
o Can be done in iterations
o May include regression testing after each iteration

Software validation
o Ensures the product follows the requirements and specifications outlined in the first step
o Test and regression testing
o Make sure meets the specs and the customer’s needs

Deployment and evolution
      o	Hand over to the customer
      o	Maintenance
      o	Training
      o	Updates or changes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

General principles of the software engineering process (10)

A
  • Determine the value
  • KISS
  • maintain a clear vision
  • keep in mind that someone else will need to understand what you are doing or have done
  • Plan on reuse
  • think before acting
  • Things change
  • Design to meet those changes
  • Plan ahead
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Key actions of Elicitation

A

o Identify the product’s expected user classes and other stakeholders
o Understanding user tasks and goals and the business objective with which those tasks align
o Learning about the environment in which the new product will be used
o Working with individuals who represent each user class to understand their functionality needs and their quality expectations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are some Elicitation methods?

A
Workshops / JAD - joint application design
Focus groups
Observations
Questionnaires
System interface analysis
User interface analysis
Document analysis
Prototyping
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

System interface analysis

A

o Analysis of other connecting systems
o Identifies data exchange formats
o Identifies functional requirements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

User interface analysis

A

o Analysis of existing UI
o Identifies user requirements
o Identifies functional requirements
o User-interface requirements

 Special type of non-functional requirements, which addresses the user interface
 Describes the look and feel of the product.
• “The system shall allow user interaction via a touch-screen.”
• “The system shall be judged by 75% of users to be user friendly.”
• “The system shall be ADA compliant.”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Document analysis

A

o Examine the documents that are currently being used – they help identify data elements and processes
o Existing documentation can help reveal how systems currently work or what they are supposed to do
o Can help identify functionality that needs to remain, or isn’t used.
o Can help identify how people do their jobs currently, what competitors offer, and what vendors say their software should do

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

4 steps to create use case documentation

A
  1. Identify the actors in the system
  2. Identify use cases
  3. Create use case descriptions
  4. Create scenarios
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Business requirements

A

Are why the implementation is needed. The business needs the organization hopes to achieve

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

User requirements

A

The tasks and goals the user must be able to perform that will provide value to someone. They’re what the user will be able to do

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Features

A

• These requirements consist of one or more logically related system capabilities that provide value to a user and are described by a set of functional requirements

  • A feature is typically a set of requirements
  • They can be represented using a feature tree
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Analysis Model Elements (4)

A

System Model
o Represents a high-level view of the system architecture and the actors

Data Model (class diagram)
o	The domain objects and their relationships
Functional Model (sequence diagram)
o	The operations that transform data
Behavioral Model (state-machine diagram)
o	The behavior of the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

System modeling - use case

A
  • Use a package to represent the system
  • Show the actors and their relationships
  • Show the information flow
  • Use stereotypes where appropriate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

6 signs that requirements are stabilizing when

A
  • Users can’t think of new use cases
  • New scenarios don’t lead to new functional requirements
  • Users are repeating issues already addressed
  • Suggested features, user requirements, or functional requirements are out of scope
  • New requirements are all low priority
  • Developers and testers raise few questions when reviewing requirements
20
Q

High Level Sequence Diagram

A
  • Can be used to analyze user interactions with the system

* Shows the time ordering of the interactions between the user and the system

21
Q

Characteristics of a good requirements document (8)

A
  • Correct – every requirement stated is one that the software shall meet
  • Unambiguous – every requirement has only one interpretation
  • Complete – all significant requirements; definitions of all responses to all input data; full labels and references
  • Consistent – must agree with higher level documents
  • Ranked for importance and/or stability – each requirement has an identifier to indicate the importance or stability of that requirement
  • Verifiability – every requirement is verifiable (testable)
  • Modifiable – the structure and style of the SRS can be changed easily
  • Traceable – the origin of each requirement is clear and facilitates the referencing of each requirement in future documentation
22
Q

Functional requirements

A

o Describes the computational operations of the system in terms of its inputs, outputs, and actors.

o Describes required behavior in terms of required activities, such as reactions to inputs, and the state of each entity before and after an activity occurs. – Pfleeger & Atlee

23
Q

What are Non-functional requirements?

A

o Describes some quality characteristic that the software solution must possess. – Pfleeger & Atlee
o Define the overall qualities or attributes of the resulting system. – K & S
o Taxonomy - Sommerville

24
Q

Formal methods

A

A particular kind of mathematically rigorous techniques for the specification, development and verification of software and hardware systems

  • Involve complex math and proofs rather than ambiguous language
  • A modeling language (e.g. Z) is used, which makes this an expensive and sometimes complicated process
  • The testing involves proofs as part of the testing
  • Best for critical projects such as safety
  • Requires a developer experienced in the language
25
Semi-formal techniques for detailed specifications
* BNF – static description – Extended Backus-Naur form * Class Diagrams * Storage requirements * Pseudocode * Decision tables * State machine diagrams * Activity diagrams * Data flow diagrams
26
Why is V&V important?
Requirement error costs are high. Concerned with assuring that the specified requirements define the system that the customer really needs
27
Requirements validation? People involved?
Certifies that the software requirements specification document is an acceptable description of the system to be implemented People involved: System stakeholders, requirements engineers, and system designers
28
What are 5 Validation techniques?
Inspections o Most widely used technique of requirements validation o Involve a group of people who read and analyze the requirements, look for problems, meet and discuss the problems, and agree on actions to address these problems ``` Ambiguity reviews o A requirement is ambiguous if there are multiple interpretations of that requirement  The missing else problem  Reference ambiguity  Ambiguities of omission  Logical operator of ambiguity  Negation ambiguity  Ambiguous statements  Ambiguities of built-in assumptions – don’t assume the knowledge of the reader ``` Conflict reviews o Requirements conflict – the stakeholders involved must negotiate to resolve the conflict Prototyping o Demonstrate the requirements and help stakeholders discover problems Test case/scenario development o Correctness – is this what the client means? Both client and analyst should review
29
How to determine Quality? (5)
Reliable - consistency leads to high quality products Robust – can accommodate unanticipated changes in tools and environment Productive – produces results Evolvable – can accommodate new management and organization technologies Reusable – can be applied across projects and organizations
30
Verification vs Validation
Verification Products of given phase satisfy conditions imposed at start of phase Are we building the system right? Quality control Validation Ensure software meets specs, system testing, acceptance testing Are we building the right system? Quality assurance
31
Build and fix model Pros Cons
``` • Basic and starts with getting the needs form the customer • The product is then built and if it meet the needs, then gets deployed, otherwise, modifications take place and then checked again until meets the specs • Pros o Good for small projects o Simple and easy to use • Cons o Not suitable for large projects o Hard to manage o Not organized ```
32
Evolutionary models? Examples?
* Are both incremental and iterative * The main concept is to build a functional project * Then adding changes or functions as needed * Iteration means small releases and if the releases are functional, are incremental ``` Examples o Incremental development o Rational unified development o Prototyping o Spiral method ```
33
What is CMMI?
Capability Maturity Model Integration • Provides businesses with essential components of effective processes to improve their performance • Identifies the business’ strengths and weaknesses and provides process changes to turn weaknesses to strengths
34
CMMI Staged representation
* Provides a predefined set of process areas to define the organizations’ maturity level * The maturity level characterizes the organizations’ capabilities and performance
35
CMMI Continuous representation
* Allows organizations to select a specific process area to improve its capability level * The capability level is the organization’s capability and performance in a specific area
36
CMMI 5 maturity levels – classify organizations
``` 1 – Initial 2 – Managed 3 – Defined 4 – Quantitatively managed 5 – Optimizing ```
37
CMMI 5 capability levels – process inside of organization
0 – Incomplete – the product hasn’t started or is incomplete 1 – Performed – the product is started but does not function well. It has some benefit, but not without overspending and heroics 2 – Managed – managed processes for developing – steps are being tracked and are defined. Also includes 0 and 1 functions 3 – Defined – a better understanding of each step and its purpose. Also a better understanding of where it fits with the business needs. Also including 2, 1, & 0 functions 4 – Quantitatively managed – research help define the process and the needs. Stratistics are gathered to ensure positive product outcome. Managed steps with a clear vision for each step. Also includes function of 3, 2, 1, & 0. • 5 – Optimizing – seeks improve – continual learning of what works and what doesn’t work. Continually searching for more efficient methods using past experience and research to make changes to the process to increase positive project outcome
38
Software
set of instructions that tells the computer to accomplish some task
39
Software Crisis
difficulty of writing useful and efficient computer programs in the required time. The crisis is due to a hardware evolving at a pace too quick to keep up
40
Symptoms of a software crisis
* Overbudget project * Late projects * Inefficient software – wasteful or slow * Low quality software * Software that did not meet the requirements * Unmanageable projects * Difficult to maintain code * Never delivered software
41
Process
a series of actions or steps to build a product
42
Product
the actual software being created
43
What is the motivation for picking a process for a project
* Reducing costs while increasing quality * The product to be correct and efficient o Correct – for each set of inputs, it results in the correct output o Efficient – the correct output uses minimum resources where resources is speed vs memory o Integrity o Reusable o Maintainable
44
What are 4 critical levels?
* Mission – loss of finance * Safety – leads to loss of safety * Production - productivity * Life – failure leads to death
45
What are the 3 types of Non-Functional Requirements?
Product Requirements • Usability, Efficiency, Dependability, Security Organizational Requirements • Environmental, Operational, Development External Requirements • Regulatory, Ethical, Legislative