0% found this document useful (0 votes)
20 views14 pages

Lab Report 3 Foysal 21225103124

The document outlines a software engineering lab experiment focused on developing a movie website using Agile methodology. It emphasizes the importance of requirement engineering, stakeholder involvement, and the gathering of functional and non-functional requirements to ensure the final product meets user expectations. The document also details the roles of various stakeholders, the use of Trello for project management, and includes interview and survey techniques for effective requirement elicitation.

Uploaded by

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

Lab Report 3 Foysal 21225103124

The document outlines a software engineering lab experiment focused on developing a movie website using Agile methodology. It emphasizes the importance of requirement engineering, stakeholder involvement, and the gathering of functional and non-functional requirements to ensure the final product meets user expectations. The document also details the roles of various stakeholders, the use of Trello for project management, and includes interview and survey techniques for effective requirement elicitation.

Uploaded by

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

Bangladesh University of Business and Technology

CSE- 328
Software Engineering Lab
LAB EXPERIMENT: 03

Submitted by:
Foysal Ahmad
Intake: 49 | Section: 03 | Id: 21225103124
Department Of CSE

Submitted To:
Nasrin Akter
Lecturer
Department Of CSE
Bangladesh University of Business and Technology

Date of submission: 13 – 09 – 2024


1. Software Development Approach used in Movie Website Project:
1.1. Name of Software Development Approach: Agile Methodology
Short Description:
Agile is a software development approach that focuses on iterative and incremental
development. It promotes flexible responses to change, frequent collaboration, and
continuous feedback between the development team and stakeholders.
1.2. Reason for Selecting this Particular Approach:
Agile was chosen because it allows for continuous improvement, faster delivery, and
frequent feedback, ensuring that the product is aligned with the client’s evolving needs.
Given that a movie website might require constant updates, like adding new movies, user
feedback, or changes in design, Agile fits this dynamic development environment.
1.3. Advantages and Disadvantages of this Approach:
Advantages:
 Regular feedback ensures that the project meets client expectations.
 Flexibility allows for accommodating changes in the project requirements.
 Early and continuous delivery of valuable software.
Disadvantages:
 Requires a highly engaged client for frequent feedback.
 May result in scope creep due to constant changes.
Compared to other approaches like Waterfall, Agile offers a more adaptive and responsive
development cycle, especially suited for creative projects like websites.
1.4. How Will Your Development Team and Client Be Benefited by Following this
Approach?
 Development Team: Agile allows for frequent team collaboration, making the
development process more efficient. It also helps the team prioritize work based on the
most important features, ensuring timely delivery.
 Client: The client can provide feedback frequently and see the project evolve, ensuring
that the final product meets their expectations. This will also allow the client to request
adjustments if necessary.
1.5. Which Online Tool Are You Using for Project Management?
We are using Trello for project management. It allows for easy tracking of tasks, team
collaboration, and deadline management, which is essential for a project that requires
frequent updates and feedback.
2. Requirement Engineering - Stakeholder Discussions:
2.1. Define Requirement Engineering and Its Role in Software Development:
Requirement Engineering (RE) is the process of defining, documenting, and maintaining the
requirements of a software project. It involves identifying what stakeholders need from the
software and ensuring that the development team has a clear and complete understanding of
these needs. RE plays a crucial role in software development as it lays the foundation for the
entire project, ensuring that the end product meets user expectations, is delivered on time,
and is within budget.
2.2. Importance of Stakeholder Involvement in Eliciting Accurate and Complete
Requirements:
Stakeholder involvement is critical in requirement engineering because stakeholders are the
primary source of information regarding the system’s functionality and performance. Their
involvement ensures that the requirements reflect the true needs of the business and end-
users. Without active participation from stakeholders, the project runs the risk of misaligned
goals, leading to incomplete or incorrect requirements, which could result in project failure
or dissatisfaction with the final product.
2.3. Identify the Stakeholders for Your Project:
 Client (Anthony Russo from Marvel ): Main decision-maker, provides requirements,
feedback, and approval.
 End-Users (Movie Website Visitors): Users who will browse and use the website to
view movie information, trailers, and reviews.
 Content Creators (Movie Reviewers/Bloggers): Contributors who will upload
movie reviews or post content related to movies.
 Developers (The Webcreators): Team responsible for designing and implementing
the website.
 Security Experts (Optional): May be consulted to ensure the website adheres to
proper data protection standards and secure transactions.
2.4. Prepare a Set of Questions Based on the Project’s Needs:
For a formal meeting with stakeholders, the following questions will help gather detailed
requirements:
 General Questions:
1. What are your key objectives for the movie website?
2. What kind of movie information do you expect users to access on the site (e.g.,
trailers, ratings, reviews)?
3. Do you have a preferred look or design style for the website (e.g., modern,
minimalistic)?
 End-User Experience:
