You are on page 1of 87

AKAKI KALITY POLYTECNIC COLLEGE

ICT DEPARTMENT
Modeling website technical requirements
Modeling website technical requirements
Technical requirements are the technical issues
that must be considered to successfully
complete a project.
Technical requirements can refer to systems like
software, electronic hardware devices or
software-driven electronic devices.
1.1.Identifying business requirements, hardware and
software.
Business requirements relate to a business' objectives, vision
and goals. They also provide the scope of a business need or
problem that needs to be addressed through a specific
activity or project.
 Good business requirements must be:
clear and are typically defined at a very high level.
 provide enough information and guidance to help ensure
that the project fulfils the identified need.
 states the 'why' for a project
…Cont’d
Software requirements
The software requirements are description of
features and functionalities of the target
system. The requirements can be obvious or
hidden, known or unknown, expected or
unexpected from client’s point of view.
Functional requirements are product features or
functions that developers must implement to enable
users to accomplish their tasks. So, it's important to
make them clear both for the development team and
the stakeholders. Generally, functional requirements
describe system behavior under specific conditions.
Functional requirements examples
Functional requirements need to be clear,
simple, and unambiguous. Here are some
examples of well-written functional
requirements:
The system must send a confirmation email
whenever an order is placed.
The system must allow blog visitors to sign up
for the newsletter by leaving their email.
The following are the functional requirements
for a Library Management System:
 Ability to add and remove books from the
library.
 Ability to search for books in the library by title,
author, or ISBN.
 Ability to check out and return books.
 Ability to display a list of all books in the library.
Non functional Requirement
 Performance,
 scalability,
 portability,
 compatibility,
 reliability,
 availability,
 maintainability, security, localization, and
usability.
The following are the non-functional
requirements for a Library Management
System:
 User-friendly interface for easy navigation
and use.
 High performance and scalability to handle
large amounts of data.
 Data security and protection to ensure the
privacy and confidentiality of library patrons
and their information.
Hardware requirements
The most common set of requirements defined by any
operating system or software application is the physical
computer resources, also known as hardware
Hardware requirements
 Architecture
 Processing power.
 Memory.
 Secondary storage.
 Display adapter.
 Peripherals.
Architecture
All Computer hardware system are designed for particular
computer architecture
Processing power
The power of central processing unit (CPU) is a
fundamental system requirement for any software.
Memory
All software, when run, resides in the random access
memory (RAM) of a computer. Memory requirements are
defined after considering demands of the application,
operating system, supporting software and files, and other
running processes.
Secondary storage – Hard-disk
requirements vary, depending on the size of
software installation, temporary files
created and maintained while installing or
running the software, and possible use of
swap space (if RAM is insufficient).
Display adapter – Software requiring a
better than average computer graphics
display, like graphics editors.
Peripherals – Some software applications
need to make special use of some
peripherals.
It helps end users access and use the
functionalities of a computer.
Such peripherals include CD-ROM drives,
keyboards, pointing devices, network
devices, etc.
1.2 Defining software and hardware types to meet
business requirement

Types of Software
System Software
The functions of all the physical
components of a computer system are
guided by some instructions or program
collectively known as System Software.
System Software controls all internal
activities inside a computer system and
between all attached components of a
computer system.
User Interface
It is the medium by which user interact with
any software. This interface may by text based
on graphical based or it may be touch screen.
Based on this User interface may be
categorized
as:
 CUI (Character User Interface)
 GUI (Graphical User Interface)
Character User Interface
This type of interface requires user to type each
instructions on its prompt to send request to
computer.
 User must remember each command with proper
syntax to perform its operation.
 It is not very easy and user friendly.
 Example of this type of interface was DOS (Disk
Operating System), it is still available with windows
as CMD program where we can type the DOS
commands
Graphical User Interface
 It is more user friendly interface than CUI which uses
images, icons to represent the option, commands.
 Various GUI components are used like: Labels, Text
