Source: N.L. Sarda, Umesh Bellur, R.K. Joshi, and Shashi Kelkar,
https://www.youtube.com/watch?v=KhTvqCqln5M&feature=emb_logo
Activity Overview:
In this task, you're asked to analyze a case study (from a previous lesson) and walk through the process of developing a software solution. You’ll apply what you’ve learned about requirements, design, analysis, and testing. Each step should be documented, and if you need to make assumptions to complete a part, be sure to note them.
Step-by-Step Instructions (Simplified):
-
Identify the Process to Automate or Improve
-
Look at the system in the case study. What manual or inefficient processes could be improved or automated using software?
-
-
Define the System Output
-
What kind of information or results does the system need to produce for users?
-
-
Determine What the System Must Track or Calculate
-
What data needs to be remembered or computed by the system as it runs?
-
-
Identify the Stakeholders and Their Needs
-
Who are the key people involved (like users, managers, or developers)? What information or reports does each of them need from the system?
-
-
Create Your Project Plan
-
Plan how you’ll complete each part of this activity.
-
Document any extra information or assumptions you need to make the plan work.
-
Project Development Tasks:
-
Make a Project Timeline
-
Outline when key parts of the project will be completed (like analysis, design, testing, etc.).
-
-
Perform Requirements Analysis
-
Elicitation: Gather what the users want.
-
Analysis: Understand and organize those needs.
-
Specification: Clearly document the requirements.
-
Verification: Make sure the requirements are correct and complete.
-
Management: Keep track of changes and versions of requirements.
-
-
Do Object-Oriented Analysis
-
Look at the system in terms of "objects" (like users, orders, or reports) and figure out how they interact.
-
-
Write a Summary
-
Summarize the main objects and the processes in your system.
-
Explain what each object does.
-
-
List Attributes for Each Object and Process
-
For example, a "User" object might have attributes like name, ID, and login status.
-
Create a Class Analysis and State-Transition Diagram
-
Design a simple diagram showing how objects (classes) behave and change state (e.g., from “inactive” to “active”).
Design and Testing:
-
Complete Your Software Design
-
Decide how the system will be structured overall (architecture).
-
Break it into modules (modular decomposition).
-
Define how data and control flow through the system.
-
Develop UML Diagrams
-
Create:
-
Sequence diagrams (showing step-by-step interactions),
-
Collaboration diagrams (how objects work together), and
-
Class diagrams (object types and their relationships).
-
-
Use any tools you're comfortable with. Fancy software is optional.
-
Create a Test Plan
-
Cover unit testing (small pieces), integration testing (how pieces work together), and system testing (whole system).
-
Use different testing approaches:
-
Black-box: Focus on inputs/outputs, not internal code.
-
White-box: Focus on internal logic and paths.
-
Top-down: Start testing from the main functions first.
-
Bottom-up: Start testing from the smallest components first.
-
-
Include both valid and invalid input scenarios.
-
Evaluate System Quality
-
Assess the system in terms of:
-
Functionality
-
Reliability
-
Usability
-
Efficiency
-
Maintainability
-
Portability
-
Final Review:
-
Put Yourself in the Role of Operations Manager
-
Review everything you've done.
-
Ask: “If I were managing this project, how could each part be improved?”
Comments
Post a Comment