Font size
WorksheetsSoftware Development Quiz
Total questions: 139
Worksheet time: 1hrs 10mins
Why is UML used?
Because it is a graphic al language that can be used to model object-oriented systems
Because it provides the software development community with a common language
Because it is similar to Java
All of the above
What is the primary purpose of version control in software development?
To track changes in the hardware
To manage and track changes in the source code
To control the power consumption of software
To optimize database performance
Which programming paradigm is focused on treating computation as the evaluation of mathematical functions and avoids changing state and mutable data?
Object-oriented programming
Imperative programming
Functional programming
Procedural programming
What does the term 'API' stand for in the context of software development?
Application Programming Interface
Advanced Programming Interface
Automated Process Integration
Application Process Interface
In the history of software development, what major challenges led to the term 'Software Crisis' in the 1960s?
Issues related to complex software products, including errors and management difficulties.
Overwhelming success in producing complex software products
Efficient organization of software production processes.
Smooth integration of manual and automated development processes.
What is software testing?
Software construction process.
Method to check the correctness and quality of the software.
Software deployment process.
Software maintenance work.
Non-functional requirements include:
Requirements about the product.
Requirements about the product, requirements about the organization, external requirements.
Requirements about the product, requirements about the organization.
All three options are incorrect.
How many steps does the waterfall model of a system have?
6
5
7
8
Agile Software Development is based on which of the following type?
Iterative Development
Incremental Development
Both Incremental and Iterative Development
Linear Development
Which of the following is not a part of Software evolution?
Re-engineering activities
Maintenance activities
Development activities
Negotiating with client
How many software development models are there?
5
3
7
6
What models are included in the linear model?
Prototype model, spiral model, integration model
Waterfall model, prototype model, V-model
Prototype model, V-model, evolutionary model
Prototype model, waterfall model, integration model
Which phase in the Waterfall model focuses on converting requirements into a detailed design?
Maintenance
Implementation
Analysis
Design
What makes the Waterfall model suitable for projects with stable and low-volatility requirements?
Flexibility and adaptability
Following a linear sequence
Depending on team meetings
Using new technologies
In the Waterfall model, which projects are considered complete?
Maintenance
Implementation
Analysis
Deployment
In the Waterfall model, why is it difficult to go back to a previous stage?
Because the architecture is not flexible
Because the requirements are not clear
Due to the development team's lack of understanding
Due to the complicated testing process
Which of the following stages is included in the software engineering process?
Analysis, design, programming, testing, deployment, maintenance
Analysis, design, deployment, programming, testing
Programming, analysis, design, testing, deployment
Programming, analysis, design, deployment, testing
Which of the following is a software development approach that focuses on adaptability and collaboration?
Agile development model
Waterfall development model
Spiral development model
Prototype development model
What is the correct order of stages of system analysis using the waterfall method?
Design, Analysis, Implementation, Deployment, Testing
Analysis, Implementation, Design, Testing, Deployment
Analysis, Design, Implementation, Testing, Deployment
Design, Analysis, Implementation, Deployment, Testing
What are the stages of the Unified Process?
Inception, Elaboration, Construction, Transition
Inception, Construction, Elaboration, Transition
Analysis, Elaboration, Testing, Transition
Design, Inception, Construction, Deployment
A best model to manage software risks is:
The Spiral model.
The Waterfall model.
The incremental model.
The Prototype model.
Prototyping model is often used in:
Proof of concept development.
Full Scale development.
Concurrent development.
Phasing development.
Which software development model is known for its flexibility and adaptability to changing requirements throughout the development process?
Waterfall model
V-Model
Agile model
Spiral model
Which software development model is known for its sequential and linear approach?
Waterfall model
Agile model
Spiral model
Prototype model
Which software development model follows an iterative and incremental approach?
Waterfall model
Agile model
Spiral model
Prototype model
The spiral model of software development
Ends with the delivery of the software product
Is more chaotic than the incremental model
Includes project risks evaluation during each iteration
All of the above
The component-based development model is:
Only appropriate for computer hardware design.
Not able to support the development of reusable components.
Works best when object technologies are available for support.
Not cost-effective by known quantifiable software metrics.
The software testing process includes the following main steps, except one step:
Make a test plan.
Test design.
Perform testing.
Product deployment.
What are the functional requirements of the software?
Requirements related to user interface.
Functions that need to be performed by software.
Software performance requirements.
All choices are correct.
What is a Functional Requirement?
specifies the tasks the program must complete
specifies the tasks the program should not complete
specifies the tasks the program must not work
All of the mentioned
The results of the requirements gathering phase are:
Project cost estimate table.
Software requirements specification document.
Context schema.
Use case diagram and other diagrams.
The final result of the requirements identification and analysis phase is:
SRS documents.
DFD diagram.
Use case diagram.
ERD diagram.
The symbol in figure (iii) represents the relationship:
Extend
Include
Association
Generalization
For a restaurant receptionist, identify the most valid Use Case...
Eat meal
Answer phone
Take booking
Provide ID
Construction iterations are based on?
System Activities
System Use Cases
System Classes
System States
Stakeholders are?
Those who pay for a system
All those who specify and influence requirements
Those who will work with the system
Those who will work on the system
Once classes and attributes have been identified and placed into a diagram, the next stage is to add?
Associations
Operations
Multiplicities
Actors
Which is the longest phase of the Unified Process?
Construction
Transition
Inception
Elaboration
At which stage are conceptual class diagrams used?
Construction
Transition
Inception
Elaboration
Is the above diagram ...
A class diagram
A sequence diagram
An activity diagram
A package diagram
For the diagram shown above, the diamond shapes represent?
A decision point
A fork node
A join node
An operation
For the above diagram, which statement is true?
B, C, D, and E will all be executed
B, D, and E or C, D, and E will all be executed
C, D, and E will all be executed
Either C or B, D and E will be executed
For the above diagram, which statement is true?
D and E will be executed concurrently
D and E will be executed sequentially
D and E will be executed conditionally
All of the above
For the above diagram, swimlanes could be added. These would be added to...
Allow the behavior of different objects to be shown
Allow Use Cases to be included
Allow printing of multiple page diagrams
Allow complex systems to be analyzed
Which of the following is a valid Use Case?
Room Number
Reserve Room
Room
Booking System
For a restaurant receptionist, identify the most valid Use Case...
Eat meal
Answer phone
Take booking
Provide ID
The function of a requirements specification document is to:
Identify what the system needs to do.
Define how the system will perform its functions.
Both options A and B are correct.
Both options A and B are incorrect.
Non-functional requirements include:
Requirements about the product.
Requirements about the product, requirements about the organization, external requirements.
Requirements about the product, requirements about the organization.
All three options are incorrect.
What is the difference between functional and non-functional requirements?
Functional requirements describe how the system should behave, while non-functional requirements specify system qualities.
Functional requirements focus on user interactions, while non-functional requirements focus on system architecture.
Functional requirements are optional, while non-functional requirements are mandatory.
Functional requirements are only relevant during the testing phase.
What diagram is this?
A class diagram
A sequence diagram
An activity diagram
A package diagram
What is the main goal of requirements analysis in software development?
To design the user interface
To identify potential risks
To define the system functionalities
To create test cases
Which technique is used to represent the behavior of a system through scenarios and use cases?
Data flow diagram (DFD)
Sequence diagram
Entity-relationship diagram (ERD)
State transition diagram
Which is the right description about the requirement specification process?
Requirement specification is a process to design the solution to the problem.
Requirement specification is a process that identifies and specifies the problem and possible solutions to the problem.
Requirement specification is a process to identify and specify the problem to solve.
Requirement specification is a process of solving the requirements.
The results of the requirements gathering phase are:
Project cost estimate table
Software requirements specification document.
Context diagram
Use case diagram and other diagrams...
Data flow testing is a control structure testing technique where the criteria used to design test cases is that they
Rely on basis path testing
Exercise the logical conditions in a program module
Select test paths based on the locations and uses of variables
Focus on testing the validity of loop constructs
The final result of the requirements identification and analysis phase is:
SRS documents.
DFD diagram.
Use case diagram.
ERD diagram.
Stakeholders are?
Those who pay for a system
All those who specify and influence requirements
Those who will work with the system
Those who will work on the system
Which of the following is the understanding of software product limitations, learning system related problems or changes to be done in existing systems beforehand, identifying and addressing the impact of project on organization and personnel etc?
Software Design
Feasibility Study
Requirement Gathering
System Analysis
How many technical specifications are there?
5
3 (informal, semi-informal, formal)
7
6
In the sequence diagram -------> represent:
Message
Condition
Iteration
Delete objects (deletion)
________ is defined as the process of generating analysis and designing documents?
Re-engineering
Reverse engineering
Software re-engineering
Science and engineering
For the above diagram, swimlanes could be added. These would be added to...
Allow the behavior of different objects to be shown
Allow Use Cases to be included
Allow printing of multiple page diagrams
Allow complex systems to be analyzed
In order to represent a complicated process you would use?
A Class Diagram
A Use Case diagram
An Activity Diagram
A Venn Diagram
What is the purpose of a Use Case diagram?
Functional decomposition
Identification of functional requirements
To define sequences of actions
To identify multiplicities
A series of actions for a particular Use Case without class behaviors can be modeled using...
A Class Diagram
A Package Diagram
A Sequence Diagram
An Activity Diagram
Which stage of the software development process involves requirements specification?
Requirements analysis.
Design.
Testing.
Implementation.
Which technique is used to describe the behavior of a system using a formal language and mathematical logic?
Use case diagram
Decision table
Finite state machine
Petri net
What is the purpose of a decision table in requirements specification?
To represent the flow of data between system components
To model the interaction between system users and the system
To describe the possible system states and their transitions
To capture complex business rules and conditions
What is a software testing technique?
Regression testing.
Planning testing.
Document testing.
Reporting testing.
In order to represent a complicated process you would use?
A Class Diagram
A Use Case diagram
An Activity Diagram
A Venn Diagram
At which stage are conceptual class diagrams used?
Construction
Transition
Inception
Elaboration
Which of the following is a valid Class name?
Ticket
Ticket sales
Ticket price
John's ticket
Operations are used in a...
Package diagram
Class diagram
Activity diagram
Use Case diagram
Class diagrams are used to model...
Domains
Sequences of activity
Functional requirements
Algorithms
Software design is…?
Both A and B.
Model.
Process.
None of the above.
Which design principle emphasizes that software components should have a single, well-defined responsibility?
Encapsulation
Abstraction
Modularity
Cohesion
Which design pattern is used to provide a simple interface for creating objects of multiple related classes?
Factory method pattern
Singleton pattern
Observer pattern
Prototype pattern
Entity relationship diagram
Provides an image of the relationship between data objects
Provide an image of functions that transform data streams
Point out key logical decisions as they occur
Shows the system's interaction with external events
State transition diagram
Provides images of data objects
Give an image of the data flow transformation function
Shows how the data image is transformed by the system
Shows the system's interactions with external events
Which of the following is the understanding of software product limitations, learning system related problems or changes to be done in existing systems beforehand, identifying and addressing the impact of project on organization and personnel etc?
Software Design
Feasibility Study
Requirement Gathering
System Analysis
In system design, there are several types of architectural models commonly used
4
2
3
1
In system design, there are several design stages?
2
1
3
4
_________ is not a fundamental activity for software processes in software development.
Evolution
Design and implementation
Validation
Verification
When aiming to represent the structural aspects of a system, which OOAD artifact would you choose among the following?
Deployment diagrams
State diagrams
Class diagrams
Collaboration diagrams
In UML, what is the primary purpose of a use case diagram?
To illustrate the dynamic behavior of a system
To visualize the interactions between objects in a system
To depict the distribution of system components
To represent the functional requirements of a system
What is the purpose of architectural design in software development?
Analyzing the problem and selecting the best solution.
Identifying components and their interfaces.
Describing the structure and omitting implementation details.
Creating a design for change.
Which stage of design involves defining data structures for storing problem data?
Abstract specification
Interface design
Component design
Data structure design
_________ is not a fundamental activity for software processes in software development.
Evolution
Design and implementation
Validation
Verification
Object-Oriented Programming (OOP) focuses on which concepts?
Class and object.
Variables and functions.
Arithmetic and mathematics.
Conditional statements and loops
_________ is a software development life cycle model that is chosen if the development team has less experience on similar projects.
Iterative Enhancement Model
RAD
Spiral
Waterfall
What is the main goal of unit testing in software development?
To validate the overall system functionality
To ensure the compatibility of the system with different platforms
To detect and fix defects in individual software components
To evaluate the performance and scalability of the system
Which testing technique is focused on exploring the system's behavior by executing specific test cases?
White-box testing
Black-box testing
Integration testing
Performance testing
The main roles of software testing are:
Software development.
Ensure the security of the software.
Ensure the correctness and quality of the software.
Promote and market software products.
What type of software testing focuses on testing the functions and features of the software?
Unit testing.
Integration testing.
System testing.
Alpha testing.
What is an automated software testing method?
White box testing.
Black box testing.
Acceptance testing.
Functional testing.
What is a non-active software testing method?
Acceptance testing.
Unit testing.
Integration testing.
What is a non-active software testing method?
Acceptance testing.
Unit testing.
Integration testing.
System testing.
What is a popular software testing tool?
Microsoft Word.
Google Chrome.
Adobe Photoshop.
Microsoft Excel.
The objects of software testing are:
End users.
Software developer.
Project managers.
Both a, b and c are correct.
One of the benefits of software testing is:
Save costs.
Create error-free products.
Identify product errors and defects.
All are correct.
Which testing technique relies on functional specifications, is cost-effective, and is relatively easy to perform?
Black-box testing
White-box testing
Functional testing
Structural testing
In the programming step, how will a good programmer write a program?
respectable, easy to understand, easy to maintain and develop
easy to maintain and develop
respectable, easy to understand
All
What are the features of Software Code?
Simplicity
Accessibility
Modularity
All of the above
What is the primary purpose of risk management in a software development project?
To identify and address potential risks that may impact the project.
To increase the complexity of the project.
To ignore potential issues and focus solely on development.
To allocate more resources to speed up the development process.
How popular are object-oriented programming languages?
Calculate expressions based on parameter values.
Process logical expressions to find the correct value.
Use objects, classes, encapsulation, inheritance and polymorphism.
Creating quality software through modularization.
In boundary value testing, what is the main goal?
Checks the ends of the input value range.
Focus on the middle value of the input value range.
Perform unit testing on all components of the system.
Ensure that all variables take acceptable values.
In equivalence class testing, what is the meaning of dividing input classes into equivalence groups?
Reduces testing complexity.
Increases the ability to detect errors in source code.
Define unique input class for each test case.
Ensure that every input value is checked.
What testing techniques are included in the dynamic testing?
Unit testing, Black-box testing
Black-box testing, White-box testing
System testing, Integration testing
Regression testing, Unit testing, Integration testing, System testing
Which criterion evaluates the ease of combining modules to create new systems?
Modular decomposability
Modular composability
Modular understandability
Modular continuity
What is the difference between validation and validation/verification in software engineering?
Validation indicates that the product meets user requirements, while validation/verification indicates that the product meets the required specification.
Validation indicates that the product meets the required specification, while validation/verification indicates that the product meets user requirements.
Validation and validation/verification are two terms that mean the same thing in software engineering.
Validation and validation/verification both indicate that the product meets user requirements.
Which testing technique focuses on examining the internal structure of the source code?
Black-box testing
White-box testing
Functional testing
Structural testing
Which testing activity determines whether components have been integrated correctly and function properly in a real-world environment?
Unit testing
Integration testing
System/validation testing
Regression testing
Which of the following statements is correct?
Testing is about identifying defects and their nature, and fixing them.
Debugging and testing are the same thing.
Testing is about identifying defects.
Debugging is about identifying the nature of defects, while testing is about fixing them.
Black box testing is:
Detecting errors in requirements and functionality specifications. It is easy to perform and has low cost.
Detecting programming errors.
Both A and B are correct.
Detecting errors in requirements and functionality specifications. It is difficult to perform and has high cost.
Which testing technique relies on functional specifications, is cost-effective, and is relatively easy to perform?
Black-box testing
White-box testing
Functional testing
Structural testing
Which testing technique relies on examining code structure and is often associated with activities such as statement coverage and path coverage?
Static testing
Dynamic testing
White-box testing
Structural testing
What term refers to the information or values provided to the software during execution, either manually by a person or automatically by a program?
Test data
Test scenario
Test oracle
Manual testing
What is the primary goal of software testing in the development process?
Writing code
Identifying and fixing bugs
Designing user interfaces
Documenting user needs
What is a 'fault' in the context of software development?
The result of an error
The appearance of a bug in the software
A misconception or misunderstanding during the software development process
The outcome of a failure
Which term represents a situation where the software does not perform as expected or desired?
Fault
Error
Failure
Bug
In the testing process, what does the concept of 'test oracle' refer to?
An automated tool used to perform testing.
A software to record test results.
Process for identifying errors and evaluating test results.
A manual way to compare test results and expected results.
_________ is a software development life cycle model that is chosen if the development team has less experience on similar projects.
Iterative Enhancement Model
RAD
Spiral
Waterfall
In the 'estimation' activity of project management, what factors are considered when estimating costs?
Time, resources, and complexity of the job
Human resources, resources, and software development methods
Costs, resources, and changes in project requirements
Quality requirements, resources, and control processes
Black-box testing tries to find errors
Incomplete or incorrect functionality
Interface errors
Execution errors
All items above
What is the main goal of software validation?
To ensure the system meets the customer's requirements
To implement the system correctly
To reduce development costs
To test the software without planning
What are functional requirements?
Statements of services the system should provide and its behavior in specific situations
Constraints on development such as standards and timing
Requirements from the system's operating domain
Internal software design details
Which of the following is not a stage in the Software Development Life Cycle (SDLC)?
Specification
Design and implementation
Evolution
Deployment review
Which of the following is a characteristic of plan-driven processes?
All process activities are planned in advance
Requirements change frequently during development
There is little documentation involved
Customer collaboration is continuous
Which software process model includes risk assessment in each iteration?
Waterfall Model
V Model
Iterative Model
Spiral Model
Which model is best suited when requirements are unclear and expected to evolve?
Spiral Model
Waterfall Model
V-Shaped Model
RAD Model
Which statement is true about the Incremental Model?
Functionality is delivered in small increments with user feedback
All functions are delivered at the end
It does not allow user involvement
It does not support changes after development starts
What is the Agile Manifesto least concerned with?
Working software
Individuals and interactions
Following a strict project plan
Customer collaboration
According to IEEE 1471:2000, what does software architecture describe?
Components, their relationships, and the principles guiding design and evolution
Source code structure and programming language used
Implementation tools
User interface layout
Why is software architecture important?
It reduces development risks and improves software quality
It only concerns UI/UX decisions
It is optional in agile projects
It simplifies programming tasks
Which of the following is a component of architectural styles?
Documentation
Elements, Connectors, Constraints, Attributes
Modules and Classes
Packages and Libraries
What is a main drawback of Batch Sequential Architecture?
It does not support concurrency and has high latency
It cannot handle large datasets
It lacks modularity
It is not compatible with databases
Which model is most suitable when requirements are fixed and well understood?
Waterfall Model
Spiral Model
Agile Model
Prototype Model
When should you choose Agile development?
When rapid delivery and flexibility are needed
When customer requirements are 100% clear
When documentation is the top priority
When working with unfamiliar technology
What is a key factor when selecting a software development model?
Characteristics of the software and team
Size of the organization
Preferred programming language
Chosen operating system