1. What actions should users be able to perform on the site (e.g., search movies,
watch trailers)?
2. Do you want users to leave reviews or ratings for movies? If yes, should they
log in to do so?
3. How important is mobile responsiveness for the website?
 Content Management:
1. Who will manage the content updates (e.g., adding new movies, updating
reviews)?
2. Do you need a content management system (CMS) for easy updates?
3. How often do you expect content updates (e.g., daily, weekly)?
 Security and Performance:
1. What level of data security is necessary for the website (e.g., SSL certificates,
secure logins)?
2. Are there any performance requirements in terms of loading speed, especially
for high-traffic periods?
3. Do you foresee a need for user accounts or restricted areas for premium
content?
Record the Feedback and Insights from Stakeholders:
Client Feedback:
 The client wants a user-friendly website that allows users to quickly search for movies
and access reviews and trailers.
 The design should be visually appealing with a clean and minimalistic style,
prioritizing mobile responsiveness.
 The website should have a content management system (CMS) to allow easy updates.
 There should be an option for users to leave reviews, but they must log in first.
End-User Feedback:
 Users prefer a simple search and navigation experience.
 They want fast access to trailers and ratings without multiple redirects.
 The ability to filter movies by genre, release date, and ratings is important.
Security Expert Feedback:
 The website should use secure logins and encrypted connections to protect user
information.
 Consider implementing measures to prevent spam in user-generated reviews.
3. Conducting Interviews and Survey:
3.1. How Interviews Are Used in Requirement Elicitation to Gather Detailed Insights
from Stakeholders:
Interviews are one of the most effective and direct techniques for gathering requirements in
the process of software development. They allow business analysts or project managers to
engage directly with stakeholders, understand their needs, expectations, and constraints, and
gather detailed insights into what the final product should deliver. Here’s how interviews are
beneficial in requirement elicitation:
 Tailored Questions for In-Depth Information: Interviews enable the interviewer to
ask open-ended questions that allow stakeholders to express their thoughts in detail.
This leads to a deeper understanding of their expectations and provides insight into
areas that may not be obvious through other methods.
 Clarification of Requirements: Through interviews, the interviewer can ask follow-
up questions for clarification. If a stakeholder's initial answer is vague or unclear, the
interviewer can immediately probe deeper to extract specific, actionable details.
 Identification of Pain Points: Stakeholders can share their challenges, frustrations, or
problems with existing systems or processes during interviews. Understanding these
pain points helps shape solutions that address the core issues and improve the user
experience.
 Exploring Unspoken Needs: Interviews give stakeholders a chance to bring up
aspects they might not have considered important enough to document, but which
become apparent during conversations. This allows the project team to gather both
stated and unstated requirements.
 Building Trust and Relationships: Interviews foster direct communication and
relationship building with stakeholders. This trust can lead to more open and honest
feedback, which in turn ensures more accurate and complete requirements are
gathered.
 Customization Based on Roles: Different stakeholders (e.g., end-users, managers,
clients) have different perspectives. Interviews can be tailored to each role to gather
relevant information about specific areas, ensuring that all facets of the system’s
requirements are captured.
 Flexible and Adaptive: Interviews can be conducted face-to-face, over the phone, or
via video conferencing, depending on what is most convenient for the stakeholders.
This flexibility allows interviews to be adapted to the stakeholder's availability and
location.
3.2 Prepare interview questions focusing on the system’s functionality and usability.
1. Introduction
BA: "Thank you for meeting with me today. I’d like to better understand your needs and
expectations for the movie website we’re developing. This will help us create a platform that
best aligns with your vision and requirements."
2. Understanding Current Preferences
BA: "Can you tell me how you currently engage with movie websites? Are there any features
or functionalities you particularly enjoy or find missing on other platforms?"
Client: "I usually visit a few movie review sites and watch trailers on streaming platforms
like YouTube. One issue I face is finding a single website that offers both in-depth reviews
and up-to-date movie news. I also think many sites have cluttered interfaces that make
browsing difficult."
3. Identifying Key Requirements
BA: "What specific features or functionalities would you like to see in the new movie
website? For example, how would you like users to discover movies or interact with
content?"
Client: "I’d like users to be able to search for movies by genre, release date, or director. It
would be great to have a section for user reviews and a rating system. A streamlined
homepage with featured trailers, news updates, and editor recommendations would be nice.
Also, a section dedicated to upcoming movie releases would help drive engagement."
4. Exploring Constraints and Preferences
BA: "Are there any constraints we should be aware of, such as budget, timeline, or technical
limitations? Also, do you have any preferences for how the website should look and feel?"
Client: "We have a moderate budget, so we want to make sure the key features are
prioritized. The design should be clean and modern with easy navigation, focusing on
simplicity. It also needs to be mobile-friendly since a lot of users will likely visit the site
from their phones."
5. Clarifying Non-Functional Requirements
BA: "How important are factors like site performance, data security, and reliability to you?
Additionally, do you have any concerns regarding scalability, considering the potential for
increased traffic?"
Client: "The website should load quickly, especially since it will feature a lot of multimedia
content like trailers. Security is important, especially if we have a user login system. As for
scalability, the site should be able to handle increasing traffic when new movie releases
generate higher engagement. It’s essential to avoid downtime, particularly around high-
traffic events like award seasons."
6. Future Vision and Growth
BA: "Do you see the website evolving over time? Are there any additional features you’d
like to add in the future?"
Client: "Yes, we’d like to eventually add a premium subscription model offering ad-free
browsing and exclusive content. It would also be great to have integration with ticket
purchasing systems for movie theaters, as well as support for virtual watch parties."
7. Conclusion
BA: "Thank you for sharing your insights. I’ll summarize everything we discussed and
provide you with a detailed plan for the website. If you have any additional thoughts, feel
free to reach out."
3.3 Create a survey based on the previous interviewand document the responses and insights.
Section 1
Section 2
Section 3
Section 4
Section 5

