Software Engineering Flashcards
Describe a composed relationship
A composed relationship uses “has-a”.
It is denoted by a closed diamond
What is a “uses” relationship?
A uses relationship is an association
What are “is-a” relationships?
The two “is-a” relationships are generalizations and realizations.
What is involved in software requirements engineering?
Feasibility and elicitation are involved in software requirements engineering.
What are the types of requirements?
There are four types of requirements
1) Functional
2) Non-functional
3) Business
4) User
What are some common requirements risks?
Some common requirements risks are gold-plating, overlooked stakeholders and feature creep.
What is requirements management?
Requirements management involves tracking and tracing requirements.
What are the 2 types of CMMI?
The two types of CMMI are
1) Continuous
2) Staged
Continuous analyzes a process capability model and staged analyzes an organizations maturity level.
CMMI improves an organization’s performance and identifies an organization’s strengths and weakness in regards to what?
In regards to project planning and risk management
What are some agile methods?
A few agile methodologies are
Scum
FDD
XP
What is the agile methodology?
The agile methodology is an iterative method that is focused on code rather than specifications
What is Rapid Application Development (RAD)
RAD is a fast waterfall for projects with well-understood requirements
What are general principles of software engineering practice?
Three general Principles of software engineering practice are
1) Simplicity
2) Reuse
3) Readability
What questions do an SRS document answer?
An SRS document answers functionalities, dependencies and performance
What are functional requirements?
Functional requirements specific activities that a system MUST perform
What is the waterfall model?
The waterfall model is a six step process
1) Requirements
2) Design
3) Implementation
4) Testing
5) Deployment
6) Maintenance
What are the seven levels of cohesion from high to low?
Furry Soft Cats Prefer Tinder Love Care
1) Functional
2) Sequential
3) Communicational
4) Procedural
5) Temporal
6) Logical
7) Coincidental
What is requirements engineering?
Requirements engineering is a 4 step process:
1) Elicitation
2) Specification
3) V & V
4) Management
What are the 7 steps in the software development life cycle?
The seven steps in SDLC are:
1) Planning
2) Requirements Analysis
3) Design
4) Implementation / Code
5) Testing
6) Deployment
7) Maintenance
What is the Capability Maturity Model (CMM)
There are five levels in the CMM:
1) Initial
2) Repeatable
3) Defined
4) Managed
5) Optimizing
What are some requirements elicitation methods?
A few techniques for requirements elicitation are
1) Prototyping
2) Requirements workshops
3) Interviews
4) Brainstorming
5) Observation
What are some non-functional requirements?
A few non-functional requirements are scalability, reliability and availability
What is the iterative waterfall model?
The iterative waterfall model provides feedback paths from every phase to its proceeding phases, which is the main difference from the classic waterfall method
What is the software crisis?
The software crisis occurred in 1968. It occurred due to the difficulty of writing code with rapid hardware and complicity.
What is the IEEE definition of software engineering?
The IEEE definition of software engineering is a systematic plan, disciplined control and quantifiable measures.
What are some motivations for selecting a development process?
A few motivations for selecting development processes are:
Change Cost Criticality Deadlines Quality Team
What are the various types of criticality?
1) Life-Critical
2) Mission-Critical
3) Productivity-Critical
4) Non-Critical
What is the spiral model?
The spiral model is used for handling risks.
It is organized into four loops or phases
1) Objectives determination, Identify alternative solutions
2) Identify and resolve risks
3) Develop next version of product
4) Review and plan for the next phase