Software Engineering Fundamentals

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/37

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 9:12 PM on 8/5/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

38 Terms

1
New cards

What are the essential elements of good software?

Acceptability, Dependability and security, Efficiency, Maintainability

2
New cards

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

Heterogeneity, Business and social change, Security and trust, Scale software

3
New cards

What is a software engineering code of ethics

A set of rules that serve as a moral guide for software engineers.

4
New cards

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

Initial, managed, defined, quantitatively managed, optimizing

5
New cards

What are the development stages in integration and configuration?

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

6
New cards

List three generic process models that are used in software engineering.

1. Waterfall model

2. Incremental development

3. Integration and configuration

7
New cards

Why has the Scrum agile method been widely adopted in preference to methods such as XP

It focuses on providing a framework for agile project organization, and it does not mandate the use of specific development practices.

8
New cards

List the five principles of agile methods.

Customer involvement, Embrace change, Incremental delivery, Maintain simplicity, People not process

9
New cards

List four questions that should be asked when deciding whether or not to adopt an agile method of software development.

How large is the system that is being developed?

What type of system is being developed?

What is the expected system lifetime?

Is the system subject to external regulation?

10
New cards

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

Managers use the requirements document to plan a bid for the system and to plan the system development process. System test engineers use the requirements to develop validation tests for the system.

11
New cards

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

Functional requirements are statements of services that the system should provide, how the system should react to particular inputs, and how the system should behave in particular situations. Non-functional requirements are constraints on the services or functions offered by the system.

12
New cards

Reasons software requirement elicitation is difficult

Stakeholders often do not know what they want from a computer system.

Stakeholders in a system naturally express requirements in their own terms.

Different stakeholders may express their requirements in different ways.

Political factors may influence the requirements of a system.

The economic and business environment in which the analysis takes place is dynamic.

13
New cards

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

Activity diagrams

Use case diagrams

Sequence diagrams

Class diagrams

State diagrams

14
New cards

What is illustrated in a UML sequence diagram?

A UML sequence diagram illustrates the sequence of interactions that take place during a use case.

15
New cards

What are the two ways in which an architectural model of a system may be used?

As a way of encouraging discussions about the system design.

As a way of documenting an architecture that has been designed.

16
New cards

What is the most important advantage of a client-server architecture?

Servers can be distributed across a network and general functionality can be available to all clients and does not need to be implemented by all services.

17
New cards

What are transaction processing applications?

Transaction processing applications are systems that are designed to process user information from a database, or process requests to update a database.

18
New cards

What are essential tools in a software development platform?

An integrated complier and syntax-directed editing system

A language debugging system

Graphical editing tools

Testing tools

Tools to support refactoring and program visualization

Configuration management tools

19
New cards

Why is it important to specify the interfaces of components that are being developed by a software engineering team?

So that objects and subsystems can be designed in parallel.

20
New cards

How do design patterns contribute to reuse?

Patterns provide ways to describe best practices, good designs, and capture experience in a way that it is possible for others to reuse this experience.

21
New cards

What is the distinction between validation and verification?

Validation: Are we building the right product?

Verification: Are we building the product right?

22
New cards

Briefly summarize the test-driven development process?

Test-driven development is an approach to program development in which you interleave testing and code development. The code is developed incrementally, along with a set of tests for that increment.

23
New cards

What are the stages in the system evolution process and what triggers that process?

Impact analysis, release planning, change implementation, and system release. This process is triggered by change requests.

24
New cards

What tests should be included in object class testing?

Object tests should test all operations associated with the object, set and check the value of all attributes associated with the object, and put the object into all possible states.

25
New cards

What are the strategic options for legacy system evolution?

Scrap the system completely

Leave the system unchnage and continue with regular maintenance

Reengineer the system to improve its maintainability

Replace all or part of the system with a new system

26
New cards

What factors should be assessed to understand the relationship between a system and is environment?

The number and complexity of system interfaces

The number of inherently volatile system requirements

The business processes in which the system is used

27
New cards

What is meant by a regulated system? Give two examples of systems that are regulated.

Regulated systems are systems that are required to operate under specific laws or rules.

A system that is responsible for controlling the autopilot on an airplane

The system that computes the doses of medication that are given to patients at a hospital.

28
New cards

List two system properties that are sometimes considered to be dependability properties, but which are not normally thought of as principal dependability properties.

Repairability

Error tolerance

29
New cards

What are the four stages of reliability testing?

Start by studying existing systems of the same type.

Construct a set of test data that reflect the operational profile.

Test the system using these data and count the number and type of failures.

Compute the software reliability and work out the appropriate reliability metric value.

30
New cards

List four activities that might be included as part of a dependable software engineering process.

Requirements reviews

Formal specification

System modeling

Static analysis

31
New cards

What is a protection system?

A protection system is a specialized system that is designed to protect another system from failure.

32
New cards

Give examples of three policies that may be introduced with the aim of achieving software diversity.

Including requirements that different design methods should be used.

Requiring the use of different tools during development.

Requiring different algorithms to be used in different parts of the system.

33
New cards

What is the difference between a hazard and an accident?

A hazard is a system state that could result in an accident. An accident is what occurs when the potential consequence of a hazard is realized.

34
New cards

Why do the use of formal specification and program verification not guarantee that a system is safe?

The specification my not reflect the real requirements of users.

The proof may contain errors.

The proof may make incorrect assumptions about the system.

35
New cards

What is a safety case?

A safety case is a set of documents that includes description of the system to be certified, information about the processes used to develop the system, and logical arguments that demonstrate that the system is likely to be safe.

36
New cards

Application security vs. Infrastructure security

Application security relates to the security of individual applications or groups of similar applications, while infrastructure security relates to the security of an organization's entire network and all of its systems.

37
New cards

What are the essential elements of an organizational security policy?

The assets that must be protected.

The level of protection that is required for the different types of assets.

The responsibilities of individual users, managers, and the organization.

Existing security procedures and technologies that should be maintained.

38
New cards

Suggest two possible vulnerabilities when login/password authentication is used.

A user's password could be simple and easy to guess.

The users' credentials are stored as unencrypted data.