Do you have any additional comments or suggestions for the new movie website?
7 responses

No

Click and play

Phensy vai ja bolbe tai

no

User-friendly Design

100000001
4. Requirement Gathering:
4.1. Importance of Requirement Gathering in Software Projects:
Requirement gathering is one of the most critical phases in the software development
lifecycle (SDLC). It involves collecting the needs and expectations of the stakeholders to
ensure that the final software product meets their objectives. The importance of requirement
gathering can be summarized as:
 Defining the Scope: Properly gathering requirements helps in defining the scope of
the project. This prevents scope creep and ensures that the project stays within the
agreed-upon boundaries.
 Aligning Expectations: It helps align the development team's understanding with the
client's expectations. Misunderstanding the requirements can lead to dissatisfaction
with the final product.
 Avoiding Rework: Accurately gathered requirements reduce the chances of
significant changes or rework later in the development process. This, in turn, helps
save time and costs.
 Prioritization of Features: Requirement gathering allows the team to prioritize the
features based on stakeholder needs, which ensures that critical functionalities are
developed first.
 Foundation for Planning and Design: Requirements form the foundation for the
design and development phases. Without a clear understanding of what the software
should do, it becomes difficult to create an efficient design.
 Improved Communication: Effective requirement gathering fosters communication
between all stakeholders, ensuring that everyone is on the same page about the project
goals.

4.2. Defining Functional and Non-Functional Requirements:


 Functional Requirements: Functional requirements define the specific behaviors,
functions, and operations that the software must perform. These are directly related to
the tasks the system needs to accomplish. They describe what the system should do
and include use cases, interactions, and features that the system should support.
Examples:
o User authentication (login, registration)
o Search functionality for movies
o Ability to add, update, or delete movie reviews
o Responsive design that adjusts for different screen sizes
 Non-Functional Requirements: Non-functional requirements describe the qualities
or attributes of the system. They define how the system should behave in terms of
performance, security, usability, scalability, and reliability. These requirements are
critical for ensuring the software performs effectively under real-world conditions.
Examples:
o The website should load within 3 seconds on any device.
o The system must be able to handle up to 10,000 concurrent users.
o Data must be encrypted to ensure user privacy.
o The user interface should be intuitive and easy to navigate.
4.3. Functional and Non-Functional Requirements Document:
Functional Requirements for Movie Website Project:
1. User Registration and Login
o Users should be able to register by providing their email, password, and basic
personal details.
o Users should be able to log in and log out of their accounts.
2. Movie Search and Filtering
o Users should be able to search for movies based on title, genre, or release year.
o The system should allow users to filter movies by categories such as "Top
Rated" or "Most Popular."
3. User Reviews and Ratings
o Registered users should be able to leave reviews and rate movies.
o Users should be able to edit or delete their reviews.
4. Movie Details Page
o Each movie should have a dedicated page showing details such as synopsis,
director, cast, and user ratings.
o The system should display trailers, images, and related movies on the details
page.
5. Admin Panel
o Admin users should be able to add, update, and delete movie information.
o Admin should be able to manage user reviews and ratings.
6. Mobile-Friendly Design
o The website should be responsive and display correctly on mobile devices.
Non-Functional Requirements for Movie Website Project:
1. Performance
o The website should load within 3 seconds on a standard broadband connection.
o Search results should appear within 1 second of querying.
2. Scalability
o The system must be scalable to support up to 10,000 concurrent users without
performance degradation.
3. Security
o The system must implement SSL encryption for secure data transmission.
o User passwords should be stored securely using encryption.
4. Usability
o The website should be intuitive and easy to navigate for users of all technical
abilities.
o Navigation should be simple, with no more than three clicks needed to access
any section of the site.
5. Reliability
o The system should have an uptime of 99.9% to ensure availability for users.
6. Maintainability
o The codebase should be modular to allow for easy updates and future feature
additions.

You might also like