Software Engineering Midterm

studied byStudied by 1 person
5.0(1)
Get a hint
Hint

What are the essential attributes of good software?

1 / 49

encourage image

There's no tags or description

Looks like no one added any tags here yet for you.

50 Terms

1

What are the essential attributes of good software?

Maintainability, dependability & security, acceptability, efficiency

New cards
2

What are the two fundamental types of software?

Generic products and Customized products

New cards
3

What is software engineering?

The documentation and process of developing software.

New cards
4

What are the four fundamental activities in software processes?

Software specification, software development, software validation, software evolution

New cards
5

What's the difference between software engineering and computer science?

Computer science is more focused on the methods and theories of computers and software systems

New cards
6

What are the four general issues that affect different types of software?

Heterogeneity, Change, Security, and Scale

New cards
7

5 different types of software applications

Embedded systems, web apps/server side, entertainment systems, operating systems, batch processing system

New cards
8

What software engineering fundamentals apply to all types of software systems?

Software process, focus on reliability, importance of reliability, software reuse

New cards
9

Three key characteristics of the engineering of web-based software engineering?

Software reuse, service-oriented systems, rich interfaces

New cards
10

What are the fundamental activities that are common to all software processes?

Software process models, process activities, coping with change, and process improvement

New cards
11

What are the development stages in integration and configuration?

Requirements specification, software discovery and evaluation, requirements refinement, application system configuration, and component adaptation and integratin

New cards
12

What are the principal requirements engineering activities?

Requirements elicitation and analysis, requirements specification and requirements validation

New cards
13

What are the two different approaches to process improvement and change that have been proposed?

System prototyping and incremental delivery

New cards
14

What are the identified levels in the SEI's Capability Maturity Model?

Initial, managed, defined, quantitatively managed, and optimizing

New cards
15

What are the shared characteristics of different agile methods of software development?

The process of specification, design and implementation. Documentation is also minimized.

New cards
16

List the 5 principles of agile methods

customer involvement, embrace change, incremental delivery, maintain simplicity, people not process

New cards
17

3 important agile techniques that were introduced in extreme programming?

Pair programming, refactoring,

New cards
18

What is test-first development?

The tests are written for the code before the actual function is made

New cards
19

What features are normally provided by version management systems?

Build script generation, version control integration, test automation, and documentation generation

New cards
20

What are user requirements and system requirements?

User requirements are the generalities of the system while the system requirements are the actual specifications

New cards
21

What is the distinction between functional and non-functional requirements?

Functional requirements are specific as to how the system should react in situations or what is should not do. Non-functional requirements are constraints on the services or functions often a little harder to really specify

New cards
22

What are the principal stages of requirements engineering?

elicitation and analysis, specification, and validation

New cards
23

What is ethnography and how is it used to in requirements engineering?

Ethnography is simply observing people in their work place and finding out what they need for seeing their everyday interactions

New cards
24

What info should be available in a scenario?

How the system starts, normal flow of events, what can go wrong and how to fix it, how the system ends

New cards
25

How do managers and test engineers use a system requirements document?

They use it to determine if the software meets all the user requirements.

New cards
26

What are the main advantages of using a standard format to specify requirements?

It removes some of the problems of natural language specification and variability is reduced.

New cards
27

What is a use case?

A use case is a way of describing interactions between users and a system using a graphical model and structured text.

New cards
28

three validation techniques

Consistency checks, completeness checks, and realism checks

New cards
29

What is requirements engineering?

It is the managing of evolving requirements and how they be managed.

New cards
30

What perspectives should be used for developing models of a software system?

An external perspective, interaction perspective, structural perspective, and a behavioral perspective

New cards
31

What UML diagrams types do you need to represent the essential features of a system?

Activity diagrams, use-case diagrams, sequence diagrams, class diagrams, and state diagrams

New cards
32

What is a context model?

A model describing the boundaries of the system. What will be developed and what will not

New cards
33

How are activity diagrams used in describing the context of use of a system?

Shows the activities in a process and the flow of control from one activity to another

New cards
34

What is illustrated in a UML sequence diagram?

The interactions between actors and objects of a system

New cards
35

How is generalization is used to simplify models of a system with many similar objects?

We learn about general classes and learn the characteristics for that class and use that information to narrow down objects

New cards
36

What is the basic assumption that underlies event-driven modeling?

The assumption is that a system has a finite number of states and that events may cause a transition from one state to another

New cards
37

The three types of abstract system models that are recommended by the MDA method?

A computation independent model, a platform-independent model, and platform specific model

New cards
38

What is the distinction between validation and verification?

Verification is making sure the software meets its functional and non-functional requirements. Validation is making sure the system meets the customer's expectations.

New cards
39

What is meant by configuration management?

It is concerned with the policies, processes, and tools for managing changing software systems.

New cards
40

What features are normally provided by version management systems?

Version control, system building, change management, and release management

New cards
41

What is a baseline?

It is a collection of component versions that make up a system.

New cards
42

What are two actions that git version management takes to reduce system storage?

A compression algorithm for stored files and they use the notion of pack files where smaller files are combined into a indexed single file

New cards
43

What are the three different platforms that may be involved in a system building process?

The development system includes development tools such as compilers and source code editors, the changes are typically in a private workspace before making changes to the system. The build server builds definitive, executable versions of the system. The target environment is the platform on which the system executes.

New cards
44

What are the two types of signature that may be used to relate source code files and their equivalent object code in a build system?

Modification timestamps and source code backups

New cards
45

What are the objectives of the change management process?

The evolution of the system is controlled and only the most urgent and cost-effective changes are prioritized.

New cards
46

What are the advantages of inspections over testing?

In testing, test code could of overlooked some aspect so the system wouldn't have been thoroughly tested. In an inspection, the system can be reviewed with broader knowledge.

New cards
47

The three principal stages of testing for a commercial software system?

Development testing, release testing, and user testing

New cards
48

The three important classes of interface errors?

Interface misuse, interface misunderstanding, timing erros

New cards
49

What are the three types of user testing?

Alpha testing, beta testing, and acceptance testing

New cards
50

What is stress testing and why is it useful?

If a system is designed to handle 300 processes per second and you test well beyond that you can ensure it meets that and make checks to make sure it doesn't go past the point of degradation

New cards

Explore top notes

note Note
studied byStudied by 46 people
... ago
4.5(2)
note Note
studied byStudied by 80 people
... ago
5.0(6)
note Note
studied byStudied by 55 people
... ago
5.0(1)
note Note
studied byStudied by 91 people
... ago
5.0(1)
note Note
studied byStudied by 10 people
... ago
5.0(1)
note Note
studied byStudied by 40 people
... ago
5.0(1)
note Note
studied byStudied by 7 people
... ago
5.0(2)
note Note
studied byStudied by 29 people
... ago
5.0(1)

Explore top flashcards

flashcards Flashcard (68)
studied byStudied by 6 people
... ago
5.0(2)
flashcards Flashcard (24)
studied byStudied by 3 people
... ago
5.0(1)
flashcards Flashcard (39)
studied byStudied by 14 people
... ago
5.0(1)
flashcards Flashcard (24)
studied byStudied by 5 people
... ago
5.0(1)
flashcards Flashcard (46)
studied byStudied by 67 people
... ago
5.0(2)
flashcards Flashcard (30)
studied byStudied by 12 people
... ago
5.0(1)
flashcards Flashcard (75)
studied byStudied by 33 people
... ago
5.0(1)
flashcards Flashcard (198)
studied byStudied by 30 people
... ago
5.0(2)
robot