CSCI 3300 Quiz 1-4

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

What are the principal components of a textual use-case description? - A description of the interactions - The data that is exchanged - The actors involved - The state diagram

- A description of the interactions - The data that is exchanged - The actors involved

What are some essential elements of a design pattern? (Choose all that apply) - A meaningful name - A detailed concrete solution to the problem - A statement of the consequences of applying the pattern - A description of the problem and when the pattern can be applied

- A meaningful name - A statement of the consequences of applying the pattern - A description of the problem and when the pattern can be applied

What perspectives should be used for developing models of a software system? - An external perspective - An interaction perspective - A behavioural perspective - A structural perspective

- An external perspective - An interaction perspective - A behavioural perspective - A structural perspective

What is open-source development? - Any contributor to an open source development may fix bugs and add new features to a system. - The source code of a software system is made publicly available. - Volunteers participate in the further development of the system. - The open source software may not be used in development of a custom software.

- Any contributor to an open source development may fix bugs and add new features to a system. - The source code of a software system is made publicly available. - Volunteers participate in the further development of the system.

What are the claimed benefits of model-driven engineering? - By using powerful generation tools, implementations of the same system can be automatically generated for different platforms. - Engineers can work at a high level of abstraction without concern for implementation details. - Errors are reduced and the design and implementation process is speeded up.

- By using powerful generation tools, implementations of the same system can be automatically generated for different platforms. - Engineers can work at a high level of abstraction without concern for implementation details. - Errors are reduced and the design and implementation process is speeded up.

What are the stages in the requirements change management process? (Select all that apply) - Change implementation - Change analysis and costing - Problem analysis and change specification - Requirements elicitation

- Change implementation - Change analysis and costing - Problem analysis and change specification

How is generalization used to simplify the models of a system with many similar objects? - Common attributes and methods of similar objects are associated with a 'subclass' - Common attributes and methods of similar objects are associated with a 'super-class' - A super-class generalizes all of the objects sharing common attributes/methods - subclasses generalize all of the objects sharing common attributes/methods

- Common attributes and methods of similar objects are associated with a 'super-class' - A super-class generalizes all of the objects sharing common attributes/methods

The difference between software engineering and computer science is: - Computer science focuses on theory and fundamentals - Software engineering is concerned with the practicalities of developing and delivering useful software. - Software engineering is an engineering discipline that is concerned with all aspects of software production. - Software engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering

- Computer science focuses on theory and fundamentals - Software engineering is concerned with the practicalities of developing and delivering useful software. - Software engineering is an engineering discipline that is concerned with all aspects of software production.

What are the stages of preliminary security risk assessment? (Select all that apply) - Control identification - Threat identification - Security requirements definition - Asset value assessment

- Control identification - Threat identification - Security requirements definition - Asset value assessment

Following are principal stages of testing for a commercial software system. (Choose all that apply) - Development testing - User testing - Release testing - Pre-requirement testing

- Development testing - User testing - Release testing

What is true about a pipe and filter architecture? (select all that apply) - It is the same as a clien-server architecture. - A system is organizes into layers, in which a layer provides services to the layer above it - Each processing component is discrete and carries out one type of data transformation. - Commonly used in data-processing applications where inputs are processed in separate stages to generate related outputs.

- Each processing component is discrete and carries out one type of data transformation. - Commonly used in data-processing applications where inputs are processed in separate stages to generate related outputs.

Following are nonfunctional requirements. (select all that apply) - Ease of use - Usability - Portability - Speed

- Ease of use - Usability - Portability - Speed

What are some tools in a software development platform? (Choose all that apply) - Graphical editing tools for UML models - An integrated development environment (IDE) - A language debugger - Testing tools that can automatically run program tests

- Graphical editing tools for UML models - An integrated development environment (IDE) - A language debugger - Testing tools that can automatically run program tests

Some major causes of software failure are: - Advancement in computer hardware - Increased system complexity - Disciplined software development activities - Failure to use software engineering methods

- Increased system complexity - Failure to use software engineering methods

What are some principles of agile methods? - Incremental delivery - Customer involvement - Maintain simplicity - Process not people - Embrace change

- Incremental delivery - Customer involvement - Maintain simplicity - Embrace change

What are three generic process models that are used in software engineering? - Capability Maturity Model - Integration and configuration - The waterfall model - Incremental development

- Integration and configuration - The waterfall model - Incremental development

What are important classes of interface errors? (Choose all that apply) - Interface misunderstanding - Privacy errors - Interface misuse - Timing errors

- Interface misunderstanding - Interface misuse - Timing errors

What are some questions that should be asked when deciding whether or not to adopt an agile method of software development? - Is the system subject to external regulation? - What type of system is being developed? - How large is the system that is being developed? - Is an incremental delivery strategy realistic?

