Font size
WorksheetsSoftware Engineering
Total questions: 154
Worksheet time: 3hrs 34mins
This is the product of two words, software, and engineering.
Software Engineering
Computer programs
Engineering
Software
This is a collection of integrated programs.
Computer
Software
Algorithm
Engineering
It is subsists of carefully-organized instructions and code written by developers on any of various particular computer languages.
Engineering
Computer program
Software
Software Engineering
It is the application of scientific and practical knowledge to invent, design, build, maintain, and improve frameworks, processes, etc.
Software
Computer Program
Software Engineering
Engineering
Have to analyze user needs, company necessities, budget, and the style to develop and implement a software system resolution that supports those demands.
Software Engineers
Programmer
Engineer
Software Engineer
It is an engineering branch related to the evolution of software product using well-defined scientific principles, techniques, and procedures. The result of software engineering is an effective and reliable software product.
Software
Engineering
Software Engineer
Software Engineering
Big software is always complicated and challenging to progress. Software engineering has a great solution to reduce the complication of any project. Software engineering divides big problems into various small issues. And then start solving each small issue one by one. All these small problems are solved independently to each other.
To decrease time
To minimize software cost
Reduces Complexity
Handling big projects
Software needs a lot of hardwork and software engineers are highly paid experts. A lot of manpower is required to develop software with a large number of codes.
Effectiveness
To minimize software cost
To decrease time
Reduces complexity
Anything that is not made according to the project always wastes time. And if you are making great software, then you may need to run many codes to get the definitive running code.
To decrease time
Reliable software
Effectiveness
Handling big projects
Big projects are not done in a couple of days, and they need lots of patience, planning, and management.
Effectiveness
Reliable software
Handling big projects
Reduces complexity
Software should be secure, means if you have delivered the software, then it should work for at least its given time or subscription
Reliable software
Effectiveness
Handling big projects
Software development
It comes if anything has made according to the standards.
Handling big projects
Reliable software
Effectiveness
Software Validation
It is the set of activities and associated outcome that produce a software product. Software engineers mostly carry out these activities.
Software Process
Software Engineering
Software Development
Software Validation
The functionality of the software and constraints on its operation must be defined.
Software Evolution
Software Specifications
Software Development
Software Validation
The software to meet the requirement must be produced.
Software specifications
Software Validation
Software Evolution
Software Development
The software must be validated to ensure that it does what the customer wants.
.Software Development
Software Evolution
Software Specifications
Software Validation
The software must evolve to meet changing client needs.
Software Evolution
Software Specifications
Software Development
Software Validation
This is a specified definition of a software process, which is presented from a particular perspective.
Workflow Model
Dataflow or Activity Model
Software Process Model
Role/Action Model
This shows the series of activities in the process along with their inputs, outputs and dependencies.
Role/Action Model
Dataflow or Activity Model
Workflow Model
Software Process Model
This represents the process as a set of activities, each of which carries out some data transformations.
Dataflow or Activity Model
Workflow Model
Role/Action Model
Software Process Model
This means the roles of the people involved in the software process and the activities for which they are responsible
Software Process Model
Workflow Model
Dataflow or Activity Model
Role/Action Model
This takes the above activities and produces them as separate process phases such as requirements specification, software design, implementation, testing, and so on. After each stage is defined, it is "signed off" and development goes onto the following stage.
Formal Transformation
Waterfall Approach
Evolutionary Development
System Assembly from Reusable Components
This method interleaves the activities of specification, development, and validation. An initial system is rapidly developed from a very abstract specification.
Waterfall Approach
Formal Transformation
Evolutionary Development
System Assembly from Reusable Components
This method is based on producing a formal mathematical system specification and transforming this specification, using mathematical methods to a program.
System Assembly from Reusable Components
Formal Transformation
Waterfall Approach
Evolutionary Development
This method assumes the parts of the system already exist. The system development process target on integrating these parts rather than developing them from scratch.
Waterfall Approach
System Assembly from Reusable Components
Evolutionary Development
Formal Transformation
Software is becoming more expensive and more complex with the growing complexity and expectation out of software. For example, the code in the consumer product is doubling every couple of years.
Size
Quality
Cost
Delayed Delivery
Many software products have poor quality, i.e., the software products defects after putting into use due to ineffective testing technique. For example, Software testing typically finds 25 errors per 1000 lines of code.
Size
Cost
Quality
Delayed Delivery
Software development is costly i.e. in terms of time taken to develop and the money involved. For example, Development of the FAA's Advanced Automation System cost over $700 per lines of code.
Delayed Delivery
Size
Cost
Quality
Serious schedule overruns are common. Very often the software takes longer than the estimated time to develop, which in turn leads to cost shooting up. For example, one in four large-scale development projects is never completed.
Delayed Delivery
Cost
Quality
Size
______ is more than programs. Any ______ is a subset of software, and it becomes software only if documentation & operating procedures manuals are prepared.
Software, Program
Program, Software
Software, Hardware
Hardware, Program
It is a combination of source code & object code.
Program
Documentation
Operating Procedures
Flowchart
It is consists of different types of manuals. Examples of documentation manuals are: Data Flow Diagram, Flow Charts, ER diagrams, etc.
Operating Procedures
Program
Documentation
Flowchart
It consist of instructions to set up and use the software system and instructions on how react to the system failure.
Flowchart
Documentation
Program
Operating Procedures
It (also termed process model) is a pictorial and diagrammatic representation of the software life cycle.
Software Process Model
Software Life Cycle Model
Life Cycle Model
Workflow Model
It is a spiritual model used in project management that defines the stages include in an information system development project, from an initial feasibility study to the maintenance of the completed application
Workflow Model
Software Development Life Cycle (SDLC)
Role/Action Model
Dataflow or Activity Model
It is a continuous software development model in which development is seen as flowing steadily downwards (like a waterfall) through the steps of requirements analysis, design, implementation, testing (validation), integration, and maintenance.
RAD Model
Waterfall Model
Spiral Model
V-Model
It is the process is an adoption of the waterfall model; it targets developing software in a short period.
Data Modeling
RAD or Rapid Application Development
Waterfall Model
V-Model
It is similar to the iterative model in its emphasis on repetition. It goes through the planning, design, build and test phases over and over, with gradual improvements at each pass.
Waterfall Model
RAD Model
Spiral Model
V-Model
In this type of SDLC model testing and the development, the step is planned in parallel. So, there are verification phases on the side and the validation phase on the other side.
Waterfall Model
V-Model
RAD Model
Spiral Model
It is not a separate model. It is necessarily a series of waterfall cycles. The requirements are divided into groups at the start of the project.
Waterfall Model
Incremental Model
V-Model
Spiral Model
It is a practice which promotes continues interaction of development and testing during the SDLC process of any project.
Agile Methodology
Incremental Method
Agile Method
V-Method
It is the entire project is divided into small incremental builds. All of these builds are provided in iterations, and each iteration lasts from one to three weeks.
V-Model
Agile Methodology
Agile Method
Spiral Model
It is a particular implementation of a software development life cycle that focuses on an initial, simplified implementation, which then progressively gains more complexity and a broader feature set until the final system is complete.
Iterative Model
Big Bang Model
V-Model
Spiral Model
A model that is focusing on all types of resources in software development and coding, with no or very little planning. The requirements are understood and implemented when they come
Iterative Model
Big Bang Model
Agile Model
Spiral Model
It starts with the requirements gathering. The developer and the user meet and define the purpose of the software, identify the needs, etc.
Prototype Model
Big Bang Model
Iterative Model
Spiral Model
It is the average time between repairable failures of a technology product.
MTTR (mean time to recovery or mean time to restore)
MTTR (mean time to repair)
MTBF (mean time between failures)
MTTR (mean time to resolve)
It is the average time it takes to repair a system (usually technical or mechanical).
MTBF (mean time between failures)
MTTR (mean time to resolve)
MTTR (mean time to recovery or mean time to restore)
MTTR (mean time to repair)
It is the average time it takes to recover from a product or system failure.
MTBF (mean time between failures)
MTTR (mean time to repair)
MTTR (mean time to resolve)
MTTR (mean time to recovery or mean time to restore)
It is the average time it takes to fully resolve a failure.
MTTR (mean time to resolve)
MTTR (mean time to respond)
MTTA (mean time to acknowledge)
MTTR (mean time to repair)
It is the average time it takes to recover from a product or system failure from the time when you are first alerted to that failure.
MTBF (mean time between failures)
MTTA (mean time to acknowledge)
MTTR (mean time to respond)
MTTR (mean time to repair)
It is the average time it takes from when an alert is triggered to when work begins on the issue. This metric is useful for tracking your team’s responsiveness and your alert system’s effectiveness.
MTTA (mean time to acknowledge)
MTTF (mean time to failure)
MTTR (mean time to repair)
MTTR(mean time to respond)
It is a software quality assurance activity that focuses on the identify cation and assessment of potential hazards that may affect software negatively and cause an entire system to fail.
Software Safety
Safety
Software Quality Assurance
Hazard
It is important to note that MTBF and related measures are based on ______, not wall clock time.
Scheduled time
Clock time
CPU time
Eastern Time Zone
It describes quality assurance elements in generic terms that can be applied to any business regardless of the products or services offered.
ISO 9001
ISO 9000
ISO 2000
ISO 2015
Hardware fails because of design and manufacturing errors or because components have reached the end of their natural life.
System Failure
Hardware System Failure
Operational Failure
Hardware Failure
Software fails due to errors in its specification, design or implementation.
Software Failure
Software System
Operational Failure
Socio - Technical System
Human operators make mistakes. Now perhaps the largest single cause of system failures in socio-technical systems.
Hardware Failure
Operational Failure
Human Failure
Software Failure
The probability that the system will be up and running and able to deliver useful services to users.
Security
Reliability
Availability
Resilience
The probability that the system will correctly deliver services as expected by users.
Security
Resilience
Reliability
Availability
A judgment of how likely it is that the system will cause damage to people or its environment.
Safety
Security
Reliability
Resilience
A judgment of how likely it is that the system can resist accidental or deliberate intrusions.
Safety
Security
Resilience
Availability
A judgment of how well a system can maintain the continuity of its critical services in the presence of disruptive events such as equipment failure and cyberattacks.
Reliability
Security
Resilience
Safety
It reflects the extent to which the system can be repaired in the event of a failure.
Reliability
Survivability
Repairability
Maintainability
It reflects the extent to which the system can be adapted to new requirements
Maintainability
Survivability
Availability
Safety
It reflects the extent to which the system can deliver services whilst under hostile attack.
Repairability
Error Tolerance
Maintainability
Survivability
It reflects the extent to which user input errors can be avoided and tolerated.
Repairability
Error Tolerance
Maintainability
Security
it is a hardware devices, some of which may be computers; most devices will include an embedded system of some kind.
Equipment
Operating System
Application System
Business Processes
It provides a set of common facilities for higher levels in the system.
ü Communications and data management: middleware that provides access to remote systems and databases.
Organizations
Operating System
Application System
Business Processes
It is a specific functionality to meet some organization requirements.
Business Processes
Organizations
Application System
Operating System
It is a set of processes involving people and computer systems that support the activities of the business.
Operating System
Society
Organizations
Business Processes
It is a higher level strategic business activities that affect the operation of the system.
Operating System
Business Processes
Organizations
Society
It laws, regulation and culture that affect the operation of the system.
Operation System
Society
Organizations
Application System
These are properties of the system as a whole rather than properties that can be derived from the properties of components of a system.
Functional Properties
Emergent Properties
Dependability Properties
Socio-Technical System
It is system (the total space occupied) varies depending on how the component assemblies are arranged and connected.
Repairability
Volume
Reliability
Security
It depends on component reliability but unexpected interactions can cause new types of failures and therefore affect the reliability of the system.
Usability
Safety
Reliability
Security
It is a complex property that cannot be easily measured. Attacks may be devised that were not anticipated by the system designers and so may defeat built-in safeguards.
Reliability
Usability
Security
Repairability
This property reflects how easy it is to fix a problem with the system once it has been discovered.
Usability
Repairability
Security
Reliability
This property reflects how easy it is to use the system. It depends on the technical system components, its operators, and its operating environment.
Security
Usability
Repairability
Operating System
This is the type of emergent properties that appear when all the parts of a system work together to achieve some objective.
Functional Emergent Properties
Non-Functional Emergent Properties
Diversity
Redundancy
These relate to the behavior of the system in its operational environment. They are often critical for computer-based systems as failure to achieve some minimal defined level in these properties may make the system unusable.
Non-Functional Emergent Properties
Functional Emergent Properties
Diversity
Redundancy
To keep more than a single version of critical components so that if one fails then a backup is available.
Operating System
Diversity
Redundancy
Repairability
It provide the same functionality in different ways in different components so that they will not fail in the same way.
Usability
Repairability
Redundancy
Diversity
This is one that does not depend entirely on individual skills; rather can be enacted by different people.
Explicitly Define Process
Well-defined Repeatable Process
Dependable Process
Repeatable Process
A process that has a defined process model that is used to drive the software production process.
Dependencies
Repeatable
Explicitly Define
Dependable Process
A process that does not rely on individual interpretation and judgment.
Dependencies
Dependable Process
Explicitly Define
Repeatable
This is where a mathematical model of the software is created and analyzed.
Design and program inspections
Formal Specification
System modeling
Static analysis
This is where the software design is explicitly documented as a set of graphical models, and the links between the requirements and these models are documented.
System Modeling
Formal Specification
Static Analysis
Test Planning and Management
This is where the different descriptions of the system are inspected and checked by different people.
Static Analysis
System modeling
Design and program inspections
Test planning and management
This is where automated checks are carried out on the source code of the program.
System modeling
Formal specification
Static analysis
Test planning and management
This is where a comprehensive set of system tests is designed.
System modeling
Static analysis
Design and program inspections
Test planning and management
It is often requires certification so both process and product documentation has to be produced.
test-first development
Dependable Software
Agile Process
Up-front requirements analysis
It is also essential to discover requirements and requirements conflicts that may compromise the safety and security of the system.
Test planning and management
Dependable software
Up-front requirements analysis
agile process
It may be defined that incorporates techniques such as iterative development, test-first development and user involvement in the development team.
Static analysis
Up-front requirements analysis
Agile process
System modeling
It is defined as the set of reachable and exploitable vulnerabilities present in a software product.
Operating System
Agile Software
Agile Process
Attack Surface
It is a routine part of system testing.
Software Testing
Security Testing
System Software Testing
System Testing
It spells out the actions to be carried out by each system stakeholder in response to specific attacks.
Software Testing
Software Quality Assurance
Security Risk Management Plan
Incident Response Plan (IRP)
It is a set of activities that can be planned in advance and conducted systematically.
System Testing
Testing
Software Testing
Hardware Testing
It is a documents to the software team’s approach to testing by defining a plan that describes an overall strategy and a procedure that defines specific testing steps and the types of tests that will be conducted.
System Testing
Testing
Software Testing
Test Specification
It refers to the set of tasks that ensure that software correctly implements a specific function.
Validation
Verification
Testing
Software Testing
It refers to a different set of tasks that ensure that the software that has been built is traceable to customer requirements.
Software Testing
Testing
Validation
Verification
It is a process compromises of the verification and validation process of the software code.
The Software Quality Assurance (SQA)
Verification
Validation
Software Testing
It begins at the culmination of integration testing, when individual components have been exercised, the software is completely assembled as a package, and interfacing errors have been uncovered and corrected.
V-Model
Verification testing
Validation testing
Software Quality Assurance (SQA)
It is achieved through a series of tests that demonstrate conformity with requirements.
Software Validation
Software Verification
Software Quality Assurance (SQA)
Software Testing
It is an important element of the validation process is a ______.
Software Validation
Alpha and Beta Testing
Configuration Review
Software Verification
It can be conducted over a period of weeks or months, thereby uncovering cumulative errors that might degrade the system over time.
Software Testing
Beta Test
Acceptance Testing
Alpha Test
It is conducted at the developer’s site by a representative group of end users.
Verification
Validation
Beta Test
Alpha Test
It is conducted at one or more end-user sites.
Beta Test
Alpha Test
Verification
Validation
It is a variation on beta testing that is sometimes performed when custom software is delivered to a customer under contract.
Verification Testing
Customer Acceptance Testing
Software Testing
Validation Testing
It is generally used by developers as part of the development and component testing process.
Software Testing
Alpha and Beta Testing
Static Analysis Tools
Hardware Testing
It consists of a set of programming rules, naming conventions (e.g., Classes should start with capital C) and layout specifications (e.g., Indent 4 spaces towards right).
Coding Standards
Code metrics
Metric Codes
Code Standards
It is basically the measurement of depth of nesting, cyclomatic number and number of lines of code.
Code Standards
Metrics Code
Coding Standards
Code Metrics
It tells us about the effort required to write the code in the first place, to understand the code while making the change, or to test the code using tools or techniques.
Structure Code
Code Standards
Code Structure
Code Metrics
It addresses the sequence in which the instructions are executed.
Data structure
Control flow structure
Data flow structure
Code metrics
It follows the track of the data item as it is accessed and modified by the code.
Data structure
Control flow structure
Data flow structure
Code standards
It refers to the organization of the data itself, independent of the program.
Data Structure
Control Flow Structure
Data Flow Structure
Code Structure
Repetitive work is very boring if it is done manually. People tend to make mistakes when doing the same task over and over.
Ease of access to information about tests or testing
Objective assessment
Greater consistency and repeatability
Reduction of repetitive work
People have tendency to do the same task in a slightly different way even when they think they are repeating something exactly.
Ease of access to information about tests or testing
Greater consistency and repeatability
Objective assessment
Reduction of repetitive work
If a person calculates a value from the software or incident reports, by mistake they may omit something, or their own one-sided preconceived judgments or convictions may lead them to interpret that data incorrectly.
Ease of access to information about tests or testing
Greater consistency and repeatability
Objective assessment
Reduction of repetitive work
Information presented visually is much easier for the human mind to understand and interpret.
Ease of access to information about tests or testing
Objective assessment
Greater consistency and repeatability
Reduction of repetitive work
It is the stage in the software engineering process at which an executable software system is developed.
Software Testing
Software Implementation
Object-Oriented Design Using the UML
Software Design and Implementation
It is made up of interacting objects that maintain their own local state and provide operations on that state.
Object operation
Object-oriented system
Object-oriented program
Object
This processes involve designing object classes and the relationships between these classes.
Object system
Object-oriented system
Object-oriented program
Object-oriented design
The models present complementary views of the relationships between a system and its environment.
Interaction model
System context models and interaction
System context model
Object-oriented system
It is a structural model that demonstrates the other systems in the environment of the system being developed
Dynamic Model
Code model
Interaction model
System context model
It is a dynamic model that shows how the system interacts with its environment as it is used.
Interaction model
Structural Model
System context model
System model
It is derived from ideas put forward by Christopher Alexander (Alexander et al., 1977), who suggested that there were certain common patterns of building design that were inherently pleasing and effective.
Pattern design
Design patterns
Graphic design
Software design
Most modern software is constructed by reusing existing components or systems.
Reduce
Reuse
Configuration management
Host target development
During the development process, many different versions of each software component are created.
Development process
Host-target development
Reuse
Configuration management
Production software does not usually execute on the same computer as the software development environment.
Host-target development
Configuration management
Reuse
Development process
At this level, you don’t reuse software directly but rather use knowledge of successful abstractions in the design of your software.
System level
Abstraction level
Object level
Component level
At this level, you directly reuse objects from a library rather than writing the code yourself.
Abstraction level
Component level
Object level
System level
These are collections of objects and object classes that operate together to provide related functions and services.
Abstraction level
System level
Object level
Component level
At this level, you reuse entire application systems. This usually involves some kind of configuration of these systems.
Component level
Object level
System level
Abstraction level
It is the name given to the general process of managing a changing software system.
Configuration Management
System Management
Configuration System
Management System
It is provided to keep track of the different versions of software components.
Configuration Management
Version Management
System Integration
Problem Tracking
It is provided to help developers define what versions of components are used to create each version of a system.
Problem Tracking
Version Management
Configuration Management
System Integration
It is provided to allow users to report bugs and other problems, and to allow all developers to see who is working on these problems and when they are fixed.
Problem Tracking
System Integration
Version Management
Configuration Management
It is a set of software tools that supports different aspects of software development, within some common framework and user interface.
JAVA
Eclipse
IDE
Software Development Tools
If a component is designed for a specific hardware architecture, or relies on some other software system, it must obviously be deployed on a platform that provides the required hardware and software support.
Component communications
The availability requirements of the system
The hardware and software requirements of a component
Eclipse environment
High-availability systems may require components to be deployed on more than one platform. This means that, in the event of platform failure, an alternative implementation of the component is available.
The availability requirements of the system
The hardware and software requirements of a component
Component communications
High level of communications traffic between components
If there is a high level of communications traffic between components, it usually makes sense to deploy them on the same platform or on platforms that are physically close to one other.
The hardware and software requirements of a component
High-availability systems
Component communications
The availability requirements of the system
It is an approach to software development in which the source code of a software system is published and volunteers are invited to participate in the development process (Raymond, 2001).
Component communications
Open source software
Open source development
Hardware and software requirements
This is the best-known open source product which is widely used as a server system and, increasingly, as a desktop environment.
mySQL
Linux operating system
Apache web server
JAVA
This is a so-called ‘reciprocal’ license that, simplistically, means that if you use open source software that is licensed under the GPL license, then you must make that software open source.
The GNU Lesser General Public License (LGPL)
GNU General Private License (GPL)
GNU General Public License (GPL)
The Berkley Standard Distribution License (BSD)
This is a variant of the GPL license where you can write components that link to open source code without having to publish the source of these components.
GNU Lesser General Private License (LGPL)
GNU General Public License (GPL)
Berkley Standard Distribution (BSD) License
GNU Lesser General Public License (LGPL)
It is a process of executing a program with the intent of finding an error.
Testing
Good Test Case
Successful Test
Successful Good Test
It is one that uncovers an as-yet-undiscovered error.
Good Test
Successful Test
Good Test Case
Testing
It is one that has a high probability of finding an as-yet undiscovered error.
Testing
Good Test Case
Successful Test
Good Test
This is a non-reciprocal license, which means you are not obliged to republish any changes or modifications made to open source code.
GNU General Public License (GPL)
Berkley Source Distribution License (BSD)
Berkley Standard Distribution License (BSD)
GNU Lesser General Public License (LGPL)
A method of identifying the possible causes of a system failure.
MTTF
Fault Tree Analysis
Static Analysis Tools
Real Time Logic
It refers to the design and analysis of software systems that are required to respond to events or inputs within strict timing constraints.
System Analysis Tools
ISO
Real Time Logic
Fault Tree Analysis
They are devoted to quality management.
Real Time Logic
Software Quality Assurance
Fault Tree Analysis
ISO
It is the average time between non-repairable failures of a technology product
MTTF
MTBF
MTTA
MTTR
It is the ratio of time a system or component is functional compared to the total time it is required or expected to function.
Reliability
Survivability
Maintainability
Availability
