
Fundamentals of Information Systems (Looseleaf)
9th Edition
ISBN: 9781337099042
Author: STAIR
Publisher: Cengage
expand_more
expand_more
format_list_bulleted
Question
Chapter 8, Problem 2.1RQ
Program Plan Intro
Difference between Waterfall and Agile Software development process.
Expert Solution & Answer

Trending nowThis is a popular solution!

Students have asked these similar questions
Given the variables and code in the text below, identify where in memory they will
live once the code is compiled.
1 char
big_array [1L<<24]; /* 16 MB */
2 GB *
:/
2 char huge_array [1L<<31]; /*
3
4 int global = 0;
5
6 int useless () { return 0; }
7
8 int main()
9 {
10
void *p1, p2, *p3, *p4;
int local =
0;
malloc (1L << 28); /* 256 MB *,
11
12
p1
13
p2
=
malloc (1L << 8);
/* 256 B *
14
p3
15
p4
=
malloc (1L << 32);
malloc (1L << 8);
/* 4
GB *
*/
/* 256
B */
16 }
Note: *pN is the thing at which pN points.
1. big_array
2. huge_array
3. global
4. useless
5. void* p1
6. *p1
7. void* p2
8. *p2
9. void* p3
10. *p3
11. void* p4
12. *p4
The next problem concerns the following C code:
/copy input string x to buf */
void foo (char *x) {
char buf [8];
strcpy((char *) buf, x);
}
void callfoo() {
}
foo("ZYXWVUTSRQPONMLKJIHGFEDCBA");
Here is the corresponding machine code on a Linux/x86 machine:
0000000000400530 :
400530:
48 83 ec 18
sub
$0x18,%rsp
400534:
48 89 fe
mov
%rdi, %rsi
400537:
48 89 e7
mov
%rsp,%rdi
40053a:
e8 di fe ff ff
callq
400410
40053f:
48 83 c4 18
add
$0x18,%rsp
400543:
c3
retq
400544:
0000000000400544 :
48 83 ec 08
sub
$0x8,%rsp
400548:
bf 00 06 40 00
mov
$0x400600,%edi
40054d:
e8 de ff ff ff
callq 400530
400552:
48 83 c4 08
add
$0x8,%rsp
400556:
c3
This problem tests your understanding of the program stack. Here are some notes to
help you work the problem:
⚫ strcpy(char *dst, char *src) copies the string at address src (including
the terminating '\0' character) to address dst. It does not check the size of
the destination buffer.
• You will need to know the hex values of the following characters:
Consider the following assembly code for a C for loop:
movl $0, %eax
jmp
.L2
.L3:
addq
$1, %rdi
addq
%rsi, %rax
subq
$1, %rsi
.L2:
cmpq
%rsi, %rdi
jl
.L3
addq
ret
%rdi, %rax
Based on the assembly code above, fill in the blanks below in its corresponding C
source code. Recall that registers %rdi and %rsi contain the first and second, respectively,
argument of a function. (Note: you may only use the symbolic variables x, y, and
result in your expressions below do not use register names.)
long loop (long x, long y)
{
long result;
}
for (
}
return result;
__; y--) {
Chapter 8 Solutions
Fundamentals of Information Systems (Looseleaf)
Ch. 8 - Identify the pros and cons associated with both...Ch. 8 - Prob. 2LOCh. 8 - Identify and state the goal of each of the six...Ch. 8 - Prob. 4LOCh. 8 - Prob. 5LOCh. 8 - Prob. 6LOCh. 8 - Prob. 7LOCh. 8 - Prob. 8LOCh. 8 - Prob. 9LOCh. 8 - Prob. 10LO
Ch. 8 - Prob. 11LOCh. 8 - Prob. 12LOCh. 8 - Identify the key factors to be considered in...Ch. 8 - Prob. 1.1RQCh. 8 - Prob. 1.2RQCh. 8 - How would you go about selecting and recruiting...Ch. 8 - What do you think might be the biggest harriers to...Ch. 8 - Prob. 2.1RQCh. 8 - Following your discussion, one of the team members...Ch. 8 - There is likely to be some confusion over the role...Ch. 8 - What other potential problems can you anticipate...Ch. 8 - Prob. 3.1RQCh. 8 - Prob. 3.2RQCh. 8 - Prob. 3.1CTQCh. 8 - A safety-critical system is one whose failure or...Ch. 8 - Prob. 1SATCh. 8 - Prob. 2SATCh. 8 - Prob. 3SATCh. 8 - Prob. 4SATCh. 8 - The purpose of the system investigation phase is...Ch. 8 - Prob. 6SATCh. 8 - The overall emphasis of the ___________ phase is...Ch. 8 - The primary tool for assessing the software...Ch. 8 - Prob. 9SATCh. 8 - Prob. 10SATCh. 8 - Prob. 11SATCh. 8 - Prob. 12SATCh. 8 - A preliminary evaluation of software packages and...Ch. 8 - Prob. 1RQCh. 8 - Prob. 2RQCh. 8 - Prob. 3RQCh. 8 - Prob. 4RQCh. 8 - Prob. 5RQCh. 8 - What are the key elements of a system...Ch. 8 - Prob. 7RQCh. 8 - Prob. 8RQCh. 8 - Prob. 9RQCh. 8 - Prob. 10RQCh. 8 - Prob. 11RQCh. 8 - Prob. 12RQCh. 8 - Prob. 13RQCh. 8 - Prob. 14RQCh. 8 - An organization has selected and is now...Ch. 8 - Prob. 1DQCh. 8 - Thoroughly discuss the pros and cons of buying...Ch. 8 - Prob. 3DQCh. 8 - Prob. 4DQCh. 8 - Prob. 5DQCh. 8 - You have been assigned to write a newspaper report...Ch. 8 - Prob. 7DQCh. 8 - Define the Pareto principle, and discuss how it...Ch. 8 - Prob. 9DQCh. 8 - Prob. 10DQCh. 8 - Prob. 11DQCh. 8 - Prob. 12DQCh. 8 - Identify and briefly discuss four key tasks...Ch. 8 - Prob. 1PSECh. 8 - Prob. 2PSECh. 8 - A new sales ordering system needs a relational...Ch. 8 - Prob. 1WECh. 8 - Prob. 2WECh. 8 - Do research to determine the current level of...Ch. 8 - Prob. 1CECh. 8 - Perform research to learn what is required to have...Ch. 8 - Identify an information system frequently employed...Ch. 8 - It is perhaps not surprising that Etsy was an...Ch. 8 - Prob. 1.2CSCh. 8 - What would be some of the criteria you would use...Ch. 8 - Prob. 2.1CSCh. 8 - Prob. 2.2CSCh. 8 - Prob. 2.3CS
Knowledge Booster
Similar questions
- In each of the following C code snippets, there are issues that can prevent the compiler from applying certain optimizations. For each snippet: Circle the line number that contains compiler optimization blocker. ⚫ Select the best modification to improve optimization. 1. Which line prevents compiler optimization? Circle one: 2 3 4 5 6 Suggested solution: ⚫ Remove printf or move it outside the loop. Remove the loop. • Replace arr[i] with a constant value. 1 int sum (int *arr, int n) { 2 int s = 0; 3 for (int i = 0; i < n; i++) { 4 5 6 } 7 8 } s = arr[i]; printf("%d\n", s); return s; 234206 2. Which line prevents compiler optimization? Circle one: 2 3 4 5 6 Suggested solution: Move or eliminate do_extra_work() if it's not necessary inside the loop. Remove the loop (but what about scaling?). ⚫ Replace arr[i] *= factor; with arr[i] = 0; (why would that help?). 1 void scale (int *arr, int n, int factor) { 5 6 } for (int i = 0; i < n; i++) { rr[i] = factor; do_extra_work ();arrow_forward123456 A ROP (Return-Oriented Programming) attack can be used to execute arbitrary instructions by chaining together small pieces of code called "gadgets." Your goal is to create a stack layout for a ROP attack that calls a function located at '0x4018bd3'. Below is the assembly code for the function 'getbuf', which allocates 8 bytes of stack space for a 'char' array. This array is then passed to the 'gets' function. Additionally, you are provided with five useful gadgets and their addresses. Use these gadgets to construct the stack layout. Assembly for getbuf 1 getbuf: sub mov $8, %rsp %rsp, %rdi call gets add $8, %rsp ret #Allocate 8 bytes for buffer #Load buffer address into %rdi #Call gets with buffer #Restore the stack pointer #Return to caller Stack Layout each 8-byte (fill in section) Address Value (8 bytes) 0x7fffffffdfc0 0x7fffffffdfb8 0x7fffffffdfb0 0x7fffffffdfa8 0x7fffffffdfa0 0x7fffffffdf98 0x7fffffffdf90 0x7fffffffdf88 Gadgets Address Gadget Ox4006a7 pop %rdi; ret Ox4006a9…arrow_forwardProblem 1 [15 points] The code below is buggy. Assume the code compiles. Briefly: 1). Identify the problem with the code (e.g., can access memory out of bounds) and 2). Suggest a solution (e.g., check the length). Question 1 1 #define BLENGTH 5 2 int b[BLENGTH]; 3 void copy_from_global_int_array_b (int n, int* dest) { 4 5 } *dest = b[n]; ==arrow_forward
- Which statement regarding SGA_MAX_SIZE is true? SGA_MAX_SIZE is modifiable after an instance is started, only when Automatic Memory Management is used. SGA_MAX_SIZE is not dyamically modifiable. SGA_MAX_SIZE is ignored when MEMORY_TARGET > 0. SGA-MAX_SIZE must be specified when SGA_TARGET > 0arrow_forwardExplian this C program #include <stdio.h> unsigned int rotateRight(unsigned int num, unsigned int bits) { unsignedint bit_count =sizeof(unsignedint) *8; bits = bits % bit_count; // Handle cases where bits >= bit_count return (num >> bits) | (num << (bit_count - bits)); } int main() { unsignedint num, bits; printf("Enter a number: "); scanf("%u", &num); printf("Enter the number of bits to shift: "); scanf("%u", &bits); printf("After rotation: %u\n", rotateRight(num, bits)); return0; }arrow_forwardExplian thiS C program #include<stdio.h> int countSetBits(int n) { int count = 0; while (n) { count += n & 1; n >>= 1; } return count;} int main() { int num; printf("Enter a number: "); scanf("%d", &num); printf("Output: %d units\n", countSetBits(num)); return 0;}arrow_forward
- Please provide the Mathematica codearrow_forwardExplian this C program code. #include <stdio.h> void binary(unsigned int n) { if (n /2!=0) { binary(n /2); } printf("%d", n %2); } int main() { unsignedint number =33777; unsignedchar character ='X'; printf("Number: %u\n", number); printf("Binary: "); binary(number); printf("\nDecimal: %u\nHexadecimal: 0x%X\n\n", number, number); printf("Character: %c\n", character); printf("ASCII Binary: "); binary(character); printf("\nASCII Decimal: %u\nASCII Hexadecimal: 0x%X\n", character, character); return0; }arrow_forwardDesign a dynamic programming algorithm for the Longest Alternating Subsequence problem described below: Input: A sequence of n integers Output: The length of the longest subsequence where the numbers alternate between being larger and smaller than their predecessor The algorithm must take O(n²) time. You must also write and explain the recurrence. Example 1: Input: [3, 5, 4, 1, 3, 6, 5, 7, 3, 4] Output: 8 ([3, 5, 4, 6, 5, 7, 3, 4]) Example 2: Input: [4,7,2,5,8, 3, 8, 0, 4, 7, 8] Output: 8 ([4, 7, 2, 5, 3, 8, 0,4]) (Take your time with this for the subproblem for this one)arrow_forward
- Design a dynamic programming algorithm for the Coin-change problem described below: Input: An amount of money C and a set of n possible coin values with an unlimited supply of each kind of coin. Output: The smallest number of coins that add up to C exactly, or output that no such set exists. The algorithm must take O(n C) time. You must also write and explain the recurrence. Example 1: Input: C24, Coin values = = [1, 5, 10, 25, 50] Output: 6 (since 24 = 10+ 10+1+1 +1 + 1) Example 2: Input: C = 86, Coin values = [1, 5, 6, 23, 35, 46, 50] Output: 2 (since 86 = 46+35+5)arrow_forwardDesign a dynamic programming algorithm for the Longest Common Subsequence problem de- scribed below Input: Two strings x = x1x2 xm and y = Y1Y2... Yn Output: The length of the longest subsequence that is common to both x and y. . The algorithm must take O(m n) time. You must also write and explain the recurrence. (I want the largest k such that there are 1 ≤ i₁ < ... < ik ≤ m and 1 ≤ j₁ < ... < jk ≤ n such that Xi₁ Xi2 Xik = Yj1Yj2 ··· Yjk) Example 1: Input: x = 'abcdefghijklmnopqrst' and y = 'ygrhnodsh ftw' Output: 6 ('ghnost' is the longest common subsequence to both strings) Example 2: Input: x = 'ahshku' and y = ‘asu' Output: 3 ('asu' is the longest common subsequence to both strings)arrow_forwardDesign a dynamic programming algorithm for the problem described below Input: A list of numbers A = = [a1,..., an]. Output: A contiguous subsequence of numbers with the maximum sum. The algorithm must take O(n) time. You must also write and explain the recurrence. (I am looking for an i ≥ 1 and k ≥ 0 such that a + ai+1 + ···ai+k has the largest possible sum among all possible values for i and k.) Example 1: Input: A[5, 15, -30, 10, -5, 40, 10]. Output: [10, 5, 40, 10] Example 2: Input: A = [7, 5, 7, 4, -20, 6, 9, 3, -4, -8, 4] Output: [6,9,3]arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Principles of Information Systems (MindTap Course...Computer ScienceISBN:9781305971776Author:Ralph Stair, George ReynoldsPublisher:Cengage LearningFundamentals of Information SystemsComputer ScienceISBN:9781337097536Author:Ralph Stair, George ReynoldsPublisher:Cengage LearningInformation Technology Project ManagementComputer ScienceISBN:9781337101356Author:Kathy SchwalbePublisher:Cengage Learning
- Database Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781305627482Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781285196145Author:Steven, Steven Morris, Carlos Coronel, Carlos, Coronel, Carlos; Morris, Carlos Coronel and Steven Morris, Carlos Coronel; Steven Morris, Steven Morris; Carlos CoronelPublisher:Cengage LearningPrinciples of Information Systems (MindTap Course...Computer ScienceISBN:9781285867168Author:Ralph Stair, George ReynoldsPublisher:Cengage Learning

Principles of Information Systems (MindTap Course...
Computer Science
ISBN:9781305971776
Author:Ralph Stair, George Reynolds
Publisher:Cengage Learning

Fundamentals of Information Systems
Computer Science
ISBN:9781337097536
Author:Ralph Stair, George Reynolds
Publisher:Cengage Learning

Information Technology Project Management
Computer Science
ISBN:9781337101356
Author:Kathy Schwalbe
Publisher:Cengage Learning

Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781305627482
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning

Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781285196145
Author:Steven, Steven Morris, Carlos Coronel, Carlos, Coronel, Carlos; Morris, Carlos Coronel and Steven Morris, Carlos Coronel; Steven Morris, Steven Morris; Carlos Coronel
Publisher:Cengage Learning

Principles of Information Systems (MindTap Course...
Computer Science
ISBN:9781285867168
Author:Ralph Stair, George Reynolds
Publisher:Cengage Learning