System Design Assignment 1
System Design Assignment 1
Submission Guidelines:
1. Submit a well-documented report in handwritten format that includes your solutions, explanations, and any
assumptions made during the design process.
2. Provide clear and concise explanations for each task.
3. Submit the assignment on or before the 17th of September 2024. Late submission attracts penalization of
marks.
4. Copying is strictly prohibited. If any assignment sheet is found to be copied, then their marks will be deducted
accordingly.
Q1 Define functional and non-functional requirements. Provide an example of each in the context
of an e-commerce application.
Q2 How would you prioritize functional vs. non-functional requirements in a healthcare system?
Justify your answer with scenarios.
Q3 For a ride-sharing application (like Uber), list three functional and three non-functional
requirements. How do these influence the system’s architecture?
Q4 Explain the stages of the System Development Life Cycle (SDLC). How would you apply the
SDLC model to design a library management system?
Q5 Describe the role of system analysis in SDLC. Why is it crucial to identify both hardware and
software components during the design phase?
Q6 How do different phases of SDLC ensure the final product is reliable and meets user
requirements? Illustrate with an example of an online booking system.
Q7 Compare and contrast structured analysis and structured design. Why is it important to
separate these two stages in a software development project?
Q8 What are the advantages of using a top-down approach in structured design? Provide a case
study of its application in a real-world software project.
Q9 Discuss how structured design can be employed in large-scale software systems, such as
enterprise resource planning (ERP) software. How does this impact maintainability?
Q10 Explain the concepts of horizontal scaling and vertical scaling. In what situations would you
prefer one over the other when designing a social media platform?
Q11 Define database sharding. How would you apply database sharding techniques to improve
the performance of a large-scale application like Instagram?
Q12 Compare the pros and cons of horizontal vs. vertical scaling in the context of cloud
infrastructure. How would scaling affect a distributed database system?