Box, Buttons, Check Box, Radio Buttons, List Box,
Combo Box, Password field, Menus, Dialog Box etc.
 GUI Interface is Event Drive i.e. user must perform
event like – Click, Double Click, Drag to trigger the
action.
 Now days every OS/Applications are GUI based
System Software - BIOS
 The basic input/output system (BIOS) is also
commonly known as the System BIOS. The BIOS
is boot firmware, a small program that controls
various electronic devices attached to the main
computer system.
 It is designed to be the first set of instructions
run by a Computer when powered on. The initial
function of the BIOS is to initialize system
devices such as the RAM, hard disk, CD/DVD
drive, video display card, and other hardware.
Device Driver
 A device driver is a system software that
acts like an interface between the Device
and the user or the Operating System. All
computer accessories like Printer, Scanner,
Web Camera, etc. come with their own
driver software.
 These driver software help the operating
system and other application software to
communicate with those devices for
optimal use
Application Software
Application software runs on Operating system. It uses the
services of operating system to interact with hardware.
Set of software to carry out specific task like creating
documents (word processor ), calculations and analysis
(Spreadsheet), Presentations (Power point), Railway
reservation, library management etc.
It is of 4 type:
 Utility software
 General Purpose Software
 Customized software
 Developer tool
Utility Software
Utility software for efficient working of our computer and
other task. Various utility softwares available like
Text Editor : for storing short notes, message, coding.
Examples are : Notepad, Notepad++, WordPad
 To-Do task : to manage the work.
 Compression : to compress i.e. reduce the size of file to
transfer file from one computer to another. Examples
are : WinZip, WinRAR, ZIP etc.
Disk Defragmenter : Disk de-fragmentation
utility software speeds up the system by
rearranging such fragmented files stored on a
disk in contiguous locations in order to optimize
the system performance.
Anti-Virus : to protect our computer from
threats like Virus, worm, rojan horse, banking
frauds etc.
General Purpose software
These are the common software used by everyone in the world.
Examples are:
Word Processing : for creating document, letters,
applications. Example : MS-Word, Writer etc.
Spreadsheet : for storing data in tabular form, performing
simple calculation, visualization etc. Examples : MS-Excel, calc.
Presentation : for creating personal of professional
presentation in attractive and interactive way. Examples:
MS-PowerPoint,
Database : to store huge amount of data and also perform
queries on stored data. Examples: Oracle, MySQL, etc.
Developer tools
When a programmer starts the process of writing a program
to develop software for any type of application, he/she
requires a series of software developing tools like code editor,
debugger and compiler.
A platform where all these software developing tools are
bundled into a package is known as Integrated Development
Environment(IDE).
 Popular development tools are : Net Beans, Eclipse, IDLE,
Visual Studio.
 Each IDE provides features of: Editor,
Compiler/Interpreter, Debugger, Automation tool, output
window etc.
Compiler
 Compilers are used to convert High Level
Language program to machine language
 It convert the entire program in machine
language in one go.
 If encounter errors, it report all the error along
with the line number.
 It convert HLL code in machine code if all errors
are remove, once converted we can directly
execute program without interacting with the
compiler.
Types of Hardware
Several hardware components are attached to the
computer system as per the requirements. Computer
hardware consists of mechanical and electronic
elements. The hardware of the computer system
includes a monitor, CPU, keyboard, mouse, printer,
sound system, RAM, hard disk, and many more.

Hardware is used for taking input data from the user,


