Font size
WorksheetsAssignment 01
Total questions: 97
Worksheet time: 49mins
The importance of computer software has grown overtime. What is considered to be the major driving force behind this change?
Radical change in older technologies
Indispensable for all aspects of life, personal and professional
Indispensable for business, science, and engineering
Increase in personal computers
Which of the following is NOT a category of the seven software application domains?
Legacy software
System software
Embedded software
Web/Mobile applications
The IEEE defines software engineering as:
The application of a disciplined approach to the development, operation, and maintenance of software
The application of a systematic, disciplined approach to the development, operation, and maintenance of software
The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software
The application of a systematic and quantifiable approach to the development of software
The generic process framework includes which of the following five activities?
Concept, Planning, Construction, Deployment, Maintenance
Communication, Analyzing, Modeling, Construction, Deployment
Concept, Planning, Modeling, Construction, Deployment
Communication, Planning, Modeling, Construction, Deployment
What is meant by the term “umbrella activity” in the software engineering context?
Provides a method of planning and tracking throughout the project
Provides measurement tools to show how on track the timetable of the project is
Provides software teams with a means of managing progress, quality, change, and risk
Provides tools that help the software project manager determine feasibility of the project
What is meant by the term “Understand the Problem” when related to software engineering?
A concerted effort should be made to understand the problem before a software solution is developed
To listen to all the stakeholders of the problem and filter the content that will be helpful to resolving the problem
To make a list of what is known about the problem in order to align possible solutions to an outcome
To do a full analysis on the problem in order to resolve the issue
Which of the following statements is the BEST explanation for why software is considered to take on a dual role in today’s world?
It has to deal with the product as well as all aspects of the technical aspects of developing it.
The product is still the most important component of development, but some consideration needs to be given to the vehicle for delivering the software.
It is both a product and a vehicle for delivering a product.
The product is paramount with some thought given to what type of platform it will be running on.
From the following which would be the BEST definition to explain software?
Software is both a logical and physical element of the system.
Software is a logical element of the system.
Software is a physical element of the system.
Software is something tangible and can be used in a system.
Fill in the blanks. The following ________ resides within a product or system.
Product-line software
Application software
System software
Embedded software
George Polya outlined the essence of software engineering practice as:
Plan a solution that includes modeling and software design.
Understand the problem, plan a solution, carry out the plan, and examine the result for accuracy.
Understand the problem including the communication and analysis.
Understand the problem, plan a solution, and carry out the plan.
What would be the typical definition of a “stakeholder”?
A stakeholder has some vested interest in the outcome of the software project which can be financially, or workplace invested.
A stakeholder is someone who provides the financial resources for the software project.
A stakeholder is normally people involved at the managerial level of the business or the owner.
A stakeholder is typically the end user of the product.
From the following which BEST explains the term “process flow”?
Describes the execution of each of the five framework activities in sequence, beginning with communication and culminating with deployment.
Describes how activities repeat before proceeding to the next.
Describes how the framework activities and the actions and tasks that occur within each framework activity are organized with respect to sequence and time.
Describes the execution of one or more activities in parallel with other activities.
From the following, select the BEST answer for the following: What are the positives for using the spiral model?
Risk analysis failures doom project
Continuous customer involvement
Project may be hard to manage
Requires expert development team
Which of the following BEST describes “identifying a task set” when discussed within the software engineering development context?
A task set determines a set of tasks for a particular part of the software development.
A task set groups together a set of tasks in order of priority and development.
A task set defines the actual work that needs to be done to accomplish the objectives of a software engineering action.
A task set includes actions such as communication and requirements gathering and puts them into a set of actions.
Fill in the blanks. Many software engineers believe that software processes and activities should be assessed using _________ (metrics).
Numeric measures or software analytics
Numeric measures and software analytics
Numeric outcomes and software analysis
Numeric outcomes but not software analysis
What is meant by the term “prescriptive models”?
Prescriptive models use a formula-based method.
Prescriptive models only work with traditional models.
Prescriptive models are part of the prototyping model.
Prescriptive models describe a set of process elements.
What is meant by the term “linear sequential model”?
A model that deals with each phase entirely before moving to the next phase.
A model that works in a sequential method throughout the software development cycle but cannot return to any previous phase.
A model that allows for phases to be completed in parallel during development.
A model that cannot deal with issues that arise during the development cycle and therefore ignore issues.
The waterfall model is considered the oldest model for software development. What is considered this model’s greatest weakness?
Customers can change their minds throughout the project and it is difficult to incorporate these changes.
Errors in coding may not be determined until the program is up and running.
It can be difficult to completely determine all aspect of the start of the project which can cause an ill-designed or failed end project.
Real projects rarely follow the sequential workflow that the model proposes.
The prototyping model is a popular method for software development. What makes it so popular?
The ability to design and create a working model which the customer can review, which can be used to test against and provides a vehicle for constructive criticism.
The ability to engage stakeholders in the process of interacting with a working model before the entire project is completed.
The ability to test the model for errors before waiting for the entire project to be completed.
The ability to be able to segment the project into smaller parts for faster development.
In what way does the unified process model differ from other models?
The unified process begins by describing the customer’s interaction with the system.
The unified process provides a graphical representation of the system to be designed.
The unified process allows for easy understanding of the different transition stages within the system.
The unified process recognizes the importance of customer communication and streamlined methods for describing the customer’s view of a system.
The agile process is BEST characterized by which of the following?
It attempts to encourage structures and attitudes that make communication more facile.
The ability to adapt to a changing business environment as part of the normal development structure.
It tries to emphasize delivery of operational software and the importance of intermediate work products.
It recognizes that planning in an uncertain world means that a project plan must be flexible.
What is considered one of the major advantages of using agility?
Agile aims to involve the customer in the project and hence produces a customer satisfied product.
Changes can be made anywhere in the project but may affect the final completion date.
Changes made during the testing phase can cause a blow-out of costs.
Changes to the project using the agility method can cause the project to fail.
Which of the following is NOT a principle of agility?
Adaptability to changing requirements.
Continuous attention to technical excellence.
Customer satisfaction.
Ability to measure outcomes.
Scrum principles are used to guide development activities within a process that incorporates the following framework activities:
Requirements, analysis, design, evolution, delivery.
Design, requirements, evolution, distribution.
Proposal, evolution, analysis, delivery
Requirements, analysis, evolution, delivery
Within a scrum, a sprint is a short time-boxed period of time. Which of the following would you classify as a “sprint”?
Work that starts off fast, as in a sprint, but then slows down to a steady pace.
Work that takes place within a relatively short time frame.
Work that has been running at an even pace but then finishes quickly at the end.
Work that races along quickly to a given point irrespective of whether it gets finished.
Which of the following would describe the meaning of a scrum team in software development?
A scrum team is a self-organizing interdisciplinary team consisting of a product owner, a scrum master, and a small development team.
A scrum team is a group of stakeholders invested in the product.
A scrum team is organized by management into an interdisciplinary team in order to complete the software development.
A scrum team is a loose team of people that can come and go in the development stage and often have no formal project title.
Fill in the blanks. The _______ backlog is a prioritized list of product requirements or features that provide business value for the customer whereas the _______ is the subset of product backlog items selected by the product team to be completed as the code increment during the current active sprint.
Scrum and sprint
Scrum and product
Product and sprint
Sprint and development
What is the main purpose of a daily scrum meeting?
The daily scrum meeting allows for discussions on problems found since the last team meeting.
The daily scrum meeting allows the workflow to be synchronized and make plans for the next 24 hours.
The daily scrum meeting asks what progress has been made since the last team meeting.
The daily scrum meeting asks what plans are to be accomplished by the next team meeting.
When would you typically see a sprint review meeting held?
The sprint review occurs at the end of the sprint.
At the end of scrum development but before moving to the next scrum.
At the start of the sprint in order to determine priorities.
Around the midpoint of the sprint to determine if changes need to be made in the project.
Which of the following is a positive for using scrum?
Cost control of changes.
Suitable for large teams.
Owner sets priorities.
Expert team members.
Which of the following statements BEST describes what requirements engineering means?
Requirements engineering is the term for the broad spectrum of tasks and techniques that lead to an understanding of requirements.
Requirements engineering builds a bridge to design and construction.
Requirements engineering encompasses seven tasks: inception, elicitation, elaboration, negotiation, specification, validation, and management.
Requirements engineering uses goals to explain requirements to stakeholders and can be used to manage conflicts among stakeholders.
Which of the following is NOT part of the requirements validation checklist?
Are requirements stated clearly? Can they be misinterpreted?
Is the requirement bounded in quantitative terms?
The software should be user friendly and fully documented.
Has an index for the specification been created?
Which of the following statement is the BEST to answer the following question: Requirements gathering necessitates a collaborative approach of sharing information. Why is this such a difficult aspect of the project development?
Conflict can arise when people express their opinions during a project without consideration of other people’s positions. This will cause conflict within the project team and make communication difficult.
Each project has a desired outcome, but the people involved in working toward that outcome can have different expectations of how they will use the new system. If they don’t feel they are being heard they can cause conflict and derail the project.
Having an expert in charge of the various areas of interest in the project will help deescalate any conflicts that might arise.
Every person involved in the project will bring their own viewpoint to the solution. Dealing with the different personalities, their way of expressing themselves and their expectations can cause conflict. Working to deescalate conflict but still achieve the desired outcome can take skill.
Use cases within the software engineering project tells a story about how the end user interacts with the system. What would be the first step in developing a use case?
The first step would be to develop the story.
The first step would be to define the actors.
The first step would be to define the roles.
The first step would be to determine communication.
Which statement BEST describes an “analysis model”?
The intent of the analysis model is to provide a description of the required informational, functional, and behavioral domains for a computer-based system.
The analysis model will look at the changes within the system to be built and determine how to develop them.
An analysis model will provide a foundation for design tasks.
The analysis model is similar to having a framework that can be used for revision and guidance in developing the software.
Fill in the blank. ________ must be understood before the mechanics of design practice are applied.
Design practice
Design models
Design concepts
Design principles
What is the difference between a UML actor and a UML profile?
A UML actor provides a way of extending an existing model to other domains or platforms whereas a UML profile models an entity that interacts with a system object.
A UML actor models the different viewpoints of a system and a UML profile provides information for each of those viewpoints.
A UML actor provides information for each of viewpoints of the system and a UML profile provides information for each of those viewpoints.
A UML actor models an entity that interacts with a system object and a UML profile provides a way of extending an existing model to other domains or platforms.
Fill in the blank to this question. The ________ encompasses the data that flow into the system, the data that flow out of the system, and the data stores that collect and organize the data that are maintained permanently.
Information domain
Behavior domain
Analysis domain
Information model
Which of the following is NOT considered a criteria for good design in software engineering?
A design should be modular; that is, the software should be logically partitioned into elements or subsystems.
A design should contain distinct representations of data, architecture, interfaces, and components.
A design should lead to components that exhibit independent functional characteristics.
A design should be totally self-contained; that is, the software should fit fully within one module.
Which of the following is NOT part of the “requirements definition” for software engineering?
Take time to explain your requirement representation techniques before using them.
Treat the list of features to be implemented like a prioritized list and implement the most important user stories first.
Educate your stakeholders to the technical terms that will be used throughout the project to avoid confusion.
Question the need to maintain models and documents that will not be referred to in the future.
How does the UML model use “sequence diagrams”?
For iteration modeling.
For event modeling.
For interactive modeling.
For behavioral modeling.
What is the difference between a passive state and an active state in UML state diagrams?
A passive state occurs to force an object to make a transition from one active state to another whereas an active state must wait for instruction from the object to react.
A passive state transitions from one active state to another whereas an active state must occur to force an object to make a decision.
A passive state is simply the current values assigned to an object’s attributes whereas an active state of an object indicates the status of the object as it undergoes a continuing transformation or processing.
A passive state of an object indicates the status of the object as it undergoes a continuing transformation or processing whereas an active state is simply the current values assigned to an object’s attributes.
What does the acronym “UML” stand for?
Uniform modeling language.
Unified modeling language.
Universal modeling language.
Unicode modeling language.
Which of the following BEST explains the use of the UML activity diagrams?
The UML activity diagram supplements the use case by providing a graphical representation of the flow of interaction within a specific scenario.
The UML activity diagram uses a computer-based tool to develop activity maps.
A UML activity diagram only displays top-level flows within a scenario.
A UML activity diagram is used instead of a typical use case as it shows a graphical representation of the flow with a scenario.
Which best describes an agile team used during software engineering?
Agile teams are fluid with people changing in and out as needed.
Agile teams are small by design with experts in the project field.
Agile teams are determined by management for the project needs.
Agile teams are made up of all types of people including the stakeholders.
is intended to show that a system conforms to its specification and meets the requirements of the system customer
Debugging
Validation
Programming
Testing
The spiral model is suitable for project
Well-understood
Large and complex
Medium
Small
Software is inherently flexible and can change
Software evolution
Software design
Software specification
Software design and implementation
The process of converting the system specification into an executable system
Software specification
Software validation
Software design and implementation
Software evolution
The process of establishing what services are required and the constraints on the system’s operation and development
Software design and implementation
Software validation
Software specification
Software evolution
Software is defined as
Computer programs
Computer programs and documentation
Applications
Design models
__________ is a discipline that is concerned with all aspects of software production
Software
All of them
Software engineering
System engineering
System engineering is concerned with all aspects of computer-based systems development including
Process engineering
All of them
Software
Hardware
__________ is a set of activities whose goal is the development or evolution of software
Software process
Software
All of them
Software engineering
Generic activities in all software processes are
Validation
Specification
All of them
Evolution
developments
True or False: Software products may be developed for a particular customer or may be developed for a general market
True
False
True or False: Software engineering is concerned with the practicalities of developing and delivering useful software
True
False
True or False: Software engineering is concerned with theory and fundamentals
True
False
True or False: The software should deliver the required functionality and performance to the user and should be maintainable, dependable and acceptable
True
False
True or False: The waterfall model is suitable for large and complex system
True
False
The waterfall model is suitable for ......... Projects
Large and complex
Small
Medium
Well-understood
Both b & d
The key challenges facing software engineering
Delivery
Trust
All of them
heterogeneity
Software systems that are intended to provide automated support for software process activities
Software process model
CASE
Software engineering
Software
Tools to support the early process activities of requirements and design
None of them
LOWER-CASE
UPPER-CASE
Both of them
A simplified representation of a software process, presented from a specific perspective:
Software process model
Software engineering
Software
All of them
............. diagrams illustrate the flow of functionality in a system
Use case
Activity
Class
Statechart
............. relationship allows one use case the option to extend the functionality provided by another use case
includes
assosiation
extends
all of them
Statechart diagrams are created for documentation only, no source code is generated from it.
True
False
....... diagram is used to represent the functionality provided by an organization as a whole
Class
Use Case
Business Use Case
activity
............. diagram represent system functionality, the requirements of the system from the user's perspective
Use Case
Class
Business Use Case
Activity
Software products may be developed for a particular customer or may be developed for a general market
True
False
Generic software developed for a single customer according to their specification
True
False
Computer science is concerned with theory and fundamentals
True
False
Software engineering is part of system engineering
True
False
Software engineering is concerned with the practicalities of developing and delivering useful software
True
False
In activity diagram, the ............ must happen in order for the transition to occur
all of them
guard condition
event
action
Statechart diagrams are created for documentation only, no source code is generated from it
True
False
............... diagrams illustrate the flow of functionality in a system
sequence
activity
statechart
class
............ diagrams are a good way to model the dynamic behavior of a class
activity
class
sequence
statechart
The Class diagram gives you a static picture of the pieces in the system and the relationships between them
True
False
In Class diagram, each object has a lifeline, drawn as a vertical dashed line below the object
True
False
............... relationships are used to show the relationship between a class and its interface
realize
aggregation
association
generalization
................... is a inheritance relationship between two model elements
association
aggregation
generalization
realized
The waterfall model is suitable for ..... projects
large, and complex
medium
small
all of the above
Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.
System requirements
user requirements
Functional requirements
Non-Functional requirements
Defines what should be implemented so may be part of a contract between client and contractor.
System requirements
user requirements
Functional requirements
Non-Functional requirements
The key challenges facing software engineering
Heterogeneity
Delivery
Trust
all of the above
.......... is intended to show that a system conforms to its specification and meets the requirements of the system customer.
Programming
Testing
Debugging
validation
Organizational requirements which are a consequence of organisational policies and procedures e.g. process standards used, implementation requirements, etc.
True
False
External requirements which arise from factors which are external to the system and its development process
True
False
software engineering is concerned with theory and fundamentals
True
False
Functional requirements define system properties and constraints e.g. reliability, response time and storage requirements
True
False
The Data Flow Diagram is defined as structured modelling
True
False
Draw a Use Case Diagram shows the interactions between the use cases and actors of an ATM system: The bank's customer initiates a number of use cases: Withdraw Money, Deposit Funds, Transfer Funds, Make Payment, View Balance, Change PIN. The bank officer can also initiate the Change PIN use case. The Make Payment use case provides credit card payment information to the credit system. Which actor can initiate the Change PIN use case?
The bank's customer
The bank officer
Both the bank's customer and the bank officer
The credit system
Draw a Use Case Diagram shows the interactions between the use cases and actors of an ATM system: The bank's customer initiates a number of use cases: Withdraw Money, Deposit Funds, Transfer Funds, Make Payment, View Balance, Change PIN. The bank officer can also initiate the Change PIN use case. The Make Payment use case provides credit card payment information to the credit system. Which use case provides credit card payment information to the credit system?
Withdraw Money
Make Payment
Transfer Funds
View Balance
Draw a Use Case Diagram shows the interactions between the use cases and actors of an ATM system: The bank's customer initiates a number of use cases: Withdraw Money, Deposit Funds, Transfer Funds, Make Payment, View Balance, Change PIN. Which of the following is not listed among the bank customer's use cases?
Withdraw Money
Open Account
Transfer Funds
View Balance
Draw a Use Case Diagram shows the interactions between the use cases and actors of an ATM system: The bank's customer initiates a number of use cases. Which of the following is listed as a customer-initiated use case?
Deposit Funds
Approve Loan
Schedule Maintenance
Generate Report
