Lesson 3: Understanding General Software Development
1. Arrange the various activities of an application lifecycle
in the order in which they are likely to occur.
a) Requirements analysis, design, coding, testing, and release
b) Design, requirements analysis, coding, testing, and release
c) Release, requirements analysis, coding, testing, and design
d) Requirements analysis, design, release, coding, and testing
Answer: a
Difficulty: Easy
Section Reference: Understanding Application Lifecycle
Management
The activities of an application lifecycle are likely to
take place in the following order: requirements analysis, design, coding,
testing, and release.
2. You are planning to develop a new software system for
your organization. You need to review the plans, models, and architecture for
how the software will be implemented. Of which of the following activities
should you review the output?
a) requirements analysis
b) design
c) coding
d) testing
Answer: b
Difficulty: Medium
Section Reference: Understanding Application Lifecycle
Management
The design activity is used to create plans, models, and
architecture for how the software will be implemented.
3. You are planning to develop a new software system for
your organization. You need to review the system’s technical blueprint. Which
of the following participants is responsible for providing the technical
blueprint?
a) user interface designer
b) developer
c) architect
d) technical writer
Answer: c
Difficulty: Medium
Section Reference: Understanding Application Lifecycle
Management
An architect designs the technical blueprint of the system.
This includes identifying components and services, their behavior, and how they
interact with each other and with the external world.
4. You are planning to develop a new software system for
your organization. Someone needs to be responsible for developing system
manuals and help files. Which of the following participants should you identify
for this task?
a) user interface designer
b) content developer
c) user interface designer
d) technical writer
Answer: d
Difficulty: Medium
Section Reference: Understanding Application Lifecycle
Management
Identify a technical writer for this task. Technical writers
develop the system manuals and help files that will be delivered with the application.
5. You are planning to develop a new software system for
your organization. You need to verify that the implementation of the system
matches with the requirements of the system. Which of the following activities would
accomplish this requirement?
a) testing
b) design
c) release
d) requirements analysis
Answer: a
Difficulty: Medium
Section Reference: Understanding Application Lifecycle
Management
Use the testing activity to assure the quality of the final
product. Testing can identify possible gaps between the system expectations
described in the requirements document and actual system behavior.
6. You are planning to develop a new software system for
your organization. You need to review the plan for packaging, deployment,
delivery, and support for the software. Which of the following should you
contact?
a) quality assurance manager
b) release manager
c) technical architect
d) database administrator
Answer: b
Difficulty: Medium
Section Reference: Understanding Application Lifecycle
Management
Release management includes activities such as packaging and
deploying the software, managing software defects, and managing software change
requests. The release manager coordinates various teams and business units to
ensure timely release of a software product.
7. You are in the process of developing a new software
application. As defects are reported, you take the necessary steps to fix them.
You need to make sure that each new fix doesn’t break anything that was
previously working. Which type of testing should you use?
a) integration testing
b) system testing
c) acceptance testing
d) regression testing
Answer: d
Difficulty: Medium
Section Reference: Understanding Testing
As the defects in a software application are reported and
fixed, you need to make sure that each new fix doesn’t break anything that was
previously working. This is where regression testing comes in handy. With every
new fix, software testers usually run a battery of regression tests to make
sure that every function that was already known to work correctly is still
working.
8. You have completed developing a new software application.
To ensure the quality of the software, you need to verify that each method or
function has proper test cases available. Which testing approach should you use?
a) white-box testing
b) black-box testing
c) alpha testing
d) beta testing
Answer: a
Difficulty: Medium
Section Reference: Understanding Testing
Black-box testing treats the software as a “black box,”
focusing solely on inputs and outputs. On the other hand, white-box testing is
used to make sure that each method or function has proper test cases available.
Alpha and beta testing are both black-box types of testing.
9. You have completed developing several major features of a
new software application. You plan to provide an early look at the product to
important customers to gather some early feedback. Your application still
misses features and you haven’t yet optimized the application for performance
and security. Which kind of testing should you perform with a limited number of
important customers?
a) white-box testing
b) black-box testing
c) alpha testing
d) beta testing
Answer: c
Difficulty: Medium
Section Reference: Understanding Testing
Alpha testing—performed by a limited group of users—provides
opportunities to give the most important customers an early look at the product
and to gather feedback. Alpha releases may miss some features and generally
lack many nonfunctional attributes such as performance. In the next level of
testing, beta testing, you release the product to a wider audience of customers
and solicit feedback. In terms of functionality, the beta release of the
software is very close to the final release. However, the development teams
might still be working on improving performance and fixing known defects.
10. You are developing a new application that optimizes the
processing of a manufacturing plant’s operations. You need to implement a data
structure that works as a “buffer” for overflow capacity. When the
manufacturing capacity is available, the items in the buffer need to be
processed in the order in which they were added to the buffer. Which data
structure should you use to implement such buffer?
a) array
b) linked list
c) stack
d) queue
Answer: d
Difficulty: Medium
Section Reference: Understanding Data Structures
In a queue, items are processed in the order in which they
were added to the queue. In particular, items are always added at the end of
the queue and removed from the front of the queue. This is also commonly known
as first-in, first-out (FIFO) processing.
11. You are developing a new application that optimizes the
processing of a warehouse’s operations. When the products arrive, they are
stored on warehouse racks. To minimize the time it takes to retrieve an item,
the items that arrive last are the first to go out. You need to represent the
items that arrive and leave the warehouse in a data structure. Which data
structure should you use to represent this situation?
a) array
b) linked list
c) stack
d) queue
Answer: c
Difficulty: Medium
Section Reference: Understanding Data Structures
A stack is a
collection of items in which the last item added to the collection is the first
one to be removed.
12. You are developing an application that uses a double
dimensional array. You use the following code to declare the array:
int[,] numbers = new int[,]
{
{ 11, 7, 50, 45, 27 },
{ 18, 35, 47, 24, 12 },
{ 89, 67, 84, 34, 24 },
{ 67, 32, 79, 65, 10 }
};
Next, you refer to an array element by using the expression numbers[2,
3]. What will be the return value of this expression?
a) 47
b) 84
c) 24
d) 34
Answer: d
Difficulty: Medium
Section Reference: Understanding Arrays
In the .NET Framework, all arrays are zero-based. A
two-dimensional array can be thought of as a table in which each cell is an
array element and can be addressed using the numbers of the row and column to
which it belongs. Both the row number and column number are indexed by zero.
For example, the expression number[2, 3] would refer to an item in
the third row and fourth column of an array, which in this case is 34.
13. In your application, you are using a queue data
structure to manipulate information. You need to find whether a data item
exists in the queue, but you don’t want to actually process that data item yet.
Which of the following queue operations will you use?
a) enqueue
b) dequeue
c) peek
d) contains
Answer: d
Difficulty: Medium
Section Reference: Understanding Queues
The contains operation allows you to
determine whether a particular item exists in the queue. The peek operation
allows you to look at the current item at the head position without actually
removing it from the queue. The enqueue operation adds an item to the
tail end of the queue. The dequeue operation removes the current
element at the head of the queue.
14. You are developing an application that uses the Stack
data structure. You write the following code:
Stack first = new Stack();
first.Push(50);
first.Push(45);
first.Pop();
first.Push(11);
first.Pop();
first.Push(7);
What are the contents of the stack, from top to
bottom, after these statements are executed?
a) 7, 11, 50
b) 7, 45
c) 7, 50
d) 7, 11, 45
Answer: c
Difficulty: Medium
Section Reference: Understanding Stacks
After the first statement, the content of the stack is (50).
After the second statement, the stack contents from top to bottom are (45, 50).
After the third statement, the top element is popped, resulting to (50). After
the fourth statement, another element is added to the top, resulting to (11,
50). After the fifth statement, the top element is popped, resulting to (50). Finally,
the sixth statement is executed and the result of stack is (7, 50).
15. In your application, you are using a stack data
structure to manipulate information. You need to find which data item will be
processed next, but you don’t want to actually process that data item yet.
Which of the following queue operations will you use?
a) pop
b) push
c) peek
d) contains
Answer: c
Difficulty: Medium
Section Reference: Understanding Stacks
The peek operation allows you to look at
the current item at the top of the stack without actually removing it. The contains
operation allows you to determine whether a particular item exists in the stack.
The push
operation adds an item to the top of the stack. The pop operation
removes the element at the top of the stack.
16. You are developing a sorting algorithm that uses
partitioning and comparison to arrange an array of numbers in the correct
order. You write a method that partitions the array so that the items less than
pivot
go to the left side, whereas the items greater than pivot go to
the right side. The partitioning method has the following signature:
static int Partition (int[]
numbers, int left,
int right, int pivotIndex)
Which of the following algorithms should you use to sort the
array using the Partition method?
a) static
int[] QuickSort(int[] numbers,
int left, int right)
{
if (right > left)
{
int pivotIndex = left + (right - left)
/ 2;
pivotIndex = Partition(
numbers, left, right, pivotIndex);
QuickSort(
numbers, left, pivotIndex - 1);
QuickSort(
numbers, pivotIndex + 1, right);
}
return numbers;
}
b) static
int[] QuickSort(int[] numbers,
int
left, int right)
{
if (right > left)
{
int pivotIndex = left + (right - left)
/ 2;
pivotIndex = Partition(
numbers, left, right, pivotIndex);
QuickSort(
numbers, left, pivotIndex);
QuickSort(
numbers, pivotIndex + 1, right);
}
return numbers;
}
c) static int[]
QuickSort(int[] numbers,
int left, int right)
{
if (right > left)
{
int pivotIndex = left + (right - left)
/ 2;
pivotIndex = Partition(
numbers, left, right, pivotIndex);
QuickSort(
numbers, left, pivotIndex - 1);
QuickSort(
numbers, pivotIndex, right);
}
return numbers;
}
d) static
int[] QuickSort(int[] numbers,
int left, int right)
{
if (right > left)
{
int pivotIndex = left + (right - left)
/ 2;
pivotIndex = Partition(
numbers, left, right, pivotIndex);
QuickSort(
numbers, left, pivotIndex + 1);
QuickSort(
numbers, pivotIndex + 1, right);
}
return numbers;
}
Answer: a
Difficulty: Medium
Section Reference: Understanding QuickSort
After you partition the array, you need only to sort the
left and right sides of the array. The middle element is automatically sorted.
To sort the left array, use the expression QuickSort( numbers, left,
pivotIndex - 1); to sort the right array, you should use the
expression QuickSort(numbers, left, pivotIndex + 1).
17. You are studying various sorting algorithms to understand,
analyze, and compare the various sorting techniques. Which of the following
techniques should you utilize when using the BubbleSort
algorithm?
a) comparison
b) comparison and swap
c) comparison and partition
d) partition and swap
Answer: b
Difficulty: Medium
Section Reference: Understanding Sorting Algorithms
The BubbleSort algorithm uses a series of
comparison and swap operations to arrange list elements in the correct order.
18. You are developing a C# program that makes use of a singly
linked list. You need to traverse all nodes of the list. Which of the following
items will you need to accomplish this requirement?
a) link to the head node
b) link to the tail node
c) data in the head node
d) data in the tail node
Answer: a
Difficulty: Medium
Section Reference: Understanding Linked Lists
Each node in a linked list contains of two pieces of
information: the data corresponding to the node, and the link to the next node.
The first node of the list is called the head node. Using this link, you can
get to the next node and continue traversing nodes until the final link is a
null value.
19. Which of the following is not true about linked lists?
a) A linked list does not allow random access to its items.
b) A link to the head node can help you locate all the nodes
in a linked list.
c) The items in a linked list must be stored in contiguous
memory locations.
d) Linked lists are extremely fast in performing insert and
delete operations.
Answer: c
Difficulty: Medium
Section Reference: Understanding Linked Lists
A linked list is a collection of nodes in which each node
contains a reference (or link) to the next node in the sequence. Unlike in an
array, items in a linked list need not be contiguous; therefore, a linked list
does not require reallocation of memory space for the entire list when more
items must be added.
20. You are developing a program that performs frequent
insert and delete operations on the data. Your requirement also dictates the
capability to access previous and next records when the user clicks the
previous or next button. Which of the following data structures will best suit
your requirements?
a) array
b) circular linked list
c) linked list
d) oubly linked list
Answer: d
Difficulty: Medium
Section Reference: Understanding Linked Lists
Because you need to perform frequent insert and delete
operations, using a linked list is better than using arrays. Also, because you
need access to both previous and next records, you must use a doubly linked
list. The linked list and circular linked list let you traverse in only one
direction.
Very Useful.
ReplyDeleteApplication Development Consulting India
web application development
This comment has been removed by the author.
ReplyDeleteNOtify
ReplyDeleteThanks for this post, I really appriciate. I have read posts, all are in working condition. and I really like your writing style. Keep it up like.
ReplyDeletetray free proxy liveproxydaily.blogspot.com
I read this blog This is very informative content, I would like to say thanks for providing this please share more articles on Devops Online Training Hyderabad
ReplyDeleteNice blog, very interesting to read
ReplyDeleteI have bookmarked this article page as i received good information from this.
ERP Software for Manufacturing Industry in Hyderabad
Cloud Based ERP Software in Hyderabad
ERP Software Companies in Hyderabad
Buy test banks online
ReplyDeleteGet the best test bank and solutions manual at buy-test-bank.org, We offer the best test bank questions and solutions
online. Now you can buy textbook solution manuals on Buy-test-bank.org
to get more - https://buy-test-bank.org/
Informative Topic. Thanks for sharing such useful content. Keep sharing Surya Informatics
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteI must thank you for the efforts you have put in writing this blog.
ReplyDeleteSelenium Training in chennai | Selenium Training in annanagar | Selenium Training in omr | Selenium Training in porur | Selenium Training in tambaram | Selenium Training in velachery
Software development services can offer a range of benefits to your organization.
ReplyDelete
ReplyDeleteThank you so much for sharing this blog with us. It provides a collection of useful information. You obviously put a lot of effort into it! voip voice service in us
I admire this article for the well-researched content and excellent wording. I got so involved in this material that I couldn’t stop reading. I am impressed with your work and skill. Thank you so much.It can be helpful for people who wants to know more about application Modernization services.
ReplyDeleteYou there, this is really good post here. Thanks for taking the time to post such valuable information. Quality content is what always gets the visitors coming. knowledge management system
ReplyDeleteVisit CMOLDS a leading application development company san francisco service provider with exceptional services and team.
ReplyDeleteYour ideas are very useful. Actually one of my friends is planning to start in this field I will definitely recommend your post to him.
ReplyDeleteAlpha AnyWhere Developers
Nice Post….!!!! Greps Ai specializes in transforming businesses with cutting-edge technology solutions. Leveraging expertise in Digital Marketing, Chatbot Development, API Development, and Software Development Designing, Greps Ai empowers companies to achieve exponential growth. By integrating AI-driven strategies and innovative software, Greps Ai for Business Growth ensures scalable solutions tailored to meet diverse business needs, fostering efficiency and competitive advantage in today's dynamic market landscape.
ReplyDelete