Assignment 2
Assignment 2
Model-Driven Approach:
Types:
Waterfall Model: Sequential approach with distinct phases like requirements, design, implementation,
testing, deployment.
Incremental Model: Development is carried out in increments, with each increment building upon the
previous one.
Spiral Model: Combines aspects of waterfall and iterative development, involving risk analysis at each
cycle.
This approach focuses on quickly gathering system requirements and using rapid
prototyping or development techniques to deliver a working system rapidly.
Types:
Agile Methodology: Emphasizes iterative development, collaboration, and customer feedback. Types
include Scrum, Kanban, and Extreme Programming (XP).
Rapid Application Development (RAD): Involves iterative prototyping and quick feedback to accelerate
the development process.
Prototyping Model: Involves creating a prototype (a small-scale representation of the final product) for
gathering requirements and refining the system.
Importance:
Continuous Improvement: Allows the team to identify and address issues promptly, fostering a culture
of continuous improvement.
Team Collaboration: Encourages open communication and collaboration among team members.
Enhanced Productivity: Identifying and addressing obstacles leads to increased efficiency and
productivity in subsequent sprints.
User stories are concise, simple descriptions of a feature told from the perspective of
the end user. They are used in Agile development to capture and prioritize user requirements.
Importance:
User Focus: User stories help keep the focus on end-users and their needs throughout the development
process.
Easy Communication: They provide a simple and understandable way for team members to
communicate about features and requirements.
Prioritization: User stories aid in prioritizing features based on their importance to users and the
business.
Precision and Repetition: Manufacturing involves precise, repetitive processes to create identical
products.
Predictability: Manufacturing aims for predictability and strict control over processes to ensure
consistent quality.
Efficiency and Optimization: Manufacturing focuses on optimizing processes for efficiency and cost-
effectiveness.
Human Factors: Software development requires understanding and addressing the needs and
preferences of end-users, akin to artistic considerations in a creative process.
Continuous Learning: Developers often need to learn and adapt to new technologies and approaches,
reflecting a dynamic and evolving environment.
User Interaction:
Ambiguity: It's not clear how users select their destination. Is there a touch screen, buttons, or another
method?
Omission: The statement does not specify how users confirm their selection after entering the personal
identification number.
Ambiguity: The process of credit card validation is mentioned but not detailed. What criteria are used to
determine validity? Is there any confirmation step for users?
Ambiguity: The nature of the personal identifier is not specified. Is it a password, PIN, or some other
form of identification?
Error Handling:
Omission: The statement does not address how errors or invalid inputs are handled. What messages are
displayed to users in case of an error, and how are they prompted to correct their input?
2.2 Functional and Non-functional Requirements:
Functional Requirements:
Validation:
The system must validate the credit card information provided by the user, checking for authenticity,
expiration, and other relevant details.
Users must input a valid personal identifier (e.g., PIN or password) after credit card validation for
authentication.
Transaction Confirmation:
Upon successful credit card validation and personal identifier input, users should be prompted to
confirm the credit transaction before finalizing the ticket issuance.
Error Handling:
The system should provide clear and user-friendly error messages in case of invalid inputs or transaction
failures, guiding users on how to rectify the issue.
Non-functional Requirements:
Reliability:
The system should have a reliability rate of 99.9%, ensuring minimal downtime or disruptions in ticket
issuance.
Response Time:
The average response time for credit card validation and ticket issuance should not exceed 10 seconds
to provide a seamless user experience.
Security:
The system must comply with industry standards for data security, ensuring the confidentiality and
integrity of user information, especially credit card details.
Scalability:
The system should be designed to handle a scalable number of users, accommodating potential
increases in ticket transactions without a significant decrease in performance.
Question # 3
The company has been using some Agile practices, adopting Scrum Model of Agile framework.
The Agile model emphasizes adaptability, continuous improvement, and addressing the challenges they
face.
Adaptability: Agile's iterative approach allows for continuous refinement of requirements and design
based on client feedback, ensuring the product remains aligned with evolving needs.
Flexibility: Agile's daily stand-up meetings and frequent iterations enable the team to respond quickly to
changes and adapt to unexpected challenges, crucial for managing a growing workload.
Client Collaboration: Agile's emphasis on customer involvement throughout the development process
fosters better communication and understanding of client needs, reducing the likelihood of
misinterpretations and rework.
Scaling: Agile's modular and incremental approach makes it well-suited for handling increasing project
volume, allowing the team to break down larger projects into manageable chunks.
Continuous Integration and Testing: Agile's practice of integrating and testing code regularly helps
identify defects early, reducing the cost of fixing them later in the process.
Question # 4
functional requirements :
Product Browsing: The platform should allow customers to browse products by category, brand, price,
and other relevant attributes.
Product Search: The platform should provide a robust search function that allows customers to find
specific products using keywords or phrases.
Product Details: Product pages should provide detailed information about each product, including images,
descriptions, specifications, and availability.
Order Placement: The platform should enable customers to add items to their carts, proceed to checkout,
and place orders.
Payment Processing: The platform should integrate with secure payment gateways to process online
transactions.
Order Management: The platform should provide a system for managing orders, including order tracking,
shipping information, and order status updates.
Inventory Management Integration: The platform should integrate with the existing inventory
management system to provide real-time product availability information.
Point-of-sale System Integration: The platform should integrate with the existing point-of-sale system to
facilitate seamless order fulfillment and inventory updates.
Customer Relationship Management System Integration: The platform should integrate with the existing
customer relationship management system to maintain customer data and provide personalized marketing
campaigns.
non-functional requirements
Performance: The platform should be responsive and efficient, handling a high volume of users and
transactions without performance degradation.
Scalability: The platform should be scalable to accommodate future growth in product offerings,
customer base, and transaction volume.
Security: The platform should implement robust security measures to protect customer data and financial
information, complying with data privacy regulations.
Usability: The platform should be user-friendly and intuitive, providing a seamless shopping experience
for customers of all technical levels.
Accessibility: The platform should be accessible to users with disabilities, adhering to accessibility
standards and guidelines.
Reliability: The platform should be highly reliable, with minimal downtime and a robust disaster recovery
plan.
Maintainability: The platform should be well-documented and maintainable, allowing for future updates
and enhancements.
Decision table
Business Stakeholders: Executives, managers, and other representatives from company's business units,
who will provide input on the platform's overall business objectives and functionality.
Technical Stakeholders: Developers, architects, and other technical experts responsible for designing,
developing, and maintaining the platform's technical infrastructure.
End-Users: Customers of ABC company who will use the platform to browse products, place orders, and
manage their accounts.
Internal Users: ABC company's employees who will use the platform to manage orders, products, and
customer information.
Question # 5
B)
Number of Items Purchased Store Credit Card Base Discount Total Discount
Less than 3 No 0% 0%