চলুন সফটওয়্যার বানানোর যাত্রায় নামি - পর্ব ০১
আজকে আমরা সফটওয়্যার
ইঞ্জিনিয়ারিং সাইকেলের পূর্ণাঙ্গ বাস্তবায়ন দেখার চেষ্টা করব একটি ছোট ওয়েব এপ্লিকেশন
তৈরির মাধ্যমে । আজকের প্রোজেক্ট Todo
Application যা আমরা তৈরী করব Django, HTML, Bootstrap, JavaScript ব্যবহার করে।
সফটওয়্যার ডেভলপমেন্ট
লাইফ সাইকেলের প্রথম ধাপ সফটওয়্যার রিকুয়ারমেন্ট এনালাইসিস। এই ধাপে ধাপে ধাপে ক্লায়েন্টের
সাথে আলোচনা করা হয় এবং তাদের কাছে প্রাপ্ত ফিডব্যাকগুলো লিপিবদ্ধ করা হয়। ক্লায়েন্টের
ফিডব্যাকের উপর ভিত্তি করে ফাংশনাল এবং নন-ফাংশনাল রিকুয়ারমেন্টগুলো সাজানো হয়।
যেমনঃ এই প্রজেক্টে
আমি নিজেই ক্লায়েন্ট , আমার চাহিদা হলো এই এপ্লিকেশন দিয়ে আমি আমার দৈনন্দিন কাজের
একটা রেকর্ড রাখতে পারব। কাজগুলো ক্যাটাগরি হিসেবে ভাগ করতে পারব। চাইলে আগের কাজগুলো
তারিখের ভিত্তিতে সাজাতে পারব। আমার জন্যে
রিমাইন্ডার তৈরি করবে এই এপ্লিকেশনটি। এগুলোই আমার জন্যে ফাংশনাল রিকোয়ারমেন্ট। সোজা
বাংলা ভাষায় এই এপ্লিকেশনটা দিয়ে আমি যা যা করতে পারব তাই ফাংশনাল রিকোয়ারমেন্ট।
এখন আসে নন-ফাংশনাল
রিকুয়ারমেন্ট,
যেহুতু এই এপ্লিকেশনটা
আমি শুধুমাত্র আমার জন্যে ব্যবহার করব তাই এই এপ্লিকেশনের পারফর্মেন্স হতে হবে সর্বোচ্চ
পর্যায়ের। আমার সিডিউল করা টাস্ক গুলো যাতে কেউ দেখতে না পারে তার নিশ্চয়তা নিশ্চিত
করতে হবে।
এ ছাড়াও ইউজার
হিসেবে আমার কি কি আলাদা চাহিদা, বিভিন্ন মাইলস্টোন , প্রাপ্ত ফলাফল এবং সম্ভাব্য রিক্স
নিয়ে আলোচনা হতে পারে এই অংশে।
উদাহরণ স্বরূপঃ
Requirements
analysis is a crucial step in the software development process as it helps in
defining the scope and features of the application. Here are some key aspects
to consider:
1.
Functional
Requirements:
a. User Registration and Authentication:
(1)
Users should be
able to create accounts.
(2)
Authentication to
ensure secure access to the todo list.
b. Task Management:
(1)
Users can add,
edit, and delete tasks.
(2)
Tasks should have
a title, description, due date, and priority.
(3)
Users can mark
tasks as completed.
c. Categories or Tags:
(1)
Allow users to
categorize tasks or add tags for better organization.
d. Sorting and Filtering:
(1)
Provide options to
sort tasks by due date, priority, or completion status.
(2)
Allow filtering by
category or tags.
e. Reminders and Notifications:
(1)
Users can set
reminders for tasks.
(2)
Option to receive
notifications (email, push) for upcoming tasks.
f. Collaboration:
(1)
Share tasks or
lists with other users.
(2)
Real-time
collaboration on shared tasks.
g. Archiving and History:
(1)
Archive completed
tasks.
(2)
View task history
or activity log.
h. Accessibility:
(1)
Ensure the
application is accessible to users with disabilities.
2. Non-functional Requirements:
a.
Performance:
(1)
Quick response
times, even with a large number of tasks.
(2)
Scalability to
handle a growing user base.
b.
Security:
(1)
Secure user
authentication and authorization.
(2)
Encryption of
sensitive data (passwords, task details).
c.
Usability:
(1)
Intuitive and
user-friendly interface.
(2)
Support for
multiple platforms (web, mobile).
d.
Reliability:
(1)
Minimal downtime.
(2)
Regular data
backups.
e.
Compatibility:
(1)
Cross-browser
compatibility for web applications.
(2)
Support for
various devices (desktop, tablet, mobile).
f.
Data Storage:
(1)
Efficient and
secure storage of user data and tasks.
(2)
Regular data
backups.
g.
Scalability:
(1)
Ability to handle
a growing number of users and tasks.
3. User Stories:
a.
As a user, I want
to easily add new tasks with details such as due date and priority.
b.
As a user, I want
to receive notifications for upcoming tasks.
c.
As a user, I want
to collaborate on tasks with other users.
d.
As a user, I want
to filter and sort my tasks for better organization.
4. Constraints:
a.
Budget constraints
for development.
b.
Time constraints
for project completion.
5. Assumptions:
a.
Users have access
to the internet for real-time collaboration features.
b.
Users are using
modern browsers/devices.
6. Risks:
a.
Potential security
vulnerabilities.
b.
User adoption may
be affected if the interface is not user-friendly.
This
is a basic starting point, and you can tailor these requirements based on the
specific needs and goals of your todo application. It's also recommended to
involve potential users or stakeholders in the requirements gathering process
to ensure the application meets their expectations.
পরবর্তী আলোচনা
হবে দ্বিতীয় পর্ব


মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন