Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
27 Cards in this Set
- Front
- Back
What is the relationship between Software Engineering and Computer Science? |
Software engineering : concerned with entire process of software production Comp. Sc. : focuses on theory and computer functionality |
|
What are the four essential attributes of good software? |
acceptability -usable & understandable for user dependable and secure -works & secured from malicious users efficiency -proper resource mngmt & responsive maintainability -scales & maintains well |
|
What do we test in each of the three testing stages that occur as part of the validation process? |
-component testing -component making up the system are tested by developers system testing - system components are integrated ,concerned with finding errors dealing with component integration w/ system customer testing - final stage in testing process before the system is accepted for operational use |
|
What does the term "concerned with all aspects of software production" mean when dealing with software engineering? |
- not just concerned with just the program - worried about the entire process - libraries,support, documentation, configuration, data to make the software useful. |
|
Define the four major software engineering process activities |
specification - define what software should do design & implementation - define software & data orginization,implementing system validation - test for bugs/meets requirements evolution - scale-able & maintainable |
|
When is it appropriate to use the waterfall process model of software engineering? |
-Crititacl sytems, aviation or safety equipment -hardware development where high manufacturing costs are involved - plan and schedule all process activities before starting -embedded systems with no interface |
|
When is it appropriate to use the incremental process model of software engineering? |
-when you want to get user feedback -evolve through versions until required system is developed -requirements are likely to change during development process |
|
What are the five principles of agile methods? |
- customer involvement - embrace change - incremental delivery - maintain simplicity - people not process |
|
Which types of software engineering projects are best suited for agile development approaches? |
When requirements are going to change, or incremental releases. |
|
What are the 3 major categories of non-functional requirements? |
product requirements - how much memory app will need, security req. organizational requirement - company policies external requirements - laws,regulations |
|
Which are the main activities in the Requirements Elicitation process? |
discovery & understanding - interact with stakeholders to discover requirements classification & organization - takes discovery and turns into related groups/organization prioritize & negotiation - work out/resolve conflicts documentation - requirements are documented and input into next round |
|
How are open interviews different from closed ? |
closed- stakeholders answer predefined set of questions open - requirements engineering team explores a range of issues with stakeholders to get a better understanding of their needs |
|
What types of data is ethnography able to elicit during requirements discovery? |
-requirements derived from the way ppl actually work, rather than the business process definitions
- requirements derived from cooperation and awareness of others ppls activities. |
|
Described the types of checks recommended to be carried out during requirements validation? |
validity -reflect the real needs of users consistency -ensure req. dont conflict completeness - ensure doc's include & define all functions/constraints realism -ensure requirements can be implemented within budget verifybility - requirements should be written so they can be verifiable |
|
What does use case describe? |
a way of describing interactions between users and a system using a graphical model and structured text
|
|
What does use case diagram describe? |
a set of all the possible interactions that will be described in the system requirements.
|
|
How are includes & extends used in the use case diagrams? |
includes - To represent functional behavior common to more than one use case excludes -represent seldom invoked use cases or exceptional functionality |
|
What is the software process model? |
simplified representation of the software process
- each process model represents a process from a particular perspective - only provides partial information about the process - a sequence of activities that leads to the production of a software product |
|
What are user requirements? |
-you describe the services provided for the user
- where nonfunctional system requirements should be described - product and process standards that must be followed |
|
What are system requirements? |
The functional and nonfuctional requirements in more detail
- further details for the nonfuctional req's - interfaces to other systems may be defined here |
|
What are User stories? |
-narritive text with high level of description -description of how the system can be used for some particular task- describe what ppl do, what info they use and produce,what systems in the process |
|
What is refactoring? |
refactor code as soon as potential code improvements are found
- design it for change - keep simple and maintainable |
|
What is test-first development? |
automated unit testing framework that is used to write tests for a new piece of functionality before its implemented
|
|
What is pair programming? |
programmers work in pairs and develop tests for each task prior to coding taking place
|
|
What is scrum? |
an iterative and incremental agile software development framework for managing product development |
|
What is a sprint? |
cycle in a scrum typically 2-4 weeks
|
|
What is a ScrumMaster? |
responsible for ensuring that the scrum process is followed and guides the team in the use of scrum |