Ch4-Ch6.2

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

What is an architectural pattern?

a description of a system organization, such as a client-server organization or a layered architecture.

Scenarios

usually structured with specific information collected as inputs and outputs. They are description of example user interactions with the system.

Organizational requirements

broad system requirements derived from policies and procedures in the customer's and developer's organizations.

MDA method recommends that three types of abstract system models should be produced...

A computation independent model (CIM), A platform-independent model (PIM), and a platform-specific model (PSM).

Two ways to design software architectures?

Architecture in the small and Architecture in the large.

Two ways in which an architectural model of a program is used?

As a way of encouraging discussions about the system design, and as a way of documenting an architecture that has been designed.

Notations for writing system requirements?

Natural language sentences, Structured natural language, Graphical notations, Mathematical specifications.

Are requirements independent?

No, one requirement often generates or constrains other requirements. The addition of a functional requirement could require additional non-functional requirements, and vice versa.

Non-functional requirements

define characteristics and constraints on the services or functions offered by the system. Include timing characteristics, development process constraints, and characteristics of standards.

Problem with domain requirements?

Software engineers may not understand the characteristics of the domain in which the system operates. This could lead to serious requirements conflicts in the installment of the new system.

Domain requirements

derived from the application domain of the system rather than from specific needs of the system. May be new functional requirements, or restrict existing functional requirements.

System requirements

detailed description of what the system should do. The system's functions, services, and operational constraints. Sometimes called the functional specification, this should define exactly what is to be implemented. Could be part of a contract between system buyers and software developers.

Functional requirements when expressed as system requirements?

expand the user requirements and are written for system developers.

MDA focuses on...

the design and implementation stages of software development, whereas MDE is concerned with all aspects of the software engineering process.

Requirements elicitation

to understand the work that stakeholders do and how they might use a new system to help support their work.

Platform-specific models model?

transformations of the platform-independent model with a separate PSM for each application platform. There can be layers of PSM with each layer adding platform specific detail.

Standard format specifying functional requirements, one should consider?

1) A description of the function or entity being specified. 2) A description of its inputs and the origin of these inputs. 3) A description of its outputs and the destination of these outputs. 4) Information about the information needed for the computation or other entities in the system that are required. 5) A description of the action to be taken

Scenario's may include?

1) A description of what the system and users expect when the scenario starts. 2) A description of the normal flow of events in the scenario. 3) A description of what can go wrong and how resulting problems can be handled. 4) Information about other activities that might be going on at the same time. 5) A description of the system state when the scenario ends.

What three questions does a feasibility study answer?

1) Does the system contribute to the overall objectives of the organization? 2) Can the system be implemented within schedule and budget using current technology? 3) Can the system be integrated with other systems that are used?

Requirements elicitation techniques?

1) Interviewing. 2) Observation and ethnography.

Requirements elicitation process parts?

1) Requirements discovery and understanding. 1) Requirements classification and organization. 3) Requirements prioritization and negotiation. 4) Requirements documentation.

Elicitation difficulty comes from?

1) Stakeholders don't know what they want from a computer system. 2) Stakeholders in a system naturally express requirements in their own terms. Their expertise slang may create confusion with requirements. 3) Different stakeholders may express their requirements in different ways. 4) Political factors may influence the requirements of a system. 5) Economic and business environment in which the analysis takes place is dynamic.

To minimize misunderstandings when writing natural language requirements...

1) Standardizing the format makes omissions less likely and requirements easier to check. 2) Mandatory requirements are requirements that the system must support and are usually written using "shall". Desirable requirements are not essential and are written using "should". 3) Use text highlighting to pick out key parts of the requirement. 4) Avoid using jargon, abbreviations, and acronyms.

Validity checks

Check that the requirements reflect the real needs of system users.

Four fundamental architectural views?

Logical, process, development, and physical views.

Choice of architectural style and structure depend on which non-functional requirements of the system?

Performance, Security, Safety, Availability, and Maintainability.

Three main types of non-functional requirements?

Product, organizational, and external.

Metrics for specifying non-functional requirements?

Speed, size, ease of use, reliability, robustness, and portability.

Explicitly designing and documenting software architecture has what three advantages?

Stakeholder communication, System analysis, and Large-scale reuse.

Requirements validation process checks?

Validity, consistency, completeness, and verifiability.

Stories and scenarios

a description of how the system can be used for some task.

Structured natural language

a way or writing system requirements where requirements are written in a standardized way rather than as free-form text. Also use templates to specify system requirements.

Completeness

all services and information required by the user should be defined.

System stakeholders

anyone who is affected by the system in some way, to include anyone who has a legitimate interest in it. Could be end-users, managers, or regulators.

Use cases

are a way of describing interactions between users and a system using a graphical model and structured text. Introduced first in the Objectory method, and now have become a fundamental feature of the Unified Modeling Language (UML).

User requirements

high-level abstract requirements. They are statements in natural language, or diagrams, that describe what services the system is expected to provide to system users. Also, what constraints under which it must operate.

Discovering requirements by?

interacting with stakeholders (elicitation and analysis)

Architecture in the large?

is concerned with the architecture of complex enterprise systems that include other systems, programs, and program components.

Architecture in the small?

is concerned with the architecture of individual programs. As in, concerned with the way that an individual program is broken up into components.

Failing to meet a non-functional requirement can?

mean that the whole system is unusable.

computation independent model models?

model the important domain abstractions used in a system and so are sometimes called domain models.

platform-independent models model?

model the operation of the system without reference to its implementation. Usually described using UML models that show the static system structure.

What are parts of MDE?

model-based requirements engineering, software processes for model-based development, and model-based testing.

Model-driven engineering was developed from the idea...

of model-driven architecture (MDA). This was proposed by the Object Management Group (OMG) as a new software development paradigm.

Non-functional requirements important for critical systems?

reliability, safety, and confidentiality requirements.

Consistency checks

requirements in the document should not conflict.

Consistency

requirements should not be contradictory.

External requirements

requirements that are derived from factors external to the system and its development process.

Functional requirements when expressed as user requirements?

should be written in natural language so that system users and administrators can understand them.

Convert requirements into a standard form by?

specification

Product requirement

specify or constrain the runtime behavior of the software.

Functional requirements

statements of services the system should provide, how the system should react to certain inputs, and how the system should behave in specific situation. Sometimes, states what the system should not do.

check requirements actually define the system that the customer wants by?

validation

Interview, and interview types?

where you talk to people. 2 types, 1) Closed interview (predefined set of questions), and 2) Open interview ( no predefined agenda).

Stories

written as narrative text and present a high-level description of system use. Effective in figuring out the "big picture".


Ensembles d'études connexes

Asian Americans: Growth and Diversity

View Set

lección 7: la tecnología y la ciencia

View Set

Chapter 4 Risk- Operational, Financial and Strategic Risk

View Set

Finance - Ch. 7: Interest Rates and Bond Valuation

View Set

Engineering Graphics - Lecture 1, 2A, 2B

View Set