CSE300 Assignment 1 - Sudarshan - Bishwokarma
CSE300 Assignment 1 - Sudarshan - Bishwokarma
LEVEL : BACHELOR
INSTRUCTIONS TO STUDENTS
2) Plagiarism in all forms is forbidden. Students who submit plagiarised assignment will be
penalised.
Requirements Analysis
Identify CRM Features: Gather and analyze requirements from stakeholders. Typical
features include contact management, sales tracking, customer support, marketing
automation, analytics, etc.
Define Reusability Goals: Determine which parts of the CRM can be developed using
reusable components. These could be open-source libraries, commercial off-the-
shelf software (COTS), or in-house developed reusable modules.
2. Component Identification
Search for Existing Components: Look for existing libraries, frameworks, and
components that can fulfill the identified requirements. Examples include:
o CRM frameworks: SugarCRM, SuiteCRM
o Contact management libraries
o Sales tracking modules
o Analytics tools: Google Analytics, Tableau
Evaluate Components: Assess the identified components for compatibility, ease of
integration, licensing issues, and support.
3. System Design
Architecture Design: Design the overall architecture of the CRM system, specifying
how different components will interact. Use design patterns that facilitate reuse, such
as modular design and service-oriented architecture (SOA).
Interface Design: Define the interfaces for the reusable components to ensure they
can be easily integrated into the CRM system.
4. Integration
Component Integration: Integrate the selected reusable components into the CRM
system. This may involve:
o API Integration: Connecting different components using APIs.
o Data Integration: Ensuring data consistency and integrity across components.
o UI Integration: Harmonizing the user interface for a seamless user
experience.
5. Customization
6. Testing
7. Deployment
Monitoring: Continuously monitor the CRM system for performance, security, and
usability issues.
Updates and Upgrades: Regularly update the reusable components and the CRM
system to fix bugs, improve performance, and add new features.
Feedback Loop: Collect feedback from users to identify areas for improvement and to
guide future development.
Creating a classroom attendance system using the Waterfall model involves a linear and
sequential approach, where each phase must be completed before moving on to the next.
Here’s a structured outline of how you can approach this:
1. Requirement Analysis
3. Implementation
Coding: Develop the system based on the design documents. Implement the
modules in the chosen programming language and technology stack.
o Front-End Development: Develop the user interface.
o Back-End Development: Implement the server-side logic and database
interactions.
o Integration: Ensure all modules work together as intended.
5. Deployment
6. Maintenance
Monitor the System: Continuously monitor the system for performance and security
issues.
Bug Fixes and Updates: Address any issues that arise and provide updates as
necessary.
User Support: Offer ongoing support to users to ensure they can effectively use the
system.
(Lutkevich, 2019)
ii)
The Waterfall model emphasizes a linear and sequential approach to software development.
determining software requirements in this model involves several key steps, each of which
must be completed before moving on to the next. Here's how the software requirements are
determined using the Waterfall model:
Requirements: A formal requirements document, also known as a functional specification, is
created by analysing potential needs, project timelines, and guidelines. At this stage of
development, the project is defined and planned; particular methods are not mentioned.
Analysis: To create product models and business logic to direct manufacturing, the system
specifications are analysed. At this point, the viability of the technical and financial resources
is also examined.
Design:. Technical design requirements, including those for the programming language,
hardware, data sources, architecture, and services, are outlined in a design specification
document.
Implementation and coding. Models, logic, and requirement descriptions from earlier phases
are used to generate the source code. Before being assembled, the system is usually
programmed in smaller pieces, or components.
Deployment and operation. After being determined to be completely functioning, the
application or product is put into a live environment.
Maintainence: upkeep. To update, improve, and expand the product's functioning, corrective,
adaptive, and perfective maintenance is done continuously. This can entail the release of
new versions and patch updates.
(geeksforgeeks, 2024)
:
Question 2
b. If the project starts on July 1, 2019, it will take approximately 32 weeks to complete.
References
geeksforgeeks. (2024, May 21). Retrieved from https://www.geeksforgeeks.org/:
https://www.geeksforgeeks.org/waterfall-model/
Lutkevich, B. (2019, June 05). waterfall model. Retrieved from https://www.techtarget.com/:
https://www.techtarget.com/searchsoftwarequality/definition/waterfall-
model#:~:text=The%20waterfall%20model%20is%20a,the%20edge%20of%20a
%20cliff.