Midterm 2.0 Flashcards
(41 cards)
What is an example of an accuracy non-functional requirement?
The software will correctly predict the winner of a football game at least 75% of the time.
What is an example of maintainability non-functional requirement?
Automated test units must exist for all components.
What do activity diagrams, use case diagrams and sequence diagrams have in common?
They are behavioral diagrams
What design principle represents “every piece of knowledge or logic must have a single, unambiguous representation within a system?
DRY (don’t repeat yourself)
What design principle values simplicity over complexity?
KISS (keep it simple stupid)
What design principle is used often in agile and extreme programming and favours thinking in the present?
YAGNI (you aren’t gonna need it)
What principle states that objects should be initialized when they are created?
RAII (resource allocation is initialization)
What is included in the agile philosophy?
reduce communication barrier, value working software over heavy documentation, respond to customer needs over the contract.
When we say we want to have elegant design, what do we mean? (Dependency Injection Principle)
Our classes shouldn’t depend on concrete details but on abstractions.
In a component diagram, if you have a line coming out with a circle attached, what does that represent?
The circle is an interface that our component is providing.
What are symptoms of software crisis?
Software was inefficient, software was never delivered, software was low quality.
(not an example: software processes were inefficient)
What are the layers of software engineering?
Quality focus (bedrock)
Process (foundation)
Methods (technical how-to’s)
Tools (semi-auto/auto method support)
What is CMMi and the levels?
Puts process stages into 5 maturity groups.
Initial, Managed, Defined, Quantitatively Managed, Optimizing.
What are examples of scrum practices?
self-organizing teams, time-boxed sprints, product backlog, reviews that do not need to be daily.
What are evolutionary software process models?
Iterative, accommodate changes, do not generally produce throwaway systems.
What is the spiral model?
It includes project risks evaluation during each iteration.
What questions are asked at the scrum meeting?
What did you do since last meeting?
What do you plan to do moving forward?
What obstacles are you encountering?
NOT the cause of the obstacles.
What makes a good group meeting?
Having a chair, setting an agenda, documenting the meeting, having tangible action items
What are non-functional requirements of our ATM example?
- nominal withdrawal transaction < 2 min
- defining a failure rate of comparing the pin number entered to the one on the card.
- is open 24/7
What areas does Ozkaya think a software engineer should know?
fundamental knowledge areas, data science, computing hardware, socially responsible engineering
What version control problem does a software like git help solve?
recovering old versions
developing multiple versions of software
merging changes to a software project made by collaborating people
What is Hyrum’s Law?
Whatever you deliver, someone is going to use it in a way you never imagined.
What makes a user story smell?
Adding too many details, splitting too many stories, gold plating
Gold plating: occurs when a project manager or team member believes that a project could be enhanced by an additional feature and includes it without approval.
What is an example of a go- or no-go decision tool?
Proof of concept