storing it, displaying the output, and executing the
commands given by an individual.
Different Types Of Computer Hardware
There are mainly two types of computer
hardware: Internal and external
hardware components.
Internal Hardware Components
The motherboard is a central printed circuit
board (PCB) that connects various
components directly or indirectly. It is the
backbone of the computer system. It enables
electrical and logical channels for
communication and data transfer between the
CPU, RAM, storage devices, expansion cards,
and other computer hardware components.
RAM
RAM (Random Access Memory) is computer hardware that
stores and processes information. The processing speed of
RAM is much faster than a hard disk. RAM is a volatile device,
meaning all stored information gets deleted when a computer
system shuts down.
Hard Disk
The hard disk is another internal computer hardware used to
store data. It can be preinstalled in the CPU or used as an
external device. The hard disk is the non-volatile
SSD
A solid-state drive (SSD) is a computer data storage device based
on semiconductors.
SSDs are a popular choice for laptops, desktops, servers, and
other devices because they offer faster read/write speeds, lower
power consumption, and higher durability than HDDs.
CPU
CPU (Central Processing Unit) is the core hardware of the
computer system, which interprets and executes most of the
commands using other computer parts.
The CPU, also known as the computer’s brain, executes every
operation of the computer system.
1.3 Identifying appropriate standards, software and
hardware required to develop the site.

Website Standards
Web design standards are norms and models for web
page layouts and UX features
They are guidelines for usability.
 What web design features are standard?
 What elements should be included? And where?
 What elements should be avoided?
The website Standards answers this Quastions
Which features are standard on websites?
1. Logo in the top left corner
• Don’t make it too big. That’s unnecessary.
• Don’t use the version with the tagline locked
in. That’s illegible, especially on mobile.
• Don’t forget to compress the image to reduce
page speed. It’s one of the first things to load.
2. Put Social media icons in the Bottom
Remove the social icons from your header. Put them at the
very bottom of the visual hierarchy, down in the footer.
3. Search tool in the header
If your site has a lot of pages or an active content marketing
program, a site search tool may be helpful to visitors.
4. Contact button in the top right
If you’ve got a contact button in the top right, keep it there.
Make sure there are other, more specific calls to action in
other key locations.
5. Main Navigation in the header
Horizontal navigation saves pixel width for content, compared to
the left-side navigation menus in earlier eras of web design. It’s
expected and space efficient.
6. Dropdown menus
Dropdowns get user to the right page faster, where the chance for
conversion is higher.
Use dropdowns only if the section has a lot of pages and
subsections.
7. Slideshows
Slideshows show one image/slide at a time, which slides into the
next time in a loop.
8. Descriptive navigation labels
Descriptive labels help users identify specific
components within the content. Labels and
headings do not need to be lengthy.
9. Social proof or other supportive evidence
Software Used to Develop Site
 Notepad++
 Visual Studio Code
 Web Storm
 Brackets
 ShiftEdit
 Sublime Text
 Bootstrap
 Wix
 Word press
 Browser : Firefox, Chrome
 MySQL
 Oracle
Hardware Used to Develop website
Computer fewer than 5 years old strongly
recommend
• Processor: Minimum 1 GHz; Recommended
2GHz or more
• Hard Drive: Minimum 32 GB; Recommended 64
GB or more
• Memory (RAM): Minimum 1 GB; Recommended
4 GB or above
1.4 Identifying website architecture principles.
Basic Web Architecture
Two-Tiered Architecture
The Web Is two-Tiered Architecture A web
browser Displays Information Content and
a web server that transfer information to
the client
Web browser
 A web browser is a software application for
retrieving, presenting and traversing
information resources on the world wide web.
 The primary purpose of a web browser is to
bring information resources to the user.
 The major web browser are Windows Internet
Explorer, Mozilla Firefox, Apple Safari, Google
Chrome and Opera.
Web server or Webserver can mean one of two
things:
A computer program that accepts HTTP
Requests and Return responses with optional
data content.
A computer that runs a computer program as
described above.
Database-Driven Website Architecture
Server-side Processing
 In server-Side Processing, the web server:
• Receives the dynamic webpage Request
• Performs all of the processing necessary to
create the dynamic webpage
• Sends the finished web page to the client for
display in the client’s browser
Client-Side processing
Some processing needs to be “Executed” by
the browser, either to form the request for
the dynamic web page or to create or the
display the dynamic web page.
Ex. JavaScript code to validate user input
Server and Client Side processing
 Server-Side processing Client-side Processing

