0% found this document useful (0 votes)
44 views9 pages

CSE300 Assignment 1 - Sudarshan - Bishwokarma

Uploaded by

Darshan Baral
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views9 pages

CSE300 Assignment 1 - Sudarshan - Bishwokarma

Uploaded by

Darshan Baral
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

ASSIGNMENT 1

MAY 2024 SEMESTER

SUBJECT CODE : CSE300

SUBJECT TITLE : SOFTWARE ENGINEERING

LEVEL : BACHELOR

STUDENT’S NAME : Sudarshan Bishwokarma

MATRIC NO. : C30109220151

PROGRAMME : BICT (HONS)

ACADEMIC : Rajesh Dware


FACILITATOR

LEARNING CENTRE : VIRINCHI, NEPAL

INSTRUCTIONS TO STUDENTS

1) This assignment consists of TWO (2) questions. Answer ALL questions.

2) Plagiarism in all forms is forbidden. Students who submit plagiarised assignment will be
penalised.

3) Your assignment will be examined based on the followings


 a complete working solution.
 ability of using methods available in the learning materials.

4) This assignment carries a 30% weightage toward final grade.

THERE ARE THREE [3] PAGES OF QUESTIONS, INCLUDING THIS PAGE.


Question 1 :

Creating a Customer Relationship Management (CRM) system using a reuse-based


development model involves leveraging existing software components, frameworks, and
systems to build the CRM efficiently. This approach aims to save time and resources by
reusing proven and tested components rather than developing everything from scratch.

Here’s a structured outline of how you can approach this:

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

 Adaptation: Customize the reusable components to meet specific CRM requirements.


This could involve configuring the components, extending their functionality, or
modifying their code.
 Development: Develop any new components or features that are not available
through existing reusable components.

6. Testing

 Component Testing: Test each component individually to ensure it functions


correctly.
 Integration Testing: Test the integrated system to ensure all components work
together as intended.
 User Acceptance Testing (UAT): Conduct UAT to ensure the CRM system meets
user requirements and expectations.

7. Deployment

 Deployment Planning: Plan the deployment strategy, including server setup,


database configuration, and network requirements.
 Go Live: Deploy the CRM system in a live environment. Ensure there is a rollback
plan in case of any issues.

8. Maintenance and Evolution

 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

 Gather Requirements: Collect detailed requirements from stakeholders such as


teachers, students, and administrative staff. Key features might include:
o Student registration
o Attendance recording (manual and automated options)
o Attendance reporting
o Notifications for absentees
o Data export/import
 Document Requirements: Create a comprehensive requirements document
specifying functional and non-functional requirements.
2. System Design

 Architectural Design: Design the overall architecture of the system. Decide on


whether it will be a web-based, mobile-based, or desktop application.
 Detailed Design: Create detailed design documents, including:
o Database Design: Design the database schema to store student information,
attendance records, and other relevant data.
o User Interface Design: Design the UI/UX mockups for the system.
o Component Design: Define the different modules and their interactions (e.g.,
user management, attendance recording, reporting).

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.

4. Integration and Testing

 Unit Testing: Test individual components for correctness.


 Integration Testing: Test the interaction between integrated components.
 System Testing: Test the complete system to ensure it meets the specified
requirements.
 User Acceptance Testing (UAT): Conduct UAT with actual users to validate the
system's functionality and usability.

5. Deployment

 Deployment Planning: Plan the deployment strategy, including server setup,


database configuration, and network requirements.
 Deploy the System: Install and configure the system in the production environment.
 Training: Provide training to the end-users on how to use the system.

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.

You might also like