Professional Documents
Culture Documents
Introduction
When developing an application or software, the first important thing to consider is to specifically
understand the requirements of the software product. The purpose of knowing the requirements
is to develop high-quality software that will meet customer needs within its specification and
budget.
Software developers must provide the purpose of the outcome with the end-users. People
involved in developing the project must achieve a common understanding of what to expect in
the system and what should the system do on time.
What is Requirement?
A software requirement deals with establishing the needs of stakeholders that are to be solved
by software. The IEEE Standard Glossary of Software Engineering Terminology defines
requirement as:
Functional Requirements
Specify something that the application or system should do. Often, this is defined as a behavior
of the system that takes input and provides output.
Non-functional Requirements
Define the quality attributes of a software system, describe how the system should be. Non-
functional requirements ensure the performance, maintainability, usability, and effectiveness of
the entire system.
Types of Requirements
Several requirements are needed for a business project to help define goals and establish a
scope for the work that will be carried out. Requirements also provide a framework and
objective ways to quantify the progress and success of a project. (Guru99, 2020)
1. Business Requirements
Business requirements are known as stakeholder requirements specifications. Describe the
characteristics of the proposed system from the perspective of the end-user and provide the
scope of a business problem that needs to be addressed through a specific project.
Sources of Requirements
These are the list of common requirements sources for gathering information to be used as the
basis for software or test design:
•Interviews with the end-users and other stakeholders
• Knowledge transfer from colleagues or employees already working on that project
• Thoughts from business analyst, product manager, project lead and developers
•Analyze previous system version that is already implemented into the system
•Observations of users performing tasks
•Analyze the older requirement document of the project
• Enhancement request from previous error reports
• Analyze the domain or industry knowledge that the team is trying to implement
Requirement Analysis
Requirement analysis is the process of analyzing the users’ and customers’ needs to obtain a
definition of the software requirements. It helps organizations to determine the actual needs of
stakeholders. At the same time, it enables the development team to communicate with the
stakeholders in a language they understand (like charts, models, flowcharts) instead of complex
text (Guru99, 2020).
A requirement analysis has a:
• Specific Goal
• Specific Input
• Specific Output
•Uses resources
•Has several activities to be performed in some order
• May affect more than one organization unit
• Creates value of some kind for the customer
Eliciting Requirements
The process of gathering requirements by communicating with the customers is known as
eliciting requirements. The task of communicating with customers and users to determine what
their requirements are. This is sometimes also called requirements gathering.
Analyzing Requirements
This step helps to determine the quality of the requirements. It involves identifying whether the
requirements are unclear, incomplete, ambiguous, and contradictory. These issues were
resolved before moving to the next step. Determining whether the stated requirements are
unclear, incomplete, ambiguous, or contradictory, and then resolving these issues.
Requirement Modeling
In Requirements modeling, the requirements are usually documented in different formats such
as use cases, user stories, natural-language documents, or process specifications.
Stakeholder Issues
1. Users do not understand what they want or users don't have a clear idea of their
requirements
2. Users will not commit to a set of written requirements
3. Users insist on new requirements after the cost and schedule have been fixed
4. Communication with users is slow
5. Users often do not participate in reviews or are incapable of doing so
6. Users are technically inexperienced
7. Users do not understand the development process
8. Users do not know about present technology
This may lead to a situation where user requirements keep changing even when the system or
product development has been started.
Engineer/developer issues
Possible problems caused by engineers and developers during requirements analysis are:
1. A natural inclination towards writing code can lead to implementation beginning before the
requirements analysis is complete, potentially resulting in code changes to meet actual
requirements once they are known.
2. Technical personnel and end-users may have different vocabularies. Consequently, they may
wrongly believe they are in perfect agreement until the finished product is supplied.
3. Engineers and developers may try to make the requirements fit an existing system or model,
rather than develop a system specific to the needs of the client.
A well design BPMN model should be able to give the detail about the activities carried out
during the process like,
▪ Who is performing these activities?
▪ What data elements are required for these activities?
The biggest benefit of using BPMN is that it is easier to share, and most modeling tools support
BPMN.
3. Flowchart Technique
A flowchart illustrates the sequential flow and control logic of a set of activities that are related.
Flowcharts are in different formats such as linear, cross-functional, and top-down. A flow chart
can be used for different activities like representing data flows, system interactions, etc. The
advantage of using Flowchart is that it can be easy to read and write for both the technical and
non-technical team members, and can show the parallel process by function, critical attributes
of a process, etc.
6. Gantt Charts
Gantt charts are used in project planning as they provide a visual representation of tasks that
are scheduled along with the timelines. The Gantt charts help to know what is scheduled to be
completed by which date. The start and end dates of all the tasks in the project can be seen in a
single view.
7. IDEF (Integrated Definition for Function Modeling)
Integrated definition for function modeling (IDEFM) technique represents the functions of a
process and their relationships to child and parent systems with the help of a box. It provides a
blueprint to gain an understanding of an organization’s system. It is used for modeling activities
necessary to support system analysis, design or integration.
8. Workflow Technique
Workflow technique is a visual diagram that represent one or more business processes to clarify
understanding of the process or to make process improvement recommendations. Just like
other diagrams like flowcharting, UML activity and process map, the workflow technique is
the oldest and popular technique. It is even used by BA for taking notes during requirements
elicitation. The process comprises of four stages:
•Information Gathering
•Workflow Modeling
• Business process Modeling
•Implementation, Verification & Execution
Lecture 6
Prototyping
It is a useful approach to requirement analysis and system development. It is highly considered
by Management Information System (MIS) managers as a suitable solution to numerous
executive problems and more useful in the development support of the
applications.
It refers to an initial stage of a software release in which developmental evolution and product
fixes may occur before a more significant release is initiated. These kinds of activities can also
sometimes be called a beta phase or beta testing, where an initial project gets evaluated by a
smaller class of users before full development.
Prototype
A prototype is a working model of software with some limited functionality. The prototype does
not always hold the exact logic used in the actual software application and is an extra effort to
be considered under effort estimation.
It is a draft version of a product that allows you to explore your ideas and show the purpose
beyond a feature or the overall design concept to users before investing time and money into
the development.
Benefits of Prototyping
Better Quality System Delivered
Sometimes a developer may not fully understand what the end-user is expecting. Prototyping
enables any misunderstandings to be identified and sorted out early on in the process.
Cost Savings
It is far less expensive to rectify problems with the system in the early stages of development
than towards the end of the project.
Training
The prototype can eventually help train staff while the entire system is still being fully developed.
Best Practices of Prototype
Few things which you should know during the prototyping process:
•It would help if you used Prototyping when the requirements are unclear.
•It is essential to perform planned and controlled Prototyping.
• Regular meetings are vital to keep the project on time and avoid costly delays.
• The users and the designers should be aware of the prototyping issues and pitfalls.
Types of Prototype
There are two types of prototypes, the Type I prototype which eventually becomes the
operational system and the Type II prototype which is the throwaway model that serves as the
blueprint for the operational system.
Virtual Prototyping
as a technology involves the creation and use of virtual models for presentation, testing and
analyzing of particular details before creating the real physical models or optimizing parameters
in parallel with physical prototypes.
Physical Prototyping
involves the creation of element models including functional ones in small quantities compared
to the manufacturing ones. When a combination of the two technologies is possible, significant
reduction in costs and production time can be achieved with minimal risk of hidden deficiencies
occurring in series production.
Phases of the Prototyping Model
1. Requirement Analysis
A prototyping model starts with requirement analysis. In this phase, the requirements of the
system are defined in detail. In this phase, the client is interviewed to determine his expected
output in the system.
2. Quick Design
It is the initial design or short design. In this phase, a simple design of the system is created.
However, it is not a complete design. It gives a brief idea of the system to the user. The quick
design helps in developing the prototype.
3. Build a Prototype
In this phase, an actual prototype is designed based on the information gathered from a quick
design. It is a small working model of the required system.
4. User Evaluation
In this phase, the proposed system is presented to the client for an initial evaluation. At this
level, it identifies the strength and weaknesses of the working model. Comment and
suggestions are collected from the customer and provided to the developer.
5. Refining Prototype
If the client is not satisfied with the new prototype, refining is needed according to the user's
feedback and suggestions. When the client conforms to the developed prototype, a final system
is developed based on the approved final prototype.
What is Quality?
Quality is tough to define, and it is stated: "Fit for use or purpose." It is all about gathering the
needs and expectations of customers concerning functionality, design, reliability, durability, &
price of the product.
Software quality refers to the degree a system, component, or process conforms to specific
requirements or expectations. In many cases, end-users know "quality" software when they see
it. This software is easy to use and error-free. It also enables users to perform tasks quickly and
effortlessly, on any device, and at any time.
What is Assurance?
Assurance is nothing but a constructive declaration on a product or service, which gives
confidence. It is the certainty of a product or a service that will work well. It provides a guarantee
that the product will work without any problems as per the expectations or requirements.
Quality assurance has a defined cycle called the PDCA cycle or the Deming cycle. The phases
of this cycle are:
1. Plan
The organization must plan and establish the process related objectives and determine the
operations required to deliver a high-Quality end product.
2. Do
Development and testing of Processes and also "do" changes in the processes.
3. Check
Monitoring of processes, modify the processes and check whether it meets the predetermined
objectives
4. Act
Implement actions that are necessary to achieve improvements in the processes.
Quality Assurance Certifications
There are numerous certifications available in the industry to ensure that Organizations follow
Standards Quality Processes. Customers make this as qualifying criteria while selecting a
software vendor.
ISO 9000
The ISO (International Organization for Standardization) was first established in 1987, and it is
related to Quality Management Systems. This standard helps the organization ensure quality to
its customers and other stakeholders. An organization who wishes to be certified as ISO 9000 is
audited based on their functions, products, services, and their processes. The main objective is
to review and verify whether the organization follows the procedure as expected and check
whether existing processes need improvement.
Lecture 7
What is Privacy
It defines the personal information of an individual that are not exposing online or the data that
cannot be produce or share without the consent or permission of the owner. For example a lot
of website asks for name and birthday for registration.
For the well-skilled hackers those information are more than enough to hacked and reach our
privacy and create falls identity. Also they can access even the secured bank accounts. So
better be careful about when and where input data.
The 21st century generation or the computer era makes a huge change to the community and
individual, it means the more people expose to the internet the more privacy and security needs
to be implemented.
1. Intrusion
•Unwanted email (Spam)
•Unwanted phone calls
2. Information Collection
• Surveillance
•Wiretapping
3. Information Processing
•Identification theft
•Data Mining
4. Information Dissemination
• Breach of confidentiality
•Appropriation (Pretending to be someone)
Malware
• Stands for malicious software
•Originated in the Pandacan of Manila in th Philippines
• May 5, 2000
Virus
• Designed to replicate and transfer from one computer to another.
Worm
• Programs that transfer from one computer to another by any types of means. Ex. ILOVEYOU
VIRUS
ILOVEYOU VIRUS
•Also known as Love Bug or Love Letter
• Spreading as an email message with the subject line “ILOVEYOU” and the attachment
“LOVE-LETTER-FOR-YOU.txt.vbs” (‘ybs’, a type of interpreted file) was most often hidden by
default on Windows computers of the time.
Trojan
• Programs that disguises as a valuable programs but once downloaded or installed, leaves
your computer unsecured.
Spyware
• Runs in the Background without the user knowing and also known as spy its purpose is to
monitor what the user are currently doing and typing.
Adware
• Designed to send you advertisement as pop-ups.
Ransomware
• Its main purpose is to threaten to publish the user’s information or data block access to it
unless a ransom is paid.
Spam
• It is the unwanted email mostly form bots or advertisement the sends to your emails.
Phishing
• It is the unwanted acquisition of someone’s personal data like passwords and back accounts
and other credentials.
Trademark
Word or Figurative is a trademark which recognizes products or services of a particular source
from those of others. In the marketing advertisement it is a common occurrence to see new
signs launched in the communication. These signs are usually sub-brands which, together or
not with the main brand of the company, emerge as a brand-new communication to launch a
new product, service or advantage for the relevant public. Being distinctive signals and
respecting the principle of novelty for marks, they should be registered as trademarks.
Trade Secret
The word trade secret refers to a special intellectual property (IP) resource that is unique and
not reasonably noticeable by others. Businesses generally leverage trade secret protection to
attain a business advantage over their competitors. Some refer to trade secrets simply as
“confidential information.” Trade secret. (n.d).
Examples:
• Max Fried Chicken Ingredients
• Coco Cola Formula
•WD 40 Chemical Formula
Patent
Patents ( Types of Intellectual Property Rights. (n.d.)) protect inventions. Inventions relate either
to a product or a process to make a product. These products and processes should deal with
new functional and technical aspects and so mainly relate to:
a) How things work;
b) What they are made of;
c) How they are made;
d) What they do; or
e) How they do it.
An invention must be new and inventive to be protected by a patent. This means that the
invention must not have been made available to the public anywhere else in the world and must
not be an obvious product or process to have been invented. A patent gives an absolute
monopoly right. Protection is only available if registration is obtained and then lasts for 20 years
starting from the date the patent application was filed.
Copyright
Copyright protects a massive array of different works. Copyright only protects the form in which
ideas are expressed and not the idea or concept itself. Copyright can arise separately in each of
the following:
Policies And Procedures
The term policy from the middle English term “policie” which means “government” or “civil
administration” and that word was originated from the latin “politia” meaning “polity,” a politically
united by the group of any kind while a procedure, came from the French “procedure,” fact or
manner of proceeding.
IT Procedures
As stated by (Lorenzen & Follow, n.d.) a procedure outlines the implementing policy plan of
action. A well-defined procedure must be unambiguous, precise, and determine precise actions.
These specific actions should also detail when the actions should take place, alternative
actions, emergency procedures, warnings and cautions, and examples.