1/156
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
There are universal notations, methods, or techniques for software engineering regardless of the type of software you are developing and the approach needed.
FALSE
According to the author, which are likely explanations for most software failures?
Increase system complexity; Failure to use software engineering methods
Select the essential attributes of good software.
Acceptability; Dependability; Maintainability
Which best describes embedded control systems?
Software control systems that control and manage hardware devices
Software engineering fundamentals applicable to all systems.
Managed/understood development process; Dependability/performance; Manage requirements; Use existing resources
Since the development of the internet, business applications are mostly monolithic single programs.
FALSE
Major change in web-based systems.
Software reuse is dominant
Areas of professional responsibility regarding ethics.
Competence; Intellectual property rights
Engineers should be aware of ethical issues even if not in a formal code.
TRUE
Where customers and engineers define the software & constraints.
Software Specification
Where software is designed and programmed.
Software Development
Where software is checked that it meets requirements.
Software Validation
Where software is modified for new requirements.
Software Evolution
Represents fundamental activities as separate phases.
Waterfall model
System developed as versions adding functionality.
Incremental Development
Approach relying on reusable components.
Integration and Configuration
Method used in safety-critical systems.
Waterfall
Stage of waterfall: "system's services... established with users."
Requirements analysis and definition
Appropriate systems for waterfall.
Embedded systems; Critical systems; Large software systems
Advantages of incremental over waterfall.
Reduced change cost; Easier customer feedback; Early delivery
Downside of incremental development.
System structure degrades as increments added
NOT a type of frequently reused software component.
Custom student project systems
Requirements engineering definition statement.
TRUE
Three main activities in requirements engineering.
Elicitation/analysis; Specification; Validation
Improving processes using maturity models.
Process Maturity Approach
Iterative development reducing overhead.
Agile Approach
Reason companies value rapid delivery.
Business climate changes quickly
Agile principles.
Individuals/interactions; Working software; Customer collaboration; Responding to change
Advantage of user stories: "easy for users to understand/critique."
Advantage
"They are liable to be incomplete."
Disadvantage
"Represent real situations."
Advantage
"Relationship to architecture unclear."
Disadvantage
Agile methods work only for large projects.
FALSE
Difficulty with test-first development.
Programmers may take shortcuts writing tests
Pair programming productivity is greater than sum of individuals.
TRUE
Scrum aspect disrupted by sudden remote work.
Stand-up meeting
Reasons to adopt plan-based methods when scaling agile.
Project planning; Requirements documentation; Design documentation; Risk management
Functional requirements definition.
Functional Requirements
Non-functional requirements definition.
Non-Functional Requirements
Natural language + diagrams for customers.
User Requirements
Detailed system descriptions for contract.
System Requirements
Ambiguities in ticket machine example.
Cards inserted early?; Cancel request?
First chapter of requirements document.
Preface
Example non-functional requirement.
System downtime < 5 minutes per day
Requirements engineering type used by agile.
Incremental
Stakeholders often don't know exactly what they want.
TRUE
Stakeholders of an ATM.
Bank customers; Other-bank customers; Bank employees
Closed interviews definition.
Predefined set of questions
Open interviews definition.
No set agenda
Guidelines for natural language requirements.
Avoid overly technical language; Standard format
Ambiguities do not greatly affect cost.
FALSE
User story template components.
Benefit; Role; Goal
Research questions from paper.
How practitioners perceive user stories; How practitioners use user stories
Stage 1 research method.
Survey
Stage 2 research method.
Interviews
First follow-up interview question.
Describe role of user stories
% respondents not using a template.
15%
Template users say user stories improve deliverable quality.
TRUE
Optional template section important for full benefit.
Benefit
Quality guidelines link to productivity.
TRUE
User stories improve what?
Productivity
Many practitioners are very negative about user stories.
FALSE
Architectural design overlaps with what?
Requirements engineering
Architecture in the small.
Architecture of individual programs
Architecture in the large.
Architecture of enterprise systems with subsystems
Advantages of architecture.
Stakeholder communication; System analysis; Large-scale reuse
Block diagrams are intuitive.
TRUE
Requirements architecture must satisfy.
Functional & Non-functional requirements
Match: Logical view.
Key abstractions as objects/classes
Match: Process view.
Runtime process interactions
Match: Development view.
Software decomposition for development
Match: Physical view.
Hardware layout
API definition.
Method allowing different code to communicate
Most common web API type.
REST
HTTP method to retrieve data.
GET
Status code for success.
200
NOT an API architecture style.
HTML
Partner API definition.
API accessible to orgs with relationship
Which API used for building accessibility information?
Web API
Request parameter definition.
Data modifying API response
What is a 500 error?
Server error
Query parameter definition.
Located after question mark
Program must be defect-free before delivery.
FALSE
Testing detects only presence of errors.
TRUE
Argument for developer testing: knowledge.
In-depth knowledge
Argument for developer testing: speed.
Immediate feedback
Argument against: bias.
Bias and familiarity
Argument against: specialization.
Specialization
Appropriate partitions for catWhiteSpace.
All options (middle, single blank, start/end)
Regression testing purpose.
Check changes didn't break previous code
COTS testing difference.
No access to primary source code
Best scenario for weather station testing.
Meteorologist overlaying cold fronts
Stress testing should degrade how?
Degrade slowly
Benefits of early user involvement.
Real-world feedback; Early bug detection
Ethical focus before release.
Customer trust in reputation
Businesses never need to change working software.
FALSE
Example urgent operational change.
Serious system fault
Problematic evolution situations.
Agile→Plan-based mismatch; Plan-based→Agile mismatch
Old systems still critical.
TRUE
NOT a reason replacing legacy systems is risky.
Creates new roles in org