PHP CSS
ASP HTML
ASP.NET JavaScript
Perl Adobe Flex
J2EE
Python e.g. Django
Self Check Questions
1. What is The difference Between Two-Tiered
architecture and Database-Driven architecture
2. List And Explain Types of System Requirements
3. List and Explain hardware and software needed
to develop Website
4. What is Utility Software ?
5. Explain Website Standards
LO 2 Define human computer interface
2.1 Conducting user analysis to determine a user profile and user
needs.
• User analysis is the process by which engineers, developers,
and designers track how users engage and interact with their
software, product or website.
• The ultimate purpose of a user profile is actually to help
designers to recognize or learn about the real user by
presenting them with a description of a real user’s attributes,
for instance; the user’s gender, age, educational level, attitude,
technical needs and skill level.
What is user needs analysis?
When designing a website it is important to
understand why people would want or need to use it.
User Needs Analysis is part of the process of
developing a site that will successfully meet the
needs of prospective users. In addition to identifying
the key needs
The objective of user needs analysis research is to
clearly establish what the needs of your clients are.
understanding user needs is particularly
important when developing website
It can provide guidance so that we will be able to:
• Understand accessibility requirements.
• Know which formats users will be able to
access.
• Understand how to present content to make it
discoverable.
• Know what guidance users will need to open
and use the content
2.3 Determining appropriate design principles
for site.
Principles of website
Look and Feel-how a website looks and how it feels to
navigate it.
 Make your Design Portable
 Clear Presentation, Easy Access
 Design or Different Screen Resolution
 Unifying themes and Structure
 Smooth Transition
 Use active white Space
…cont’d
…Cont’d
…cont’d
2.4 Identifying appropriate operating system
web development comes with two significant
sections: back end and front end. These two factors
can affect your choices.
For instance, front-end development requires you to
test web applications on various browsers like Firefox,
Safari, Internet Explorer, epic, and Chrome.
This means you’ll need to check your apps on Opera,
Edge, and IE too. For these tasks, Windows and Mac
are great options.
MacOS …Cont’d
With backend development, Several web developers
prefer Mac.
 For most web developers and designers working with
backend development, iOS is almost similar to Linux,
making development more straightforward.
 One of the significant advantages of working with
MacOS is that they can operate on all known browsers
for a test. If your goal is to have complete compatibility
and test projects in various browsers, then macOS is
advantageous.
Linux
While Linux is famous for most web developers due to being
accessible and installing everything needed for web development
and designing efficiently, some devices don’t operate effectively
with Linux.
Windows
This is probably the most convenient and popular operating
system in market share’s term, with approximately 87.9% of
devices running on this OS. This is more affordable and easy to
configure compared to Apple devices.
Several web developers may find challenges working with
advanced web designs with Windows
…Cont’d
There is no right or wrong answer as each operating system works
effectively per web developers’ style and preference. Some are more
comfortable working with Windows, while others prefer Linux or
macOS.
It’s all about identifying which OS allows productivity and offers
compatibility with what you are working with.
Conclusion
Finding the right tool varies with which you are most comfortable to
work on and encourages productivity. Since web development is not
about operating systems, it depends on the device and software you
plan to develop with your projects and the compatibility with major
browsers.
2.5 Determining appropriate search engine
A search engine is software accessed on the Internet that
searches a database of information according to the
user's query.
What are uses of search engines?
Search engines can be used to:
• To carry out research.
• To search for information about peoples,
places and products.
• Get the definition of words, acronyms, etc.
• Download applications from the internet.
• To lookup other websites.
Self check Questions
1.List and Explain Principles of Website
Architecture
2.Explain Search Engine and their types
3.Explain importance of User need analysis
4.Which OS is best for website Development ?
Why ?
QUIZ 10%
1. List and Explain at least four Principles of
website
2. List and Explain At least Three Website
Standards
3. List Three Parts of Search Engine
4. Explain Two-Tiered Architecture

You might also like