Individual Assignment: Instructions To Candidates
Individual Assignment: Instructions To Candidates
INSTRUCTIONS TO CANDIDATES
1. Submit your assignment to the administration counter.
2. Students are advised to underpin their answers with the use of references
(sites using the Harvard Name System of Referencing)
3. Late submission will be awarded zero (0) unless Extenuating
Circumstances (EC) are upheld
4. Cases of plagiarism will be penalized
5. The assignment should be bound in an appropriate style (Comb Bound or
Stapled)
6. Where the assignment should be submitted in both hardcopy and
softcopy, the softcopy of the written assignment and source code (where
appropriate) should be on a CD in an envelope/ CD cover and attached to
the hardcopy.
7. You must obtain 50% overall to pass this module.
Acknowledgement
This project report is prepared for the partial fulfillment of the requirement for the
degree of BSc.IT in accordance to the rules and regulations prescribed by APU. So, I
would like to express my heartfelt gratitude to APU for providing me an opportunity to
apply my practical knowledge into the practical world enhances my knowledge.
My sincere gratitude goes to College for Professional Studies Lord Buddha Education
Foundation for providing me with learning environment and facilities without which
this project would have been impossible. I would especially like to thank all the faculty
members and program coordinators for their constant supervision and support.
Sincerely,
CMS was developed using C# language in visual studio 2017 following MVC (model,
view, container) pattern. SQL server 2014 was used as database management system.
Container management system have functionalities of search container and request for
shipping. Detailed functionalities are explained below. Before developing CMS
developer make some design and diagrams like, activity diagram, use case diagram,
class diagram, architecture diagram, sequence diagram, interface diagram and entity
relationship diagram. The detailed explanation are mention in this documentation.
Developer includes testing method, test cases and implementation of the system in this
documentation.
Table of Contents
1. Introduction ............................................................................................................ 1
3. Design .................................................................................................................... 5
4. Implementation .................................................................................................... 19
5. Deployment .......................................................................................................... 24
6. Testing..................................................................................................................... i
7. Conclusion .............................................................................................................. i
8. References ............................................................................................................... i
List of Figure
Figure 1: Architecture diagram of system ..................................................................... 6
Figure 2: Use case diagram ............................................................................................ 7
Figure 3 Class Diagram ............................................................................................... 11
Figure 4 Activity Diagram of the System .................................................................... 12
Figure 5 Sequence Diagram ......................................................................................... 14
Figure 6 ER Diagram of the system ............................................................................. 15
Figure 7 scaling up ....................................................................................................... 25
Figure 8 Scaling out ..................................................................................................... 26
Figure 9 Performance testing result ............................................................................. 27
Figure 10 Sql Created in Microsoft Azure ................................................................... 30
Figure 11 Deploy to SQL server .................................................................................. 30
Figure 12: Firewall Setting .......................................................................................... 31
1. Introduction
1.1 Company Background
Maersk Line is largest operating unit of Maersk Group, a Danish business conglomerate
and global container division. Company was established in 1928. Being world’s largest
container shipping company, it have 374 offices in 116 countries. It operates more than
600 vessels having capacity of 2.6 million TEU also gives employment approximately
7,000 sea farers and approximately 25,000 land-based people.
Maersk Line already handling all the cargo it can manage by operating in 100 countries
and transporting goods around the globe. But when Maersk determined that the volume
of most of the goods it was shipping had grown to full capacity, the company decided
that cloud powered solutions would be a crucial part of rectifying the situation.
Maersk line decide to outsource every part of IT without impacting shipping. Since,
they increase organizational flexibility by consolidate all of its data centers and server
rooms operating worldwide onto a virtualized platform and Microsoft Azure was
already hosting some of Maersk’s IT environment. In March 2016 Maersk approached
Microsoft about expanding the scope of the relationship. But they cannot able to
manage the containers and reduces overall supply chain costs.
1
1.4 Aim
Designing and developing a container management system (CMS) that can manage the
containers, reduces overall supply chain costs and provide efficient way to manage
logistics.
1.5 Objectives
2
2. Project Plan
Project plan
1.1 Background 3 hr. 1st august 2018 1st august 2018 Complete
1.2 Problem 3hr. 1st august 2018 1st august 2018 Complete
Context
5th 5th
1.3 Requirement 2 hr. august 2018 august 2018 Complete
specification
5th 5th
1.4 Aim 40 min august 2018 august 2018 Complete
5th 5th
1.5 Objective 3 hr. august 2018 august 2018 Complete
5th 5th
1.6 Summary of 30 min august 2018 august 2018 Complete
functions
7th 8th
2 Project Plan 3 days august 2018 august 2018 Complete
3
4th 11th
3.6 Sequence 7 days sep 2018 September Complete
diagram 2018
12th 15th
4 Implementation 5 days November November Complete
2018 2018
16th
5 Testing 5 days November 21st November Complete
2018 2018
4
3. Design
3.1 Architecture diagram
Architectural diagram is a selective abstraction of a concept or an idea translated into
the form of drawing. Furthermore, it provides insight into the way of thinking in and
about architecture, thus creating a balance between the visual and the conceptual. The
subject of the research presented in this paper is diagrams as a specific form of
architectural representation and their implementation in the process of exploring and
designing a city.
From the aspect of city planning, diagram can serve both as an analytical tool and as a
generative expression of design ideas.
Analytical diagrams play an organizational role in the design, through the explanation
the genesis of a city or a place, by the depiction of its contemporary conditions or
relationships, and by projecting the intended future of the site through extrapolation of
the design intervention. Diagrams are also generative tools - agents of investigation and
revelation, forming the base on which the ideas may evolve.
5
Suppose when user search for view container list, view pass the searched item to model,
controller receives that information through model and common receives from
controller. Now, controller call the function from business class, after checking
information availability in common, business pass those information to repository by
calling the function. Here, repository function executes the query from database that
checks the provided information is stored in database or not if stored then repository
passes to business, business to controller, controller to model and common then from
model information passes to browser and then user can able to view container list of
searched container. Otherwise got error message. (Dulić, 2016)
6
Figure 2: Use case diagram
7
3.3 Use case specification
Brief Description All the three character can login into the system
Priority High
Priority High
8
Table 3: Use case specification for search
Actors User
Priority High
Actors User
Priority High
9
Table 5: Use case specification of approve requested shipping
Priority High
Brief Description Only departure port are allow to notify (arrival port and
user) about approved request.
Priority High
a. Click on notify
Main Flow b. Write something on form
c. Click on send button
10
3.4 Class diagram
AddLocationModel
DbResult AddLocationCommon 1..* LocationFrom_Name:string
-_errorCode:string LocationFromID:string
LocationFrom_Name:string
-_id:string LocationTo_Name:string
LocationFromID:string
-_msg:string LocationToID:string
LocationTo_Name:string
ErrorCode LocationToID:string
Extra
Extra2
Id 1..1
Message
+SetError(errorCode, msg, id)
AddLocationController
1..1 1..1
1..* +AddLocationList():ActionResult
+Delete(id):ActionResult
RepoDAO +DetailByID(id):ActionResult
AddLocationRepo +Edit(id):ActionResult
-_connection: sqlconnection +Index():ActionResult
-CloseConnection():void dao +save(model):ActionResult
+ExecuteDataRow(sql):DataRow
+AddLocationListRepo():list
+ExecuteDataSet(sql):DataSet 1..*
+DetailByID(id):common
+ExecuteDataTable(sql):DataTable
+Delete(id):DbResult 1..1
+FilterQuote(strVal):string
+Save(common):DbResult
+FilterString(strVal):string
-GetConnectionString():string 0..1
+GetSingleResult(sql):string AddLocationBiz
-Init():void
-OpenConnection():void 1..1 repo
+AddLocationList():list AddLocationView
+ParseDbResult(dt):DbResult
+ParseDbResult(sql):DbResult +Delete(id):DbResult
+DetailByID(id):common -memberName
+ParseDictionary(sql):string
+Save(common):DbResult -memberName
+RemoveDecimal(amt):string
11
3.5 Activity diagram
Activity diagram model’s logic-any logic- from workflow to use cases to methods. The
main purpose of making use case diagram is to
Login Registration
Correct
Correct
Register successfully
Request for View container Approve requested Notify Update shipping Receive approved Update arrived
Search container status shipping request
shipping status shipping container status
12
Above mention figure is activity diagram of the system in this system user have the
option for the registration and have to fill up the all the mandatory field in the form.
Then it checks the form validation if there is incorrect information then again user have
to fill the form properly. If the information is correct then user will be successfully
registered. After the registration user have to login into the system during the login if
user have entered the wrong keyword then system will show the incorrect message. If
the username and password is correct user will be successfully login into the system.
After successfully login into the system there are different role in the system. In user
where user can able to request for shipping view status and view container status. Then
departure port can able to approved request shipping, notify and update shipping
container status. Other hand arrival port has the permission to received approved
shipping request and update arrival status.
The focus of the diagram is on identifying interactions between objects over time. The
major benefit of the diagram is that it helps identify the message exchange between
objects. Exchanging message requires a sender & receiver. A receiver must have an
interface to receive message. Hence, if a message must be sent from object to another,
the receiver must define an interface that conforms to the message. (Pender, 2003)
13
3.6.1 Sequence diagram of the system
1.6 Available
1.7 call the function
1.8 Check the field name
alt with information
if errorcode=0
1.9 Available 1.10 Execute query
This is sequence diagram of manage location module. First, admin fill the required form
shown from Index page. Then, Index create the object of Model and send received data
to model. Model pass the information to controller, controller already created object for
model, business and common so that information pass to common at same time function
in business class activates and that function receives the information. Business creates
object of repository and function in repository class activates and get the information.
Repository function compare information with database (or check validation) and pass
result to business. Business pass message to controller, controller checks the result and
if error code is 0 then information is added/ updated/ deleted and successful message to
index then admin can acknowledge about his action and if error code is not 0 then admin
get error message through index page.
14
3.7ER diagram
15
3.8 Data Dictionary
Booking table
16
Container Schedule table
Country table
17
Registration table
TempBooking table
18
4. Implementation
4.1 Steps of publishing application to azure
19
3. Click on start button. Then the page displays & fill the information.
20
4.2 Screenshot of the system
Registration
As shown in the figure, it is a registration page where the client has to register before
logging in onto the system.
Login
As shown in the figure it is a login is system where client have to enter the email and
password from accessing the booking container system. If the client has access of login
the client have to register first.
21
User Home Page
The above figure shows the booking container page which the customer must catalogue
and after login the client will be inspecting this page. The user will book the container
by choosing the client obligatory country and its zone and click submit for the available
container for its zone. The client will select the ampule and choose the required
container / arrival date and book the container.
As appeared in the figure, it demonstrates the booking compartment status. In the wake
of booking the holder the customer will be divert the booking compartment status for
its required booking status check. After convey of compartment the customer will tap
the conveyed catch and tap the drop for cancelation before the on-travel status.
22
Admin home page
23
5. Deployment
Scalability is a desirable property of s system which indicates its ability to either handle
growing amounts of work in a graceful manner, or to be readily enlarged as demands
increase. (Engates, 2008) it is also say that it is the process of monitoring the
performance of the web application and make a decision for additional and removal of
resources. In today’s data centric world, web applications have to be ready for any
sudden load of data and usage, and for that scalability apparently becomes a must need
for such new generation of web applications. Google.com is a scalable search engine.
It can handle any number of users and any amounts of content. It scales easily to more
content that is being added on the internet daily and to the large users that use it daily
while maintaining a fraction of second response times throughout the day. (Atlogys,
2018)
24
1. Scaling up
The obvious option in many cases is to address a scalability problem with better, faster,
more capable hardware. If we can’t load that giant spreadsheet model on a computer
with 512MB of RAM, we install 2GB and give it another try. If it is still too slow, we
can use a machine with a faster processor or faster hard disk. This approach can also be
applied to web servers, database servers, and other parts of your system. Got an
architecture problem? Get some better hardware. This approach is variously called
“scaling up” or “vertical scaling” – since we are addressing the problem by substituting
a more capable system (usually a single server), but one that is still logically equivalent.
Figure 7 scaling up
25
Scaling Out
A scale out operation is the equivalent of creating multiple copies of your web site and
adding a load balancer to distribute the demand between them. When you scale out a
web site in Windows Azure Web Sites there is no need to configure load balancing
separately since this is already provided by the platform. (Tardif, 2013)
Justification
Application scaling is important to enhance and maintain the performance of the web
application. A web app which is not scalable may also not support more development
and/or improvisations. Non scalable systems often need to be re-hauled and re-written
to support future development.
26
5.2 Performance Testing of Application
The goal of performance testing is to appraise any user experience in realistic scenarios
on your target application. It will allow you to assess machine and infrastructure
capability. In the proposed system there were load of forty users for performance
testing. (Agileload, n.d.)
27
After the performance testing which shows that the proposed web application has
50.03% success rate and 49.97%of failed requests.
28
5.3 Azure Platform as a Service (PaaS)
29
Figure 10 Sql Created in Microsoft Azure
30
Firewall setting
31
5.5 Testing on cloud application
Functional testing When customer chose to switch to other service the running
service should close automatically. (Anon., n.d.)
32
6. Testing
Testing is done not only for checking if system runs properly or not and it shows any
errors, also to check if the output is matched with expectations or not. Test driven
development is a programming practice that instruct developer to write new code only
if executed code have some error & cannot meet with expectations. The main purpose
of TDD is to make code clearer, simple and bug-free.
For developing this system developer first add the test case (which portion need to be
test), after that execute the test if test case gives expected result then add another test
case. But if test case cannot give expected result then developer make changes on code
and again execute this process continues until developer get expected result.
33
7. Conclusion
In the conclusion researcher gets the opportunity to learn about how to publish a Web
application on Microsoft Azure. During the development of the system it was hard to
learn and develop the system and publish on Microsoft Azure. But at last researcher
come up with the system after many research through online and book.
Limitation
Future Enhancement
34
8. References
Agileload, n.d. Agileload. [Online]
Available at: http://www.agileload.com/performance-testing/application-performance-
testing
Anon., n.d. cloud testing tutorial. [Online]
Available at: https://www.guru99.com/cloud-testing-tutorial-with-saas-testing-
primer.html
[Accessed 10 october 2018].
Atlogys, 2018. Atlogys. [Online]
Available at: http://www.atlogys.com/scaling-web-applications
Dulić, O., 2016. Researchgate.net. [Online]
Available at:
https://www.researchgate.net/publication/301342950_Architectural_Diagram_of_a_C
ity
Engates, J., 2008. Seven stages of scaling web apps, San fransisco: s.n.
Microsoft, 2018. Publish a Web app to Azure App Service using Visual Studio.
[Online]
Available at: https://docs.microsoft.com/en-us/visualstudio/deployment/quickstart-
deploy-to-azure?view=vs-2017
[Accessed 10 october 2018].
Pender, T., 2003. Activity diagram. In: uml 2. new delhi: wiley publishing, pp. 60-62.
Pender, T., 2003. sequence diagram. In: UML 2. new delhi: wiley publishing, pp. 275-
295.
Pender, T., 2003. Sequence diagram. In: uml 2. new delhi: wiley publishing, pp. 61-
62.
Pender, T., 2003. Use case diagram. In: UML 2. new delhi: wiley publishing, pp. 58-
65.
Tardif, B., 2013. Microsoft. [Online]
Available at: https://azure.microsoft.com/en-us/blog/scaling-up-and-scaling-out-in-
windows-azure-web-sites/
i
APPENDIX I: Marking Scheme
Mark Allocated Score
No Criteria
1. Introduction 15
2. Project Plan 15
4. Conclusion 10
Implementation
ii