IUST Advanced software engineering course by Dr. Saeed Parsa. Credits of slides belong to Dr. Saeed Parsa and IUST reverse engineering research laboratory. All slides are available publicly due to COVID 19 Pandemic.
3. Enterprise Architect is a Requirements modeling tool that allows analysts to work using their preferred methods such as
Word Processor views, Spreadsheet views, Diagrams, Relationship Matrix or a range of other core and extended
features.
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 3
4. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 4
Requirements Modelling in EA
Provides facilitates provides facilities for capturing and managing requireents as UML elements,
Helps to trace requirements to other UML elements such as other requirements, test cases, and analysis
or design elements.
5. Requirement Management & Tools
The key points covered include:
• Defining and documenting your Requirements Management process
• Setting the Attributes that your requirements need to store
• Inputting requirements (manual and automated)
• Relating your requirements to aspects of the model/
• Tracing these requirements in the model
• Maintaining a history of changes to your requirements
• Team based interaction for input and reconciliation of requirements
• Documenting requirements
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 5
https://sparxsystems.com/downloads/whitepapers/Requirements_Management_in_Enterprise_Architect.pdf
6. Requirement Management & Tools
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 6
https://sparxsystems.com/downloads/whitepapers/Requirements_Management_in_Enterprise_Architect.pdf
When developing the preliminary specifications for a project, there are three common
methods employed:
• Text-based input of specifications
• UML diagram based requirements modeling
• Automated import of requirements from external sources
7. Requirement specification
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 7
https://sparxsystems.com/downloads/whitepapers/Requirements_Management_in_Enterprise_Architect.pdf
The Specification Manager is a tool for users
more familiar with a text-based means of
creating and reviewing requirements. These
users may include business professionals and
managers who might not have expertise in
model development.
New entries (elements) are added via the New
Element icon or using Ctrl+N or by right-
clicking on the diagram and selecting Add New
Element or Add New Child.
8. Requirement sprcification
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 8
https://sparxsystems.com/downloads/whitepapers/Requirements_Management_in_Enterprise_Architect.pdf
9. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 9
https://sparxsystems.com/downloads/whitepapers/Requirements_Management_in_Enterprise_Architect.pdf
Requirements specification
To give a clear and simple view of the resources associated with each specification, the Specification
Manager indicates their use with icons. These icons provide a quick reference to related details like
Traceability, Project Management and Change management.
10. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 10
Requirements modeling
For a more formal diagram-based representation, requirements can be shown diagrammatically
with their relationships.
Enterprise Architect allows you to document
requirements graphically using the Requirement
element. The Requirement element is available from
the 'Requirements' Toolbox folder.
Using a Requirement element in the UML model,
allows relationships to be drawn between
requirements. It also allows for direct traceability to
other aspects of the model such as Use Cases, Test
Cases and other Analysis or Design elements.
The requirement element can be used to model or
document any requirements, ranging from formal
business requirements through to performance or
security requirements.
12. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 12
Requirements modeling
It is common that there are a series of requirement Attributes specific to any project.
You can enter any number of additional Attributes such as stability, cost, and lateness penalty
through the use of Tagged Values.
Tagged Value data for an element is available on a separate window, which is accessed using
Ctrl+Shift+6 (or from the main menu View | Tagged Values).
13. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 13
Requirements modeling
Elements in Enterprise Architect can have an extended set of Attributes defined, that are
automatically created with each new element.
14. 1. Create new project
2. View browser
Steps
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 14
15. 3. Add a package to the model
4. Right-Click on the package and select properties->properties and change
Stereotype to subsystem.
Steps
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 15
16. 5. Add a package to the model
Steps
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 16
17. 6. The following equirement elements will be generated
7. Right-click on the Requirements package and select “open package in …”
.
Steps
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 17
18. 6. The following window will be displayed. You can modify it.
.
Steps
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 18
19. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 19
https://sparxsystems.com/downloads/whitepapers/Requirements_Management_in_Enterprise_Architect.pdf
20. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 20
Subject: Analysis and design of online shopping system software
Presenter: Mohammad Rahimi
University: Iran University of Science and Technology
22. Context diagrams show the interactions between a system and other actors
(external entities) with which the system is designed to interface.
They are used to get agreement on the scope and external stakeholders, as
groups outside a business which are affected by the actions of the business.
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 22
Notations
Systems/Processes are shown as squares
with rounded corners
External entities are shown as squares
Data stores are shown as elongated, flat
rectangles
Data flows are shown as arrows
24. ⁻ right click on package, select add a model using wizard, select all, and
find data flow diagram from model patterns.
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 24
25. ⁻ right click on package, select add a model using wizard, select all, and
find data flow diagram from model patterns.
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 25
28. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 28
External entities
Main Process
This context diagram illustrates the
scope of the Digikala software system.
The Data Flow option in EA is used for
depicting a context diagram.
This contest diagram illustrates the
external stakeholders of Digikala.
30. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 30
Entity Name Description
1 Administatore The Web Administrator will monitor the website’s activities and
the management of the website. The web administrator will
have the full access into the website. Once the user add item to
sell list in website, administrator will receive the items details to
take into consideration. Only after administrator approve,
2 Supplier A seller can advertise the item he/she willing to sell with the
personal detail. If the item advertise is not approve by administer,
he will receive a message from administer regarding it. The user
still can review the detail about the item he/she willing to sell
which is still wait for administrator consideration.
31. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 31
Entity Name Description
3 Customer Customer wants to buy an item, he/she can access to contact
detail of the seller. He/she can contact the seller regarding the
item.
4 Visitor the Visitor can access the website for buying, selling or to get
product information. As only a registered user can buy or sell
items in Online Shopping Online Store Website, he/she must agree
to the terms and conditions of the system. Once register, he/she
will receive a verification mail to his/her email, which have a link
to our website. By clicking on the link then will direct verify the
user’s registration and then he/she will become a official member
in eEasy Online Shopping Store
32. From To Flow line name Flow line Description
Visitor OnlineShopping Register Users required to register before using the
system. This system is to storing the
information into the database so that the
users can access and retrieve data from the
system. From that, the system by verifying
the email address the users key into it.
Administatore OnlineShopping Website Mangement The Web Administrator will monitor the
website’s activities and the management of
the website. The web administrator will have
the full access into the website.
Online Shopping Customer Purchase Select the what product wish to purchase and
also the quantity and payment method
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 32
34. • Different types of organization chart are:
Functional Top-Down
Divisional Structure
Matrix Organizational Chart
Flat Organizational Chart
• Digikala is a functional top-down organization.
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 34
35. To create an organization
chart in enterprise architect
select:
Ribbon: Design > Diagram > Add
> Strategic Modeling > Org Chart
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 35
36. There are different types of
connectors for depicting an
organization chart.
As shown in the front figure
the “Reports to vertical tree”
to the best of my knowledge
is the most appropriate one.
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 36
38. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 38
To draw an organizational
structure chart, in the first
step , create a Package
39. In the second step use
the browser and click on
the project and then:
Click on the
“Organization Functional
decomposition” option,
Select the “Add a model
using
wizard” option,
Select Organization chart
from the Strategic Model
options.
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 39
40. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 40
1:Right click
2:select
3:select
43. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir)
Lable Operation Task
A:2 Supplier
Operations
1. Supllier required to register before using the system. This system is to
storing the information into the database so that the users can access
and retrieve data from the system. From that, the system by verifying
the email address the users key into it.
2. A Supplier can advertise the item he/she willing to sell with the
personal detail.
3. If the item advertise is not approve by administer, he will receive a
message from administer regarding it. The supplier still can review the
detail about the item he/she willing to sell which is still wait for
administrator consideration.
A:3 Visitor
operations
1. Visitor can access to contact detail of the seller.
2. He/she can contact the seller regarding the item.
44. • What is a requirement?
According to IEEE standard 729, a requirement is defined
as follows:
A condition or capability needed by a user to solve a
problem or
achieve an objective
A condition or capability that must be met orpossessed
by a system or system component to satisfy a contract,
standard,
specification or other formally imposed documents
A documented representation of a condition or capability.
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 44
50. Test case
1- We must write test case. A
test case shoud be written for
requirement fuunctinal.
2- how we available test case
from enterprise architect?
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 50
55. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 55
Requirment Discription
Registration Every parson can view the store but only the members can
checkout it become control by administrator. For being
member of website, the customer need to register for
membership.
Customer
Profile
The Customer Profile page is area that given user maintains
his /her own information. The Customer can only change
his/her password required. The Customer can browse and
search the item and add to shopping cart and can checkout
and also the user can edit profile that include change shipping
address and details. For other information to be changed, the
super admin and admin privilege is required.
58. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 58
Requirment Discription
Item selection Customer must be able to view his/her orders history. Each
customer must be able to view placed order status. Customer
should be able to validate and confirm their invoice.
push
notification
The admin should send any news to all members.
User account
deactivation
They are two situations that users become deactivated
- Users who have not used their accounts for very long time
- User who do or cause some violation
60. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 60
Requirment Discription
Login page The Login page is outside of the secure area of the system and
allows the user (customer) to log onto the web application. The
user can view the store and add their order to shopping cart but
only the members can proceed to checkout However, super
admin and other admin's can register new members as well. For
login functions, there is an area to input the Username (full
name) and password for the account protection of the
registered users, password will be encrypted upon saving into
database. In case the user members forgot their password the
system provides the link to reset the password which will be
sent only to member's email.
61. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 61
Requirment Discription
Browsing
Through item
The customer will be given a web interface which allows easy
browsing through the different rooms.
Basically the items in the shop are well Organized and well
presented so that a user can find his enquired item easily.
Administrative Administrative must be able to add/modify customer. System
must be able to accept orders from the customer via email or
online form. System must generate pro forma and customer
invoice against an order, system must be able to view order
history of a customer. system must be able to validate and
manage customers order against payments
63. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 63
Requirment Discription
Administrator
Control page
Web Portal Administration
The admin can edit the catalog details, and also can add
new items can delete items, can change price can see
feedback. The system can push notification to every
member of online store.
User Administration
This includes registration processing, user deactivation,
user suspicious and required password change.
Website Statistics
This includes number of users, usage reports, upload
reports, download reports, and performance metrics.
65. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 65
Requirment Discription
prefermance - Fast Response Time for User Login
The average response time for user login after entering user
name and password should be no more than 3 sec and the
maximum response time should be 10 seconds.
- Fast Average Time for Rendering a Page
After clicking on any link the result should be rendered within no
more than 1 second in average and it should not take more than
10 seconds in maximum.
- Minimum number of concurrent users.
The application should be able to address at least 600 users
concurrently.
66. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 66
Requirment Discription
Backup Backup is useful in recovering your data in the event of an
electronic disaster like hardware failure or a break-in that changes
or otherwise damages your data. It copies of all the important
computer files kept in another location. So if the database is quite
large that has to extract file first. That means, storage is the base of
a backup system. System shall automatically make backups after
every 4 months. This can be tuned according to company needs
too.
67. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 67
Requirment Discription
Extensibility This project is planning to be applied in Kabul city and it should be
applying able in another city in Afghanistan and also around the
world. Scalability is so essential for any systems. The store is
capable of growing with the different product, the system has been
designed from the beginning to scale from a single server machine
running all the components up to a system involving clustered
components and distributed access from a worldwide basis. The
implementation of a Web shop system takes into consideration
future growth, the extensible of the new network system designed
to adapt to the user the ability to future development of
enterprises.
68. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 68
Requirment Discription
Usability Usability is crucial in website development. Because whether you
are doing online store or online application, the page for users to
make him easy and fun to use is a key; efficient to use, easy to use
and consistent interface can help enhance usability.
- Efficient to use.
- Easy to use.
- Consistent interfaces
69. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 69
Requirment Discription
Reliability and
availability
The system shall provide for replication of databases to off-site storage
locations. The system shall provide RAID V Disk Stripping on all database
storage disks. The Web shop system needs to keep working for 24x7 with
handling of capital flow.
- Availability: The application should be accessible from anywhere in the
world via Internet. The application should guarantee 99.9% of its availability
to the users.
- Mean Time to Failure:The mean time to failure for the application should
not be less than 6 months.
- Maximum down time of the system: The maximum downtime due to any
failure (server crash or failure due to code) must not be more than a day.
- Maximum Bugs Rate:The maximum bugs expected in first 6 months should
not exceed 5 Bugs per 100 function.points (both in business logic layer and
scripting language) and 10 interface bugs.
70. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 70
Requirment Discription
Network
security
Network security is a complicated subject, however, it is becoming
more and more important as people spend more and more time
connected. n a Web shop system, network security starts from
authenticating the user with a user name and password, for
authentication, users have to use password with strongly of security,
and also need to change it usually. In the code, it should be also
prepared for certain attack type such as SQL injection attack. And for
instance, automatic generation of user id in the firewall is a good way
to prevent attacks. The Web shop system is a small or medium
business. It has a fairly strong firewall to prevent malicious attacks
from hacking or some spamming and protect computer networks from
attack and subsequent intrusion by restricting the network traffic
which can pass through.
71. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 71
Requirment Discription
Information
security
To prevent unregistered users to bypass the registration interface to
trade directly into the application system, the Web shop system uses
Session object to register verification. In a Web shop system whose
source code will not be passed to the client browser, thus avoiding the
abbreviation of the source of plagiarism by others to enhance the
security of the program. In addition, the people who operate the
computer are one of the biggest potential threat to information
security. That is to say, the administrator can’t give out or reset
password, change any data without verifying who the information is
for, it would let anyone easily to get access to the system.
72. 4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 72
Requirment Discription
Security and
Data security
-In electronic commerce, security is a core issue that must be
considered. Viruses and hacking are threatening e-commerce, thus
requiring the network to provide a security solution. Including
encryption, signature scheme, distributed security management,
access control, secure Web servers. The security of network system is
divided into data security, information security and network security.
Security of shopping is very important that customer can rely on it.
-The damage of the hard drive is one of threat factors for data
security. A hard drive physical damage means loss of data. Loss of
equipment operation, storage media failure, in order to ensure data
security, redundant arrays of inexpensive disks(RAID), hierarchical
storage management can solve it, and it use in modern system.
74. id General Test Cases
1 Verify that user is able to navigate through all the products across different
categories
2 Verify that all the links and banners are redirecting to correct product/category
pages and none of the links arr broken
3 Verify that the company logo is clearly visible
4 Verify that all the text – product, category name, price and product description
are clearly visible
5 Verify that all the images – product and banner are clearly visible
6 Verify that category pages have relevant product listed specific to the category
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 74
75. id General Test Cases
7 Verify that correct count of total products are listed on the category pages
8 Search – Verify that on searching all the product satisfying the search criteria
are visble on the search result page
9 Search – Verify the more relevant product for the search term are displayed on
the top for a particular search term
10 Search – Verify that count of products is correctly displayed on the search
result page for a particular search term
11 Filtering – Verify that filtering functionality correctly filters product based on
the filter applied
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 75
76. id General Test Cases
12 Filtering – Verify that filtering works correctly on category pages
13 Filtering – Verify that filtering works correctly on the search result page
14 Filtering – Verify that correct count of total products is displayed after a filter is
applied
15 Sorting – Verify that all the sort options work correctly – correctly sort the
products based on the sort option chosen
16 Sorting – Verify that sorting works correctly on the category pages
17 Sorting – Verify that sorting works correctly on the search result page
18 Sorting – Verify that sorting works correctly on the pages containing filtered
result, after applying filters
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 76
77. id Product Buy Flow
1 Verify that on the product page, user can select the desired attribute of the
product e.g. size, color etc
2 Verify that user can add to cart one or more products
3 Verify that user can add products to wishlist
4 Verify that user can buy products added to cart after signing in to the
application (or as per the functionality of the website)
5 Verify that user can successfully buy more than one products that were added
to his/her cart
6 Verify that user cannot add more than available inventory of the product
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 77
78. id Product Buy Flow
7 Verify that the limit to the number of products a user can by is working
correctly by displaying error message and preventing user from buying more
than the limit
8 Verify that the delivery can be declined of for the places where shipping is not
available
9 Verify that Cash on Delivery option of payment is working fine
10 Verify that the different pre-paid methods of payments are working fine
11 Verify that product return functionality works fine
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 78
80. id Customer Registration
1 Verify that all the specified fields are present on the registration page
2 Verify that the required/mandatory fields are marked with * against the
field
3 Verify that for better user interface dropdowns, radio buttons and
checkboxes etc fields are displayed wherever possible instead of just
textboxes
4 Verify the page has both submit and cancel/reset buttons at the end
5 Verify that clicking submit button after entering all the required fields,
submits the data to the server
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 80
81. id Customer Registration
6 Verify that clicking cancel/reset button after entering all the required
fields, cancels the submit request and resets all the fields
7 Verify that whenever possible validation should take place at client side
8 Verify that not filling the mandatory fields and clicking submit button
will lead to validation error
9 Verify that not filling the optional fields and clicking submit button will
still send data to server without any validation error
10 Check the upper limit of the textboxes
11 Check validation on date and email fields (only valid dates and valid
email Ids should be allowed
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 81
82. id Customer Registration
12 Check validation on numeric fields by entering alphabets and special
characters
13 Verify that leading and trailing spaces are trimmed
14 Verify that entering blank spaces on mandatory fields lead to validation
error
15 Verify that after making a request to the server and then sending the
same request again with the same unique key will lead to server side
validation error
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 82
86. id Seller – Product creation
1 Verify that authenticated sellers get access to product creation panel
specific to the authorised categories
2 Verify that product creation panel is working fine for single product
creation
3 Verify that product creation panel is working fine for multiple product
creation
4 Verify that maximum product creation limit for seller is working fine,
limiting seller to create more than the desired number of products
5 Verify panel validation for checking mandatory fields
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 86
87. id Seller – Product creation
6 Verify that duplicate product creation is restricted through panel
7 Verify that seller can update information and price of existing products
8 Verify that product created by seller get visible on the website after
certain period of time
9 Verify that updation made by seller get visible on the website after
certain period of time
4/20/2020 S. Parsa (www.parsa.iust.ac.ir) 87