- Is the system subject to external regulation? - What type of system is being developed? - How large is the system that is being developed? - Is an incremental delivery strategy realistic?

Some benefits of incremental development, compared to the waterfall model, are: - It is easier to get customer feedback on development work that has been done. - The cost of accommodating changes to customer requirements is reduced. - More rapid delivery and deployment of useful software to the customer is possible. - All the customer requirements are identified at the beginning of the project.

- It is easier to get customer feedback on development work that has been done. - The cost of accommodating changes to customer requirements is reduced. - More rapid delivery and deployment of useful software to the customer is possible.

Select correct statements related to the Model-View-Controller (MVC) architectural pattern. (select all that apply) - MVC separates presentation and interaction from the system data. - The Model component of MVC manages the system data and associated operations on that data. - The system is structured into three logical components that interact with each other. - The View component of MVC manages user interaction (e.g., key presses, mouse clicks, etc.)

- MVC separates presentation and interaction from the system data. - The Model component of MVC manages the system data and associated operations on that data. - The system is structured into three logical components that interact with each other.

What are some maturity levels in the SEI's Capability Maturity Model? - Improved - Managed - Analyze - Initial - Defined

- Managed - Initial - Defined

Below are some headings of the eight principles in ACM/IEEE Code of Ethics: - Quality - Profession - Client and Employer - Developer - Product

- Profession - Client and Employer - Product

Following are requirements validation techniques. (Select all that apply) - Configuration management - Prototyping - Requirements reviews - Test-case generation

- Prototyping - Requirements reviews - Test-case generation

Name some important agile techniques that were introduced in extreme programming. - Refactoring - Test-first development - Defining development processes - Pair programming - Requirements expressed as scenarios or user stories

- Refactoring - Test-first development - Pair programming - Requirements expressed as scenarios or user stories

The principal stages of the requirements engineering process are - Requirements validation - Requirements elicitation and analysis - Requirements specification - Requirement justification

- Requirements validation - Requirements elicitation and analysis - Requirements specification

Some attributes of good software are: - Security - Dependability - Efficiency - Maintainability

- Security - Dependability - Efficiency - Maintainability

What UML diagram types do you need to represent the essential features of a system? - Sequence diagrams - Activity diagrams - Vertical diagrams - Use case diagrams

- Sequence diagrams - Activity diagrams - Use case diagrams

For what types of system are agile approaches to development particularly likely to be successful? - Capability Maturity Model - Small and medium-sized software product development where the specification is controlled by the software development company. - Custom software development in an organization where there is a clear commitment from customers to become involved in the development process.

- Small and medium-sized software product development where the specification is controlled by the software development company. - Custom software development in an organization where there is a clear commitment from customers to become involved in the development process.

What are the fundamental activities that are common to all software processes? - Software design and implementation - Software validation - Software evolution - Software specification

- Software design and implementation - Software validation - Software evolution - Software specification

In a customized product development, the following phase dominates the cost of software system. - Software design and implementation - Software evolution - Software validation - Software specification

- Software evolution

What are the principal aims of software configuration management? (Choose all that apply) - Supports system integration - Compile and link components to create a system - All developers can access the project code and documents in a controlled way - Find out what components have been changed

- Supports system integration - Compile and link components to create a system - All developers can access the project code and documents in a controlled way - Find out what components have been changed

How do managers and test engineers use a system requirements document? - System test engineers use the requirements document to develop validation tests for the system. - Managers use the requirements document to plan the system development process. - Managers use the requirements document to plan a bid for the system development contract. - System test engineers use the requirements document to develop the design of the system.

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

What should be the principal concerns of system testing? (Choose all that apply) - Acceptance testing, where customers test a system to check that it is ready for deployment. - Testing reusable components and systems to check that they work as expected when integrated into the system. - Beta testing where the software is released to selected users for testing before the formal system release. - Testing the interactions between the components and objects that make up the system.

- Testing reusable components and systems to check that they work as expected when integrated into the system. - Testing the interactions between the components and objects that make up the system.

What are the shared characteristics of different agile methods of software development? - The processes of specification, design and implementation are inter-leaved. - Minimal amount of tool support is used to support the development process. - The system is developed and delivered as a series of increments or versions.

- The processes of specification, design and implementation are inter-leaved. - The system is developed and delivered as a series of increments or versions.

What are some barriers to introducing agile methods into large companies? - There may be cultural resistance if there is a long history of plan-driven development in the company. - The established quality procedures in large companies may be incompatible with the informal approach to documentation in agile methods. - The existing teams may not have the high level of skills to make use of agile methods. - Project managers may be reluctant to accept the risks of a new approach.

- There may be cultural resistance if there is a long history of plan-driven development in the company. - The established quality procedures in large companies may be incompatible with the informal approach to documentation in agile methods. - The existing teams may not have the high level of skills to make use of agile methods. - Project managers may be reluctant to accept the risks of a new approach.

