Software Engineering

Ace your homework & exams now with Quizwiz!

General process models

waterfall model, incremental development, and reuse-oriented development.

Requirements for a software system set out

what the system should do and define constraints on its operation and implementation.

Requirements management

Business, organizational, and technical changes inevitably lead to changes to the requirements for a software system. ______ is the process of managing and controlling these changes.

What is the difference between software engineering and computer science ?

Computer Science focus on theory and fundamentals; software engineering is concerned with the practicalities of developing useful software.

What are the attriures of good software?

Good software should deliver the required functionality and performance to the user and should be maintainable, dependable and usable.

What is software engineering?

Software engineering is an engineering discipline that is concerned with all aspects of software production.

What are the fundamental software engineering activities?

Software engineering, development, validation and evolution.

Whats the difference between software engineering and system engineering?

System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this more general process.

The requirements engineering process includes

a feasibility study, requirements elicitation and analysis, requirements specification, requirements validation, and requirements management.

I The Scrum method is an agile method that provides

a project management framework.

Extreme programming is a well-known agile method that integrates

a range of good programming practices such as frequent releases of the software, continuous software improvement, and customer participation in the development team.

model

abstract view of a system

The software requirements document is an

agreed statement of the system requirements. It should be organized so that both system customers and software developers can use it.

What is software?

computer programs and associated documentation.

A behavioral perspective

dynamic behavior of the system and how it responds to events.

Different types of software applications

embedded systems, batch systems that the bank uses, entertainment systems, and data collection as well.

Models of the new system are used during requirements engineering to

explain the proposed requirements to other system stakeholders. Engineers use these models to discuss design proposals and to document the system for implementation.

Context models

how a system is being modeled is positioned in an environment with other systems and processes.

Model-driven engineering

is an approach to software development in which a system is represented as a set of models that can be automatically transformed to executable code.

Software engineering

is an engineering discipline that is concerned with all aspects of software production.

Requirements elicitation and analysis

is an iterative process that can be represented as a spiral of activities—requirements discovery, requirements classification and organization, requirements negotiation, and requirements documentation.

Software

is not just a program or programs but also includes documentation.

Software validation

is the process of checking that the system conforms to its specification and that it meets the real needs of the users of the system.

Requirements validation

is the process of checking the requirements for validity, consistency, completeness, realism, and verifiability

Requirements engineering

is the process of developing a software specification.

Essential software product attributes are

maintainability, dependability, security, efficiency, and acceptability.

The fundamental ideas of software engineering are applicable to all types of software systems. These fundamentals include

managed software processes, software dependability and security, requirements engineering, and software reuse.

Social and organisational concerns

may affect the decision on where to position system boundaries.

Activity diagrams

model the processing of data.

Professional societies publish codes of conduct that set out

of behavior expected of their members.

Non-functional requirements

often constrain the system being developed and the development process being used. These might be product requirements, organizational requirements, or external requirements. They often relate to the emergent properties of the system and therefore apply to the system as a whole.

Design and implementation

processes are concerned with transforming a requirements specification into an executable software system.

A structural perspective

show organization and architecture of a system.

Architectural models

show the system and its relationship with other systems.

The fundamental notions of software engineering are universally applicable to all types of system development. These fundamentals include

software processes, dependability, security, requirements, and reuse.

The software process includes all of the activities involved in software development. The high- level activities of

specification, development, validation, and evolution are part of all software processes.

Functional requirements

statements of the services that the system must provide or are descriptions of how some computations must be carried out.

Software evolution

takes place when you change existing software systems to meet new requirements. Changes are continuous and the software must evolve to remain useful.

Agile methods are incremental development methods

that focus on rapid development, frequent releases of the software, reducing process overheads, and producing high-quality code. They involve the customer directly in the development process.

An external perspective

where you model the context or environment of the system.

An interaction perspective

where you model the interactions between a system and its environment, or between the components of a system.

State diagrams

which show how the system reacts to internal and external events.

Sequence diagrams

which show interactions between actors and the system and between system components.

Use case diagrams

which show interactions between actors and the system.

Class diagrams

which show the object classes in the system and the associations between these classes.


Related study sets

NCLEX: Pediatric Nursing CH 30-31: Metabolic, Endocrine, Gastrointestinal Disorders

View Set

Leadership 2 Exam Chapters 5,6,17,23,24,25

View Set

Precision Machining Midterm Exam

View Set