Dept. of Immigration & Passport, MoHA
Post: Sub-Assistant Maintenance Engineer
Exam Date: 13/10/2022 Subject Code: 105 Exam Taker: BPSC গ্রুপঃ ঘ (Software)
১(ক) Software Development এর Agile পদ্ধতির মূলনীতিগুলো লিখুন। ৫
- Individuals and Interactions over Processes and Tools
- Working Software over Comprehensive Documentation
- Customer Collaboration over Contract Negotiation
- Responding to Change over Following a Plan
- Deliver working software frequently in small increments.
- Welcome changing requirements, even in late development.
- Close collaboration between developers and customers.
- Continuous improvement through feedback.
- Maintain simplicity and technical excellence.
- Self-organizing and motivated teams.
- Individuals and Interactions over Processes and Tools
- Working Software over Comprehensive Documentation
- Customer Collaboration over Contract Negotiation
- Responding to Change over Following a Plan
- ছোট ছোট অংশে দ্রুত Working Software প্রদান করা।
- Development-এর শেষ পর্যায়েও requirement পরিবর্তন গ্রহণ করা।
- Developer ও customer-এর মধ্যে ঘনিষ্ঠ collaboration বজায় রাখা।
- Feedback-এর মাধ্যমে continuous improvement করা।
- Simplicity ও technical excellence বজায় রাখা।
- Self-organizing ও motivated team গঠন করা।
১(খ) Software Development এর Waterfall Model এর অসুবিধাগুলো কী কী? ৫
Waterfall Model is a linear and sequential Software Development model where each phase must be completed before the next phase begins.
Main Disadvantages:
- No Flexibility: It is difficult to change requirements once the development process has started.
- Late Testing: Testing is done after development is completed, so errors are found late.
- No Working Software Until Late Stage: The customer cannot see the working product until the end.
- High Risk and Uncertainty: If requirements are not clearly defined at the beginning, the project may fail.
- Not Suitable for Complex Projects: It is not ideal for large or dynamic projects where requirements frequently change.
- Customer Involvement is Limited: Customers are involved mainly at the beginning and end.
Waterfall Model একটি linear ও sequential Software Development model, যেখানে একটি phase শেষ না হলে পরবর্তী phase শুরু হয় না।
প্রধান অসুবিধাসমূহ:
- Flexibility কম: Development শুরু হওয়ার পর requirement পরিবর্তন করা কঠিন।
- Late Testing: Testing শেষ পর্যায়ে হয়, ফলে error দেরিতে ধরা পড়ে।
- Working Software দেরিতে পাওয়া যায়: Customer শেষ পর্যায় পর্যন্ত সম্পূর্ণ product দেখতে পায় না।
- High Risk: শুরুতে requirement পরিষ্কার না হলে project ব্যর্থ হতে পারে।
- Complex Project-এর জন্য উপযুক্ত নয়: Requirement বারবার পরিবর্তিত হলে এই model কার্যকর নয়।
- Customer Involvement কম: Customer মূলত শুরু ও শেষে যুক্ত থাকে।
২(ক) Software Development এর ক্ষেত্রে কত প্রকার Requirements পাওয়া যায়। উদাহরণ সহ Requirement সমূহ লিখুন। ৬
In Software Development, requirements are mainly of two types:
1) Functional Requirements:
Functional Requirements describe what the system should do. They define the functions and features of the system.
Examples:
- User can register and login.
- System will calculate total marks automatically.
- User can search products by name.
- Admin can generate reports.
2) Non-Functional Requirements:
Non-Functional Requirements describe how the system should perform. They define quality attributes and constraints.
Examples:
- The system should respond within 2 seconds.
- The system must support 1000 concurrent users.
- Data must be secure and encrypted.
- The system should be user-friendly.
Software Development-এ প্রধানত ২ প্রকার Requirement পাওয়া যায়:
১) Functional Requirement:
Functional Requirement বলে system কী কাজ করবে। এটি system-এর feature ও function নির্ধারণ করে।
উদাহরণ:
- User registration ও login করতে পারবে।
- System স্বয়ংক্রিয়ভাবে total marks গণনা করবে।
- User product search করতে পারবে।
- Admin report তৈরি করতে পারবে।
২) Non-Functional Requirement:
Non-Functional Requirement বলে system কীভাবে কাজ করবে। এটি performance, security ও quality নির্ধারণ করে।
উদাহরণ:
- System ২ সেকেন্ডের মধ্যে response দিবে।
- System একসাথে ১০০০ user সমর্থন করবে।
- Data secure ও encrypted থাকবে।
- System user-friendly হতে হবে।
২(খ) User Story ও Product Backlog কী?
User Story:
A User Story is a short and simple description of a feature written from the end user’s perspective. It describes what the user wants and why.
Format of User Story:
“As a <type of user>, I want <goal> so that <benefit>.”Example:
As a student, I want to view my exam results so that I can track my performance.
Product Backlog:
Product Backlog is a prioritized list of all features, User Stories, bug fixes, and improvements required for a product. It is maintained by the Product Owner in Agile methodology.
Example of Product Backlog Items:
- User registration feature
- Login system
- Payment integration
- Bug fixes
User Story:
User Story হলো একটি সংক্ষিপ্ত বর্ণনা, যা user-এর দৃষ্টিকোণ থেকে লেখা হয়। এতে বলা হয় user কী চায় এবং কেন চায়।
User Story-এর সাধারণ গঠন:
“As a <user type>, I want <goal> so that <benefit>.”উদাহরণ:
As a student, I want to view my exam results so that I can track my performance.
Product Backlog:
Product Backlog হলো একটি prioritized তালিকা, যেখানে product-এর সব feature, User Story, bug fix এবং improvement উল্লেখ থাকে। এটি Agile পদ্ধতিতে Product Owner পরিচালনা করেন।
Product Backlog-এর উদাহরণ:
- User registration feature
- Login system
- Payment integration
- Bug fixes
৩(ক) Data Flow Diagram (DFD) কী? DFD তে কী কী Symbols ব্যবহার করা হয়? ৫
Data Flow Diagram (DFD) is a graphical representation of how data moves through a system. It shows how data is input, processed, stored, and output in an information system.
Main Symbols Used in DFD:
1) Process:
Represents processing of data.
Symbol: Circle or rounded rectangle.
2) Data Flow:
Represents the movement of data from one part of the system to another.
Symbol: Arrow (→).
3) Data Store:
Represents storage of data (file or database).
Symbol: Two parallel horizontal lines.
4) External Entity:
Represents a person, organization, or system outside the main system that interacts with it.
Symbol: Rectangle.
Data Flow Diagram (DFD) হলো একটি graphical উপস্থাপন, যা দেখায় একটি system-এর মধ্যে data কীভাবে প্রবাহিত হয়। এটি দেখায় data কীভাবে input হয়, process হয়, store হয় এবং output হয়।
DFD-তে ব্যবহৃত প্রধান Symbols:
১) Process:
Data process বা রূপান্তর নির্দেশ করে।
Symbol: বৃত্ত (Circle) বা rounded rectangle।
২) Data Flow:
System-এর এক অংশ থেকে অন্য অংশে data-এর গতি নির্দেশ করে।
Symbol: Arrow (→)।
৩) Data Store:
Data সংরক্ষণের স্থান (file বা database) নির্দেশ করে।
Symbol: দুইটি সমান্তরাল সরলরেখা।
৪) External Entity:
System-এর বাইরের ব্যক্তি, সংস্থা বা system যা system-এর সাথে যোগাযোগ করে।
Symbol: Rectangle।
৩(খ) CSS কী? কতভাবে একজন Website Develop কারী তার Page এ CSS ব্যবহার করতে পারে। ৫
CSS (Cascading Style Sheets):CSS is a style sheet language used to control the design and layout of a web page. It is used to define colors, fonts, spacing, positioning, and responsiveness of HTML elements.
Ways to Use CSS in a Web Page:
There are three ways a Website Developer can use CSS in a web page:
1) Inline CSS:
CSS is written inside the HTML element using the style attribute.
Example:
<p style=”color: red;”>Hello</p>
2) Internal CSS:
CSS is written inside the <style> tag within the <head> section of the HTML file.
Example:
<style>
p { color: blue; }
</style>
3) External CSS:
CSS is written in a separate .css file and linked to the HTML file using the <link> tag.
Example:
<link rel=”stylesheet” href=”style.css”>
CSS হলো একটি style sheet language, যা web page-এর design ও layout নিয়ন্ত্রণ করে। এটি color, font, spacing, position এবং responsiveness নির্ধারণ করে।Website-এ CSS ব্যবহারের উপায়:
একজন Website Developer প্রধানত ৩ভাবে CSS ব্যবহার করতে পারেন:
১) Inline CSS:
HTML element-এর ভিতরে style attribute ব্যবহার করে CSS লেখা হয়।
উদাহরণ:
<p style=”color: red;”>Hello</p>
২) Internal CSS:
HTML file-এর <head> section-এর মধ্যে <style> tag ব্যবহার করে CSS লেখা হয়।
উদাহরণ:
<style>
p { color: blue; }
</style>
৩) External CSS:
আলাদা .css file-এ CSS লিখে <link> tag-এর মাধ্যমে HTML-এর সাথে যুক্ত করা হয়।
উদাহরণ:
<link rel=”stylesheet” href=”style.css”>
৪(ক) সংজ্ঞা লিখুনঃ WWW, URL, HTTP, IP Address, Router ৫
1) WWW (World Wide Web):
WWW is a system of interlinked web pages and resources accessed through the Internet using a web browser.
2) URL (Uniform Resource Locator):
URL is the address of a specific resource on the Internet that specifies its location.
3) HTTP (HyperText Transfer Protocol):
HTTP is a communication protocol used to transfer web pages from a web server to a web browser.
4) IP Address (Internet Protocol Address):
IP Address is a unique numerical address assigned to a device in a network to identify and communicate with it.
5) Router:
Router is a networking device that forwards data packets between different networks based on IP address.
সংজ্ঞাসমূহ:
১) WWW (World Wide Web):
WWW হলো Internet-এর মাধ্যমে web browser ব্যবহার করে প্রবেশযোগ্য আন্তঃসংযুক্ত web page ও resource-এর সমষ্টি।
২) URL (Uniform Resource Locator):
URL হলো Internet-এ কোনো নির্দিষ্ট resource-এর ঠিকানা।
৩) HTTP (HyperText Transfer Protocol):
HTTP হলো একটি communication protocol, যা web server থেকে web browser-এ web page স্থানান্তর করতে ব্যবহৃত হয়।
৪) IP Address (Internet Protocol Address):
IP Address হলো একটি অনন্য সংখ্যাসূচক ঠিকানা, যা network-এ একটি device-কে সনাক্ত করে।
৫) Router:
Router হলো একটি networking device, যা IP address-এর ভিত্তিতে এক network থেকে অন্য network-এ data packet প্রেরণ করে।
৪(খ) Client-side scripiting এর তুলনায় Server side scripting এর সুবিধাগুলো কী কী? ৫
Server-Side Scripting is executed on the web server before the result is sent to the client’s browser. Examples: PHP, ASP.NET, JSP, Python.
Main Advantages:
- Better Security: Source code is hidden from users, reducing risk of hacking.
- Database Connectivity: Can easily connect to database for storing and retrieving data.
- Centralized Control: Processing happens on the server, so control remains with the server.
- Authentication & Authorization: Secure login and user access control can be implemented.
- Browser Independence: Works consistently across different browsers.
- Dynamic Content Generation: Can generate dynamic web pages based on user request.
Client-Side Scripting-এর তুলনায় Server-Side Scripting-এর সুবিধা:
Server-Side Scripting server-এ execute হয় এবং পরে ফলাফল browser-এ পাঠানো হয়। উদাহরণ: PHP, ASP.NET, JSP, Python।
প্রধান সুবিধাসমূহ:
- উচ্চ নিরাপত্তা: Source code user দেখতে পায় না, তাই hacking-এর ঝুঁকি কম।
- Database সংযোগ: সহজে database-এ data store ও retrieve করা যায়।
- Centralized Control: Processing server-এ হওয়ায় নিয়ন্ত্রণ server-এর হাতে থাকে।
- Authentication ও Authorization: Secure login ও user access control বাস্তবায়ন করা যায়।
- Browser Independence: ভিন্ন browser-এ একইভাবে কাজ করে।
- Dynamic Content: User request অনুযায়ী dynamic web page তৈরি করা যায়।
৫(ক) Software Testing কত প্রকার ও কী কী?Testing এর ক্ষেত্রে Boundary Value Analysis(BVA) এবং Equivalence Partitioning কীভাবে কাজ করে? ১০
Software Testing is mainly of two types:
1) Manual Testing:
Testing performed manually by a tester without using automation tools.
Testing performed using automation tools and scripts.
Based on level, testing can also be divided into:
- Unit Testing
- Integration Testing
- System Testing
- Acceptance Testing
Boundary Value Analysis (BVA):
BVA is a Black Box Testing technique used to test boundary values of input ranges. Errors often occur at the minimum and maximum limits.
How it Works:
If input range is 1 to 100, test values will be:
0, 1, 2, 99, 100, 101
It checks values at and near the boundary limits.
Equivalence Partitioning (EP):
Equivalence Partitioning is a Black Box Testing technique where input data is divided into valid and invalid partitions (groups). One test case is selected from each partition.
How it Works:
If input range is 1 to 100:
- Valid Partition: 1–100 (e.g., test 50)
- Invalid Partition: less than 1 (e.g., test -5)
- Invalid Partition: greater than 100 (e.g., test 150)
Exam Point:BVA tests boundary values, while Equivalence Partitioning divides inputs into groups and tests one value from each group.
Software Testing-এর প্রকারভেদ:
Software Testing প্রধানত ২ প্রকার:
১) Manual Testing:
Tester নিজে manually test করে, automation tool ব্যবহার করে না।
২) Automated Testing:
Automation tool ও script ব্যবহার করে testing করা হয়।
Level অনুযায়ী Testing-এর প্রকার:
- Unit Testing
- Integration Testing
- System Testing
- Acceptance Testing
Boundary Value Analysis (BVA):
BVA একটি Black Box Testing technique, যেখানে input range-এর boundary value পরীক্ষা করা হয়। সাধারণত error boundary-তে বেশি হয়।
কীভাবে কাজ করে:
যদি input range 1 থেকে 100 হয়, তাহলে test value হবে:
0, 1, 2, 99, 100, 101
অর্থাৎ minimum ও maximum-এর কাছাকাছি মান পরীক্ষা করা হয়।
Equivalence Partitioning (EP):
Equivalence Partitioning একটি Black Box Testing technique, যেখানে input-কে valid ও invalid group-এ ভাগ করা হয়। প্রতিটি group থেকে একটি করে test case নেওয়া হয়।
কীভাবে কাজ করে:
যদি input range 1 থেকে 100 হয়:
- Valid Partition: 1–100 (যেমন 50)
- Invalid Partition: 1-এর কম (যেমন -5)
- Invalid Partition: 100-এর বেশি (যেমন 150)