What are some characteristics of transaction-processing applications? (select all that apply) - They are database-centered applications that process user requests for information and update the information in the database. - Transactions can interfere with each other to enforce integrity of database - Integrity of the database is maintained

- They are database-centered applications that process user requests for information and update the information in the database. - Integrity of the database is maintained

Why is it important to specify the interfaces of components that are being developed by a software engineering team? - They provide detailed concrete solutions to the problem - They identify tangible things in the application domain. - Objects and sub-systems can be designed in parallel - Once an interface has been specified, the developers of other parts of the system may assume that the interface will be implemented

- They provide detailed concrete solutions to the problem - Objects and sub-systems can be designed in parallel - Once an interface has been specified, the developers of other parts of the system may assume that the interface will be implemented

What are the principal functions of the 4 layers in a generic layered information system architecture? (select all that apply) - User communications, authentication and authorization - Database and transaction management - Information retrieval and modification - User interface

- User communications, authentication and authorization - Database and transaction management - Information retrieval and modification - User interface

What is the distinction between validation and verification? (Choose all that apply) - Validation: Are we building the right product? - Verification: Are we building the product right? - Validation: Have we created the design document? - Verification: Are there sufficient developers to test the system?

- Validation: Are we building the right product? - Verification: Are we building the product right?

What checks should be applied during requirements validation? (Select all that apply) - Validity checks - Consistency checks - Completeness checks - Realism checks - The verifiability of the requirements should be assessed

- Validity checks - Consistency checks - Completeness checks - Realism checks - The verifiability of the requirements should be assessed

What are some fundamental questions that should be addressed in architectural design? (select all that apply) - What IDE should be used for the programming language? - What architectural style or styles are appropriate? - How will the system be distributed? - Is there a generic application architecture that can be used?

- What IDE should be used for the programming language? - Is there a generic application architecture that can be used?

What are the valid equivalence partitions of input for testing a program which determines the grade of a student based on the following score ranges: (Choose all that apply) A: 90 <= score <= 100; B: 80 <= score < 90; C: 70 <= score < 80; - score: 95 - grade: B - grade: D - score: 101

- score: 95 - score: 101

The levels of SEI's Capability Maturity Model. Question added for study purpose.

1. Initial: Essentially uncontrolled 2. Repeatable: Product management procedures defined and used 3. Defined: Process management procedures and strategies defined and used 4. Managed: Quality management strategies defined and used 5. Optimizing: Process improvement strategies defined and used

The eight principles in ACM/IEEE Code of Ethics. Added for study purposes

1. PUBLIC - Software engineers shall act consistently with the public interest. 2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest. 3. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. 4. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment 5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. 6. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. 7. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues. 8. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession

All stages of preliminary security risk assessment?

Asset identification - Identify the key system assets (or services) that have to be protected. Asset value assessment - Estimate the value of the identified assets. Exposure assessment - Assess the potential losses associated with each asset. Threat identification - Identify the most probable threats to the system assets Attack assessment - Decompose threats into possible attacks on the system and the ways that these may occur. Control identification - Propose the controls that may be put in place to protect an asset. Feasibility assessment - Assess the technical feasibility and cost of the controls. Security requirements definition - Define system security requirements. These can be infrastructure or application system requirements.

System requirements are statements in a language that is understandable to a user of what services the system should provide and the constraints under which it operates. (True/False)

False

The process of managing changes to requirements during requirements specification and after the system has gone into use is called requirement specification. (True/False)

False - Requirements Management

A use-case identifies a typical interaction with a system and the actors (human or computer) involved in that interaction. (True/False)

True

Iterations are usually limited when the waterfall model is used. (True/False)

True

Non-functional requirements are not directly concerned with specific system functions but specify required system properties or place constraints on the system or its development process. (True/False)

True

Which one of the following is not a design guideline for secure systems engineering? o Use redundancy and diversity to reduce risk o Validate all inputs o Avoid a single point of failure o Design based on experience

o Design based on experience

Which one of the following is not a control to enhance system security? o Exposure limitation and recovery o Attack detection and neutralization o Vulnerability avoidance o System and network architecture

o System and network architecture

What is infrastructure security? o Systems and networks are configured to resist attacks o Software is designed to resist attacks o User is authorized to access the system o Application is designed to resist attacks

o Systems and networks are configured to resist attacks

Which one of the following is not an approach to security testing ? o Vulnerability avoidance o Experience-based o Tool-based o Penetration

o Vulnerability avoidance


Set pelajaran terkait

Fire protection systems Chapter 9

View Set

Mitosis and Meiosis: Cell Growth and Division

View Set

International economic integration

View Set

IST 226 Final Exam (most questions included)

View Set

GA History ch 4 (fill in the blank notes, online quiz)

View Set