NAME: Muhammad Ali
SEMESTER: 4th
STUDENT ID: BSE-22S-075
Department : Software Engineering
Course coordinator: Ameen Khawaja
Assignment No: 01
Q1: Difference in Website, Webpage, and Mobile App; E-commerce vs. Marketing
Based Web/Mobile App
1. Website vs. Webpage vs. Mobile App:
• Website: A website is a collection of related web pages that are typically
identified by a common domain name. It can contain various types of content and
functionality and is accessible through a web browser.
• Webpage: A webpage is a single document within a website. It is what you
see when you click on a link or type a URL into your browser. Webpages are the
building blocks of a website.
2. Mobile App: A mobile app is a software application designed to run on
mobile devices, such as smartphones and tablets. Unlike websites, apps are
usually downloaded and installed on the device.
3. E-commerce vs. Marketing Based Web/Mobile App:
• E-commerce Web/Mobile App: This focuses on facilitating online
transactions, such as buying and selling goods or services. It includes features like
product listings, shopping carts, and secure payment gateways.
4. Marketing Based Web/Mobile App: This is designed to promote products or
services, build brand awareness, and engage users. It may include features like
content marketing, social media integration, and lead generation forms.
________________________________________
Q2: Steps to Work on a Mobile App (Basic Installation to First Page):
1. Install Development Environment:
• Download and install a suitable integrated development environment (IDE)
like Android Studio or Xcode.
2. Create a New Project:
• Start a new project within the IDE, specifying the app's name, target
platform, and other settings.
3. Design the User Interface:
• Use the IDE's interface builder to design the app's user interface, including
screens and navigation.
4. Code the Functionality:
• Write the code to implement the app's functionality using the chosen
programming language (e.g., Java, Swift).
5. Test the App:
• Use emulators or test devices to ensure the app works as expected.
6. Debugging and Optimization:
• Debug and optimize the code for performance and responsiveness.
7. Build and Deploy:
• Build the app for the target platform and deploy it on app stores or test
devices.
________________________________________
Q3: Most Economic Domain Hosting Provider for Business:
• Economic Hosting Provider: Bluehost is often considered cost-effective for
business hosting, offering reliable services with various plans to suit different
needs.
• Alternative Hosting Providers (at least 5):
1. Site Ground
2. HostGator
3. A2 Hosting
4. In Motion Hosting
5. Dream Host
• Cost Analysis: Compare the costs of these providers for hosting your
site/page for at least 6 months.Q4: Steps to Register Space in Clouds and Other
Hosting Options:
1. Registering Space in Clouds (e.g., AWS, Azure, Google Cloud):
• Sign up for an account on the chosen cloud platform.
• Navigate to the cloud services section.
• Select and configure the desired resources (e.g., virtual machines, storage).
• Check the pricing details for the selected resources.
2. Alternative Hosting Spaces (e.g., Shared Hosting, Dedicated Servers):
• Shared Hosting: Suitable for small websites; resources are shared among
multiple users.
• Dedicated Servers: Entire server dedicated to your website; provides more
control and resources.
3. Cost and Specifications Comparison:
• Compare the costs and specifications of cloud services, shared hosting, and
dedicated servers based on your project requirements.
4. Other Hosting Areas (e.g., Content Delivery Networks - CDNs):
• CDNs like Cloudflare can be used to distribute content globally, enhancing
website performance.
Q:5 Draw the structural diagrams of your own project - including -(class
diagram, activity diagram, sequential diagram , composite diagram object
diagram and the communication diagram?
Q:6 Write short intro of your all screen decided in the project-(5-6
times) in according to the structural diagrams?
Certainly! Below is a short introduction to each screen in your meme collection
mobile application, aligned with the structural diagrams:
Classes CMMS:
1. User: Class managing user authentication (sign up, login).
2. DataCollector: Class handling the collection and management of information
related to deceased individuals.
3. Category: Class governing the categorization of memorial information.
4. DisplayInformation: Class responsible for displaying individual details related to
deceased individuals.
Screens/Functionalities CMMS:
1. Information Collection Screen: Central screen managed by the DataCollector
class allowing users to collect and manage information related to deceased
individuals.
2. Category Selection Screen: Presents various categories related to memorial
services and uses the Category class to display information based on user
preferences.
3. Information Display Screen: Displays individual details related to deceased
individuals using the DisplayInformation class, allowing users to view and navigate
between memorial information.
4. Data Upload Screen: Enables users to contribute information to the collection,
which is facilitated by the DataCollector class.
Additional Functionality for CMMS App:
1. User Sign Up/Login: Users can sign up or log in to access the application's
functionalities.
2. Information Upload for Deceased Individuals: Users can upload information
about deceased individuals, including their location, date of death, and burial
location.
3. Memorial Reminder Notification: The app will send reminder notifications for
the anniversary or memorial events of deceased individuals, providing a way for
users to commemorate their loved ones' passing.
Q7: Main Difference Between ERP and UML Diagram:
ERP (Enterprise Resource Planning):
Definition: ERP is a type of software that organizations use to manage their day-
to-day activities. It integrates various business processes such as planning,
purchasing, inventory, sales, marketing, finance, and human resources into one
unified system.
Focus: ERP focuses on the overall integration and optimization of business
processes within an organization.
Purpose: The primary purpose of ERP is to improve efficiency, streamline
processes, and provide a centralized data source for decision-making.
UML Diagram (Unified Modeling Language):
Definition: UML is a standardized modeling language in the field of software
engineering. It is used to visually represent a system's design through various
diagrams, helping in the understanding, design, and documentation of software
systems.
Focus: UML diagrams are focused on visualizing and documenting the structure
and behavior of a software system.
Purpose: UML diagrams aid in communication among stakeholders,
understanding system architecture, and guiding the implementation process.
Main Difference:
Scope: ERP is a software system that addresses broader business process
management, while UML diagrams are a set of visual tools used for software
design and documentation.
Q8: Different Categories of UML Diagrams and Tools:
1. Structural Diagrams:
Class Diagram: Describes the structure of a system by showing classes, their
attributes, and relationships.
Object Diagram: Represents instances of classes and the relationships between
these instances.
2. Behavioral Diagrams:
Use Case Diagram: Illustrates the interactions between a system and its external
actors.
Sequence Diagram: Displays how objects interact and in what order.
3. Interaction Diagrams:
Activity Diagram: Represents workflows and processes within a system.
Communication Diagram: Shows how objects interact with each other in terms of
sequenced messages.
4. Deployment Diagram:
Deployment Diagram: Visualizes the hardware components where software
components are deployed.
UML Tools:
Lucid chart: A web-based diagramming tool that supports UML diagrams with
collaboration features.
Visual Paradigm: A comprehensive UML tool that supports various diagram types
and offers team collaboration features.
Enterprise Architect: A powerful UML modeling tool with support for software
development, business modeling, and system engineering.
Q9: All Database Languages with Examples:
SQL (Structured Query Language):
Example Queries:
Select Query: SELECT column1, column2 FROM table WHERE condition;
Insert Query: INSERT INTO table (column1, column2) VALUES (value1,
value2);
Update Query: UPDATE table SET column1 = value1 WHERE condition;
NoSQL (Not Only SQL):
Example Queries:
Insert Document: db.collection.insert({ field1: value1, field2: value2 });
Query Document: db.collection.find({ field: value });
Update Document: db.collection.update({ field: value }, { $set:
{ fieldToUpdate: newValue } });
PL/SQL (Procedural Language/SQL):
Example Queries:
Procedure: CREATE PROCEDURE procedure_name AS ...
Function: CREATE FUNCTION function_name RETURN data_type AS ...
Trigger: CREATE TRIGGER trigger_name BEFORE INSERT ON table FOR EACH
ROW .
Q10: Scenario - Basic Structure, Structural Diagram, Database Structure,
Relational Diagram, and SQL Commands:
Scenario: Design a simple library management system.
1. Basic Structure:
Users interact with a system to borrow and return books.
Basic entities: User, Book, Borrowing Record.
St
ructural Diagram (Class Diagram):
2. Database Structure (Table Definitions):
Users Table:
CREATE TABLE Users (
userId INT PRIMARY KEY,
userName VARCHAR(255),
borrowedBooks INT
);
Books Table:
CREATE TABLE Books (
bookId INT PRIMARY KEY,
title VARCHAR(255),
author VARCHAR(255)
);
Borrowings Table:
CREATE TABLE Borrowings (
borrowingId INT PRIMARY KEY,
userId INT,
bookId INT,
borrowDate DATE,
returnDate DATE
);
Relational Diagram:
3. SQL Commands (for creating the structure):
Users Table:
INSERT INTO Users (userId, userName, borrowedBooks)
VALUES (1, 'John Doe', 0);
Books Table:
INSERT INTO Books (bookId, title, author)
VALUES (1, 'Introduction to SQL', 'Jane Smith');
Borrowings Table:
INSERT INTO Borrowings (borrowingId, userId, bookId, borrowDate, returnDate)
VALUES (1, 1, 1, '2023-01-01', NULL);
This scenario demonstrates the transition from a basic structure to structural,
database, relational diagrams, and SQL commands for creating the system.
Adjustments may be needed based on specific requirements and database
systems.
Cloud Space:
Cloud space refers to the virtual storage and computing resources provided by
cloud service providers. It offers scalability, flexibility, and accessibility. Key points
include:
Scalability: Easily scale resources up or down based on demand.
Flexibility: Choose from various services (IaaS, PaaS, SaaS) based on needs.
Accessibility: Access data and applications from anywhere with an internet
connection.
Cost-Efficiency: Pay for the resources you use, avoiding upfront
infrastructure costs.
Security: Cloud providers implement robust security measures to protect
data.
Popular Providers: AWS, Azure, Google Cloud, and others offer diverse
cloud services.