Application Development Practices - Module 1 Answers
11. Describe the benefits of Agile over the Waterfall model in terms of flexibility:
Agile is more flexible, allowing for iterative development, continuous customer feedback, and better
adaptability to change.
12. Describe how requirements are gathered and documented in the Waterfall model:
Requirements are gathered during the initial phases through stakeholder meetings and documented
in detailed requirement specification documents.
13. Describe the role of pair programming in XP:
In pair programming, two developers work together at one workstation, where one writes the code
(driver) while the other reviews it (observer).
14. Compare the use of if-else statements versus case statements in shell scripts:
if-else is used for conditional branching based on logical comparisons, while case statements are
used for multi-way branching based on pattern matching.
15. Explain the concept of "Sprint backlog" in Scrum:
The Sprint backlog is a list of tasks identified by the Scrum team to be completed during the Sprint.
16. Demonstrate how to view the commit history in Git:
The Git command to view commit history is:
git log
17. Distinguish between local and remote branches in Git:
Local branches exist on the developer's machine, while remote branches are stored in a central
repository like GitHub or GitLab.
18. Write a Linux command to display the October month calendar of the current year:
cal 10 $(date +"%Y")
19. Explain the purpose of the chmod command in Linux file permissions:
The chmod command is used to change file access permissions for user, group, and others.
20. Explain the command for compressing a file in Linux:
gzip filename
16 Marks Questions:
1. Analyze the differences between Agile and Waterfall models. Discuss the advantages and
disadvantages of each:
Agile:
- Advantages: Flexible, iterative, customer-focused.
- Disadvantages: Harder to manage scope, less predictable.
Waterfall:
- Advantages: Clear stages, easy to manage for well-defined projects.
- Disadvantages: Inflexible, hard to implement changes after the project starts.
2. Explain the Scrum process, including its ceremonies, roles, and artifacts:
Ceremonies: Sprint planning, daily Scrum, Sprint review, Sprint retrospective.
Roles: Scrum Master, Product Owner, Development Team.
Artifacts: Product backlog, Sprint backlog, Increment.
3. (i) Write a shell program to print student grade using nested if else statement:
#!/bin/bash
read -p "Enter marks: " marks
if [ $marks -ge 90 ]; then
echo "Grade A"
elif [ $marks -ge 80 ]; then
echo "Grade B"
elif [ $marks -ge 70 ]; then
echo "Grade C"
else
echo "Grade D"
fi
(ii) Explain any 10 basic commands used in Linux:
- ls, cd, pwd, cp, mv, rm, mkdir, chmod, cat, echo.
4. (i) Write a shell program to find the biggest of three numbers using if-else:
#!/bin/bash
read -p "Enter three numbers: " a b c
if [ $a -ge $b ] && [ $a -ge $c ]; then
echo "$a is the largest"
elif [ $b -ge $a ] && [ $b -ge $c ]; then
echo "$b is the largest"
else
echo "$c is the largest"
fi
5. Explain file processing in Linux and commands used:
File processing includes reading, writing, and modifying files. Commands include cat, touch, mv, cp,
rm, chmod, chown, etc.
6. Explain the role of the Agile Manifesto in shaping modern software development practices:
The Agile Manifesto has revolutionized software development by promoting flexibility, collaboration,
and a customer-first approach, allowing teams to deliver more value quickly.
7. Explain the process of pushing a file from a local device to a Git repository, including the
necessary commands:
Initialize Git (git init), add files (git add), commit changes (git commit), and push to the remote
repository (git push origin branch-name).
8. Demonstrate basic Linux commands by performing the following tasks:
1. Create a new directory named "Projects":
mkdir Projects
2. Rename a file using mv command:
mv [Link] [Link]
3. Copy a file to a directory:
cp [Link] backup/