• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/27

Click to flip

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