0% found this document useful (0 votes)
834 views108 pages

A-019730-1659169394114-163444-W.M.supun Anjana Jayasinghe Unit 30 - Application Development

hhhh

Uploaded by

Dishan Sanjaya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
834 views108 pages

A-019730-1659169394114-163444-W.M.supun Anjana Jayasinghe Unit 30 - Application Development

hhhh

Uploaded by

Dishan Sanjaya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 108

Higher Nationals

Internal verification of assessment decisions – BTEC (RQF)


INTERNAL VERIFICATION – ASSESSMENT DECISIONS
Programme title BITEC Higher National Diploma in Computing

Iresha Jayarathna
Assessor Internal Verifier
Unit 30 – Application Development
Unit(s)
Inventory Control Application for BAUHINIA
Assignment title
W.M.Supun Anjana Jayasinghe
Student’s name
List which assessment criteria Pass Merit Distinction
the Assessor has awarded.

INTERNAL VERIFIER CHECKLIST

Do the assessment criteria awarded match


those shown in the assignment brief? Y/N
Is the Pass/Merit/Distinction grade awarded
justified by the assessor’s comments on the Y/N
student work?
Has the work been assessed
Y/N
accurately?
Is the feedback to the student:
Give details:
• Constructive? Y/N
• Linked to relevant assessment criteria? Y/N
• Identifying opportunities for Y/N
improved performance?
• Agreeing actions? Y/N
Does the assessment decision need
Y/N
amending?

Assessor signature Date

Internal Verifier signature Date


Programme Leader signature (if required)
Date
Confirm action completed
Remedial action taken
Give details:

Assessor signature Date


Internal Verifier
Date
signature
Programme Leader
Date
signature (if required)
Higher Nationals - Summative
Assignment Feedback Form
Student Name/ID W.M.Supun Anjana Jayasinghe
Unit 30 – Application Development
Unit Title
Assignment Number 01 Assessor Iresha Jayarathna
Date Received
Submission Date
1st submission
Date Received 2nd
Re-submission Date
submission
Assessor Feedback:
LO1 Produce a Software Design Document by analysing a business-related problem and deduce an
appropriate solution including a set of initial requirements

Pass, Merit & DistinctionP1 P2 M1


Descripts
LO2 Use design and development methodologies with tools and techniques associated with the creation
of a business application

Pass, Merit & DistinctionP3 M2 D1


Descripts
LO3 Work individually and as part of a team to plan and produce a functional business application with
support documentation
Pass, Merit & DistinctionP4 P5 M3 M4 D2
Descripts
LO4 Evaluate the performance of a business application against its Software Design Document and
initial requirements
Pass, Merit & DistinctionP6 M5 D3
Descripts

Grade: Assessor Signature: Date:

Resubmission Feedback:

Grade: Assessor Signature: Date:

Internal Verifier’s Comments:

Signature & Date:

* Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has taken place and grades
decisions have been agreed at the assessment board.

All rights reserved ©ESOFT Metro Campus, Sri Lanka Page 11 of 16


Assignment Feedback
Formative Feedback: Assessor to Student

Action Plan

Summative feedback

Feedback: Student to Assessor

Assessor Date
signature

Student signature Date

All rights reserved ©ESOFT Metro Campus, Sri Lanka Page 11 of 16


Pearson Higher Nationals in
Computing
Unit 30 – Application Development

All rights reserved ©ESOFT Metro Campus, Sri Lanka Page 11 of 16


General Guidelines

1. A Cover page or title page – You should always attach a title page to your assignment. Use previous
page as your cover sheet and make sure all the details are accurately filled.
2. Attach this brief as the first section of your assignment.
3. All the assignments should be prepared using a word processing software.
4. All the assignments should be printed on A4 sized papers. Use single side printing.
5. Allow 1” for top, bottom , right margins and 1.25” for the left margin of each page.

Word Processing Rules

1. The font size should be 12 point, and should be in the style of Time New Roman.
2. Use 1.5 line spacing. Left justify all paragraphs.
3. Ensure that all the headings are consistent in terms of the font size and font style.
4. Use footer function in the word processor to insert Your Name, Subject, Assignment No, and
Page Number on each page. This is useful if individual sheets become detached for any reason.
5. Use word processing application spell check and grammar check function to help editing your
assignment.

Important Points:

1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the compulsory
information. eg: Figures, tables of comparison etc. Adding text boxes in the body except for the
before mentioned compulsory information will result in rejection of your work.
2. Avoid using page borders in your assignment body.
3. Carefully check the hand in date and the instructions given in the assignment. Late submissions will
not be accepted.
4. Ensure that you give yourself enough time to complete the assignment by the due date.
5. Excuses of any nature will not be accepted for failure to hand in the work on time.
6. You must take responsibility for managing your own time effectively.
7. If you are unable to hand in your assignment on time and have valid reasons such as illness, you
may apply (in writing) for an extension.
8. Failure to achieve at least PASS criteria will result in a REFERRAL grade .
9. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will then
be asked to complete an alternative assignment.
10. If you use other people’s work or ideas in your assignment, reference them properly using
HARVARD referencing system to avoid plagiarism. You have to provide both in-text citation and a
reference list.
11. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be
reduced to A REFERRAL or at worst you could be expelled from the course

All rights reserved ©ESOFT Metro Campus, Sri Lanka Page 11 of 16


Student Declaration

I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present it as
my own without attributing the sources in the correct form. I further understand what it means to copy
another’s work.

1. I know that plagiarism is a punishable offence because it constitutes theft.


2. I understand the plagiarism and copying policy of Edexcel UK.
3. I know what the consequences will be if I plagiarise or copy another’s work in any of the
assignments for this program.
4. I declare therefore that all work presented by me for every aspect of my program, will be my own,
and where I have made use of another’s work, I will attribute the source in the correct way.
5. I acknowledge that the attachment of this document signed or not, constitutes a binding
agreement between myself and Edexcel UK.
6. I understand that my assignment will not be considered as submitted if this document is not
attached to the assignment.

[email protected]
Student’s Signature: Date:
(Provide E-mail ID) (Provide Submission Date)

All rights reserved ©ESOFT Metro Campus, Sri Lanka Page 11 of 16


Higher National Diploma in Business
Assignment Brief
Student Name /ID Number W.M.Supun Anjana Jayasinghe

Unit Number and Title Unit 30: Application Development

Academic Year 2021/22


Unit Tutor Iresha j
Assignment Title

Issue Date

Submission Date

IV Name & Date

Submission format

The submission should be in the form of an individual written report. This should be written in a
concise, formal business style using single spacing and font size 12. You are required to make use
of headings, paragraphs and subsections as appropriate, and all work must be supported with
research. You must provide in-text citations and the reference list using Harvard referencing
system.

The recommended word count is 4,000–4,500 words excluding annexures..


Minimum word count – 4,000
Maximum word count – 4,500
Unit Learning Outcomes:

LO1 Produce a Software Design Document by analysing a business-related problem and deduce an
appropriate solution including a set of initial requirements.
LO2 Use design and development methodologies with tools and techniques associated with the
creation of a business application.
LO3 Work individually and as part of a team to plan and produce a functional business application
with support documentation.
LO4 Evaluate the performance of a business application against its Software Design Document and
initial requirements

Assignment Brief and Guidance:

All rights reserved ©ESOFT Metro Campus, Sri Lanka Page 11 of 16


BAUHINIA is a clothing brand in Sri Lanka,
founded in 2018, which has come a long way, offering Sri Lankans with
great designs of a variety of clothing. Currently, BAUHINIA is handling
orders through social media networks such as Facebook and Instagram.
Customers can message BAUHINIA requesting an item/s by sending the
item code, size and required quantity. If the item is available, the customer
is required to send the delivery address, contact number to confirm the
order. The package with the required item/s will be delivered to the
customer’s doorstep within 3 to 5 working days, after which he/she must
pay cash on delivery.
Over the years, BAUHINIA has grown steadily mainly due to its popularity
over social media. However, they are finding it increasingly difficult to cope
up with paperwork associated with inventory management due to the
increased of number of orders through message requests. The Managing
Director is frustrated by the problems associated with inventory
management and has decided that BAUHINIA will consult a Software
Development Company to automate the workflow of BAUHINIA Clothing.
AKL Software (AKL) is a software development consultant. AKL has purpose-
built rooms for Facilitated Workshops and Agile software development
projects. The Managing Director of BAUHINIA has decided to contract AKL
for the development of the new order tracking system using an Agile
development approach.

The new online solution will replace the old approach and is likely to
include some of the following functionality:
 Customer Registration and sign-in : Allow customers to register free.
At the time of registration, customers need to provide name, email
address, delivery address, password and two working telephone
numbers. Registered customers can sign-in using email address and
password.
 Browse for products: through product catalog, check availability and
add products to cart.
 Checkout products: Total amount to be paid will be shown.
Customer will be redirected to confirm billing details: Name,
delivery address, email address, two contact numbers. Payment
method will be cash on delivery.
 Staff registration and sign-in.
 Create a daily report of orders that have been requested – carried
out by the Production Manager.
 Create a daily report of product availability- carried out by

All rights reserved ©ESOFT Metro Campus, Sri Lanka Page 11 of 16


Production Manager.
 Add new items to inventory, update
existing item details – carried out by Inventory handling Clerk.
 Create a monthly Income report- carried out of chief Accountant.

The new online solution should have the following levels of access:
 Report only
 Update only
 Update and delete
 Complete system access

Activity 1

1.1 Produce a well-defined Problem definition statement supported by a


set of user and System requirements for the above scenario. Identify areas
(if any) of risk that might affect the successful completion of the
application.

1.2 Produce a well-structured Software Design Document that defines a


proposed solution for BAUHINIA by exploring and analyzing their business
problem. Include relevant details on requirements, system analysis, system
design. (propose a suitable language)

Activity 2

Investigate the use of software development tools and techniques for the
chosen software solution. Compare the investigated tools and techniques
and justify the chosen tools, technique and methodology that you may use
for the development of an Inventory Control Application for BAUHINIA .

Activity 3

3.1 Create a presentation to review followings;


 Business application
 Problem definition statement
 Proposed solution
 Development strategy

Conduct a peer-review and identify opportunities that were not previously


considered by interpreting the recorded feedback.

3.2 Develop a business application with support documentation, based on

All rights reserved ©ESOFT Metro Campus, Sri Lanka Page 11 of 16


the Software Design Document produced in
activity 1, along with supportive evidence for
using the preferred tools, techniques and methodologies investigated in
activity 2. Assess new ideas or possible improvements to the system
developed while justifying the reasons for including/not including them in
the application developed.

Activity 4

Conduct a critical review for the design, development, and testing stages of
the Inventory Control application by analyzing the factors that influence its
performance against the problem definition statement and initial
requirements. Conclude the review by reflectively discussing the risks
identified at the beginning and critically evaluating the strengths and
weaknesses of the application developed. Identify and justify the
opportunities for improvement and further development of the application
you developed.

All rights reserved ©ESOFT Metro Campus, Sri Lanka Page 11 of 16


All rights reserved ©ESOFT Metro Campus, Sri Lanka Page 11 of 16
Grading Criteria Achieved Feedback

LO1 Produce a Software Design Document by analysing a


business-related problem and deduce an appropriate
solution including a set of initial requirements.

P1 Explore a business related problem and produce a well-


defined Problem Definition Statement supported by a set of
user and system
requirements.

P2 Determine any areas of risk related to the successful


completion of your application.

M1 Analyse a business related problem using appropriate


methods and produce a well-structured Software Design
Document that defines a proposed solution and includes
relevant details on requirements, system analysis, system
design, coding, testing and implementation.

LO2 Use design and development methodologies with


tools and techniques associated with the creation of a
business application.

P3 Research the use of software development tools and


techniques and identify any that have been selected for the
development of this application.

M2 Compare the differences between the various software


development tools and techniques researched and justify
your preferred selection as well as your preferred software
development methodology.

LO1 & LO2

Justify your solution to a business-related problem and your


preferred software development methodology, by comparing
between the various software development tools and

12 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


techniques researched.

LO3Work individually and as part of a team to plan and


produce a functional business application with support
documentation.

P4 Create a formal presentation that effectively reviews your


business application, problem definition statement, proposed
solution and development strategy. Use this presentation as
part of
a peer-review and document any feedback given.

P5 Develop a functional business application with support


documentation based on a specified business problem.
M3 Interpret your peer review feedback and identify
opportunities not previously considered.

M4 Develop a functional business application based on a


specific Software Design Document with supportive evidence
of using the preferred tools, techniques and methodologies.
D2 Evaluate any new insights, ideas or potential
improvements to your system and justify the reasons why you
have chosen to include (or not to include) them as part of this
business application.

LO4 Evaluate the performance of a business application


against its Software Design Document and initial
requirements.

P6 Review the performance of your business application


against the Problem Definition Statement and initial
requirements.

M5 Analyse the factors that influence the performance of a


business application and use them to undertake a critical
review of the design, development, and testing stages of your
application. Conclude your review by reflectively discussing
your previously
identified risks.

D3 Critically evaluate the strengths and weaknesses of your


business application and fully justify opportunities for
improvement and further development.

13 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Content
1. Activity 1................................................................................................................................16
1.1. Produce a well-defined Problem definition statement supported by a set of user and
System requirements for the above scenario.............................................................................16
1.1.1 The Problem Definition Statement – BAUHINIA..................................................16
1.1.2 Set of User and System Requirements for BAUHINIA..........................................17
1.1.3 User Access Levels..................................................................................................18
1.1.4 The Risks That Affects the Success of the BAUHINIA New System Completion 19
1.1.4.1 Technical risks.....................................................................................................20
1.1.4.2 Cost risks..............................................................................................................20
1.1.4.3 Schedule risks......................................................................................................22
1.1.4.4 Client risks...........................................................................................................22
1.1.4.5 Legal risks............................................................................................................22
1.1.4.6 People risks..........................................................................................................22
1.2. Produce a well-structured Software Design Document that defines a proposed solution
for BAUHINIA by exploring and analyzing their business problem........................................23
1.2.1. Analyze methods for Business problems.................................................................23
1.2.1.1. VMOST Method...............................................................................................23
1.2.1.2. VMOST Analysis for BAUHINIA Clothing Company...................................24
1.2.1.3. SWOT Analysis................................................................................................25
1.2.1.4. SWOT Analysis for BAUHINIA Clothing Company......................................25
1.2.1.5. SOAR Analysis................................................................................................26
1.2.1.6. SOAR Analysis for BAUHINIA Clothing Company......................................27
1.2.1.7. Boston Matrix Methodology............................................................................27
1.2.1.8. Boston Matrix Analysis for BAUHINIA Clothing Company..........................28
1.2.1.9. Porter’s 5 Forces Model...................................................................................29

14 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


1.2.1.10. Porter’s 5 Forces Model for BAUHINIA Clothing Company.........................29
1.2.1.11. Maturity Model.................................................................................................30
1.2.1.12. Maturity Model for BAUHINIA Clothing Company.......................................30
1.2.2. Software Design Document for BAUHINIA..........................................................31
1. About BAUHINIA Clothing.......................................................................................31
2. The Business Process of BAUHINIA (At the Beginning)..........................................31
3. The Problem with Current System of BAUHINIA - Manual Inventory Management
System................................................................................................................................31
4. The Proposed Solution for The Problem of the BAUHINIA......................................32
5. Use case diagram for the proposed solution................................................................33
6. ER Diagram.................................................................................................................33
7. Sequence Diagram.......................................................................................................34
8. Activity Diagram.........................................................................................................35
9. Intended Market Environment.....................................................................................35
10. Aim..........................................................................................................................35
11. The Objectives of The BAUHINIA Online Based System.....................................35
12. Target Audience of the Documentation...................................................................36
13. Project Milestones...................................................................................................36
14. The Expected Facilities of the Proposed System (BAUHINIA).............................36
15. Benefits of the proposed system for BAUHINIA....................................................38
16. Timeline and Scope.................................................................................................38
2. Activity 2...............................................................................................................................39
2.1. Investigate the use of software development tools and techniques for the chosen
software solution........................................................................................................................39
2.1.1. The Traditional System Developing Methodology (TSDM)...................................40
2.1.2. Agile System Analysis Methodology (ASDM).......................................................46
2.1.3. Comparison of explained Software Development Techniques...............................54
2.1.4. Database Servers......................................................................................................56
2.1.4.1. MySQL.............................................................................................................56
2.1.4.2. PostgreSQL......................................................................................................57
2.1.4.3. MSSQL.............................................................................................................57
2.1.4.4. SQLite..............................................................................................................58
2.1.4.5. MS Access........................................................................................................59
2.1.5. Programming languages..........................................................................................59

15 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


1.2.5.1 Python..................................................................................................................59
1.2.5.2 C# Language........................................................................................................60
1.2.5.3 ASP.NET Language.............................................................................................61
1.2.5.4 Java Language......................................................................................................62
1.2.5.5 PHP Language......................................................................................................63
1.2.5.6 Comparison of explained programming languages.............................................64
2.1.6. IDE...........................................................................................................................67
2.1.6.1. Net Beans.........................................................................................................67
2.1.6.2. Visual Studio Code...........................................................................................68
2.1.6.3. Dream viewer Studio........................................................................................69
2.1.6.4. Comparison of explained IDEs........................................................................70
2.2. Preferred selected tool and methodology........................................................................71
2.3. Justify the chosen tools, technique and methodology that you may use for the
development of an Inventory Control Application for BAUHINIA.........................................72
3. Activity 3...............................................................................................................................74
3.1. Conduct a peer-review and identify opportunities that were not previously considered
by interpreting the recorded feedback.......................................................................................74
3.1.1. Peer review..............................................................................................................74
3.1.2. Peer review of the BAUHINIA clothing company solution....................................75
3.1.3. Presentation that reviews the business application..................................................77
3.2. Develop a business application with support documentation, based on the Software
Design Document produced in activity 1, along with supportive evidence for using the
preferred tools, techniques and methodologies investigated in activity 2.................................81
3.2.1. Developing BAUHINIA Web-based Application with the preferred Tools,
Techniques and Methodologies.............................................................................................81
3.2.2. Assess New ideas or Possible improvements to the System Developed while
justifying the reasons for including/not including them in the application developed..........92
4. Activity 4...............................................................................................................................92
4.1 Conduct a critical review for the design, development, and testing stages of the Inventory
Control application by analyzing the factors that influence its performance against the problem
definition statement and initial requirements............................................................................92
4.2 Critically evaluating the strengths and weaknesses of the application developed............95
4.2.1. Strength and Weakness of the System.....................................................................95
4.2.2. Opportunities and Threats of the System.................................................................97
4.2.3. SWOT Analysis of BAUHINIA Clothing Company for Handling the More Orders
98

16 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


4.3 Identifying the Risks on BAUHINIA Web-based Application.........................................99
4.3.1. The security risks of BAUHINA Web-based Application......................................99
4.3.2. Only Registered Customer can buy the products onBAUHINIA.com....................99
4.3.3. Using the Hypertext Transfer Protocol (HTTPS)....................................................99
4.4 Identify and justify the opportunities for improvement and further development of the
application you developed.......................................................................................................101
Conclusion...................................................................................................................................103
References....................................................................................................................................104
List of Figures
Figure 1 VMOST model................................................................................................................25
Figure 2 SOAR Analysis...............................................................................................................27
Figure 3 BCG Matrix.....................................................................................................................29
Figure 4 Porter's Five Forces Model..............................................................................................30
Figure 5 Maturity Model................................................................................................................31
Figure 6 Use Case Diagram...........................................................................................................34
Figure 7 ER Diagram.....................................................................................................................34
Figure 8 Sequence Diagram...........................................................................................................35
Figure 9 Activity Diagram.............................................................................................................36
Figure 10 Gantt chart.....................................................................................................................40
Figure 11 Waterfall Model.............................................................................................................44
Figure 12 Spiral Model..................................................................................................................46
Figure 13 V Model.........................................................................................................................47
Figure 14 Basic agile development methodology phases..............................................................49
Figure 15 Lean Development.........................................................................................................50
Figure 16 Prototyping Model.........................................................................................................51
Figure 17 Scrum Development......................................................................................................53
Figure 18 Rapid development methodology..................................................................................54
Figure 19 Joint development methodology....................................................................................55
Figure 20 MySQL..........................................................................................................................57
Figure 21 PostgreSQL....................................................................................................................58
Figure 22 MSSQL..........................................................................................................................59
Figure 23 SQLite...........................................................................................................................59
Figure 24 MS Access.....................................................................................................................60
Figure 25 Python............................................................................................................................61
Figure 26 Peer Review...................................................................................................................76
Figure 27 Feedback form summary...............................................................................................77
Figure 28 Bauhinia clothing...........................................................................................................79
Figure 29 Problem Definition........................................................................................................79
Figure 30 User Requirements........................................................................................................80
Figure 31 System Requirements....................................................................................................80
Figure 32 Aim................................................................................................................................81
Figure 33 Objectives......................................................................................................................81
Figure 34 Feedback........................................................................................................................82

17 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 35 Login Interface..............................................................................................................83
Figure 36 Register Interface...........................................................................................................84
Figure 37 Create / Update products Interface................................................................................85
Figure 38 Inventory handling.........................................................................................................85
Figure 39 Customer view products page.......................................................................................86
Figure 40 View cart.......................................................................................................................87
Figure 41 Customer order checkout...............................................................................................88
Figure 42 Production manager daily orders report........................................................................88
Figure 43 Production manager daily product availability report...................................................88
Figure 44 Chief accountant monthly income report......................................................................89
Figure 45 Database modelling......................................................................................................90
Figure 46 User login data access layer implementation................................................................91
Figure 47 Error message user control UI implementation.............................................................91
Figure 48 Tags and user control initialization and customer registration UI implementation......92
Figure 49 Database connection......................................................................................................92

List of Tables
Table 1 User and System Requirements for BAUHINIA..............................................................19
Table 2 User Access Level............................................................................................................20
Table 3 Budget plan.......................................................................................................................23
Table 4 SWOT Analysis................................................................................................................28
Table 5 SOAR analysis..................................................................................................................29
Table 9 Project Milestone..............................................................................................................38
Table 10 The strengths and weaknesses of the waterfall model....................................................45
Table 11 The strengths and weaknesses of the spiral model.........................................................47
Table 12 The strengths and weaknesses of the V-model...............................................................48
Table 13 Advantages and Disadvantages of agile methodology...................................................49
Table 14 Advantages and Disadvantages of lean development methodology...............................51
Table 15 Advantages and Disadvantages of prototyping development methodology...................53
Table 16 Advantages and Disadvantages of SCRUM development methodology.......................54
Table 17 Advantages and Disadvantages of rapid development methodology.............................55
Table 18 Advantages and Disadvantages of joint development methodology..............................56
Table 19 Advantages and disadvantages of Python.......................................................................62
Table 20 Advantages and disadvantages of C# Source.................................................................63
Table 21 Advantages and disadvantages of ASP.Net...................................................................64
Table 22 Advantages and disadvantages of Java Source...............................................................65
Table 23 Advantages and disadvantages of PHP...........................................................................66
Table 24 Comparison of ASP.Net and PHP.................................................................................67
Table 25 Comparison of C# and Java............................................................................................68
Table 26 Main categories of programming languages Source.......................................................69
Table 27 Advantages and disadvantages of NetBeans.................................................................70
Table 28 Advantages and disadvantages of Visual Studio IDE....................................................71
Table 29 Advantages and disadvantages of Dreamweaver IDE....................................................72
Table 30 Comparison of explained IDEs Source..........................................................................72
Table 31 Test Cases.......................................................................................................................97

18 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


1. Activity 1
1.1. Produce a well-defined Problem definition statement supported by a set of user and
System requirements for the above scenario
1.1.1 The Problem Definition Statement – BAUHINIA
Due to high demand of the products the BAUHINIA cannot handle their business process using
only social media platform. BAUHINIA is getting the orders from the Facebook and Instagram
but they still using a manual system for processing the orders. Because of that difficult to cope
up with paperwork associated with inventory management due to the increased of number of
orders through message requests. With the manual system of BAUHINIA has facing the
misplacements, incorrect order details, harder to update new details, incorrect reports with the
current manual system of BAUHINIA.
The Problem Statement Analysis Approach to Current system of their company we can use
5W’s. Answer the 6 basic questions
- Who? - BAUHINIA has the problem
- What? - Due to the increase of number of orders they are decided to change their system
with using software
- When? - When they had a number of orders they cannot properly accessing the manual
system
- Where? -In their order managing system
- Why? - This problem occurs to increase of the business growth of the BAUHINIA
company therefore they decided to increase the number of orders. Manual system did not
support them to managing orders. That’s why they decided to make their system with software.

From this problem definition we can identified the requirements and moreover they are like to
do the software development with the agile method. they do not agree with the traditional

19 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


software methodologies for the current world issues. so, we are considering their needs and
likes for their business growth in making software.

1.1.2 Set of User and System Requirements for BAUHINIA


The BAUHINIA clothing company's order tracking system should meet the following user
needs, and the following system requirements are necessary to meet these user requirements.
User Requirements System Requirements
- Customer register/ sign in - Data should be stored in a secured
- Add products to cart - database
- Checkout products - Security requirements
- Staff register/ sign in - Operating system
- Create daily reports of orders - Development tools and
- Create daily reports of product Programming language
- availability Authentication
- Add new items to inventory
- Update existing item details
Create monthly income report

Table 1 User and System Requirements for BAUHINIA

User Requirements
The four levels of staff at BAUHINIA will mostly use the online system, including the order
handling clerk, who will be in charge of dealing with customers at the counter, and
manufacturing operation, which will be responsible for the warehouse and updating
information on stock availability. This system will be used by Chief Account to create invoices
and final demands for the clients. The production manager will be in charge of overseeing the
company's whole tracking system and producing reports. The user requirements for each
employee from the system, or, in other words, the functions the system must do in accordance
with the user's needs, are clearly shown in the image below.

System Requirements

20 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


System requirements are classified as either functional or supplemental requirements. A
functional requirement specifies something that a user needs to perform their work. For
example, a system of BAUHINIA may be required to enter and print cost estimates; this is a
functional requirement. Supplemental or non-functional requirements specify all the remaining
requirements not covered by the functional requirements. I prefer to use the term supplemental
requirements instead of non-functional requirements. Supplemental requirements are
sometimes called quality of service requirements. The plan for implementing functional
requirements is detailed in the system design. The plan for implementing supplemental
requirements is detailed in the system architecture. The list below shows various types of
supplemental requirements.

1.1.3 User Access Levels


Based on the different types and levels of the users of the BAUHINIA Online inventory system,
the access level for the system should also be restricted. The different level of access has been
provided to different people with the main motive of securing the data and avoiding or reducing
the data thefts and data losses. As we know, four levels of system access are required for this
application. Each access level has its own functions that contribute to increasing the
productivity of the system.
Access Level Users Description
• report only Chief Accountant (CA) The CA is expected to produce the
invoices and the final demand for
payment based on the details available on
the database. He/ She cannot make
changes in the invoices amount and the
prices and order amount. So CA can only
generate the reports such as invoices and
demand based on pre-defined data.

21 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


• update and Order Handling Clerk The Order handling clerks update the
delete details of the customers to the warehouse
operatives and also the clerks have to
check and credit worthiness of customers
and delete their orders if they are not
creditworthy.
• complete system Production Manager (PM) Production Manager since he/she is in
access charge of this system will be able to have
full control over each and every function.

Table 2 User Access Level

1.1.4 The Risks That Affects the Success of the BAUHINIA New System Completion
In this section explain the risks that affect the successful completion of the BAUHINIA web-
based system.
In the development of each application, there are risks. Even the most well-thought-out
endeavor can run into problems. Regardless of how well developers prepare, their projects will
inevitably run across unanticipated issues, causing undesirable delays. There could be a lack of
resources, as well as cultural and legal concerns. Developers can use risk planning to identify
potential problems that could derail their project and assess how likely they are to occur, take
steps to mitigate the impact of problems that cannot be avoided, and take steps to prevent risks
that can be avoided. Any unforeseeable occurrence or situation that could have an impact on
the application development process is referred to as a risk.
There are no guarantees on any project, and even the simplest activity can result in unexpected
problems, which will differentiate the application development process's outcomes. Several
areas of risk can be identified during the development process of the BAUHINIA clothing
company application. Prior to the start of the development process, these areas should be
thoroughly assessed and solutions must be provided. (Watt, 2014)
1. Technical risks
2. Cost risks
3. Schedule risks

22 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


4. Client risks
5. Legal risks
6. People risks
These are the six major risk areas that must be addressed in order to finish the application
successfully. It is feasible to reduce the impact of a risk or fully stop it from occurring if it is
assessed before it occurs and a remedy is provided. When designing an application for the
BAUHINIA corporation, there are a variety of risks to consider. Based on the facts supplied
above, it should be able to identify the most problematic risks and take steps to avoid them. It is
feasible to establish a system that is free of delays and errors by identifying risks before
commencing the application development process.

1.1.4.1 Technical risks


There could be a lot of technical risks when completing the BAUHINIA application. The most
typical risk in the fulfillment of an application is, as is well known, a technical risk. While
completing the application, problems with the computers used to create the system, including
software, electrical, storage, and internet connection problems, may arise. By exercising
precaution, these issues can be avoided.
- Before beginning the development process, ensure that the hardware and software are of
high quality.
- Check the computer's internet connection and keep a backup connection.
- Use UPS for the computer to avoid power outages.
- In addition, all data stored by the applications must be backed up on a regular basis.
These are the technical risks that may be encountered while developing the system for the
BAUHINIA company, as well as how they can be avoided.

1.1.4.2 Cost risks


Unexpected cost changes may occur during the system's development. This is a common issue
when developing an application on a tight deadline. Overtime work may incur additional costs
for developers, software prices may differ, hardware failures may occur, and raw material
prices may change. To avoid financial problems, a budget for the development process should
23 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01
be created. When a problem occurs, provisions for each task should be kept and carried out.
The most important thing to do to reduce cost-related risks is to plan a budget for the
development process.

Inventory Control Application for BAUHINIA


Budget items 1st payment 2nd payment 3rd payment 4th payment
budget (in Rs.) budget (in Rs.) budget (in budget (in Rs.)
Rs.)
1. Employment cost
Project Manager 30000 30000 30000 55000
Team members 20000 20000 20000 40000
Subtotal employment 50000 50000 50000 95000
costs
2. Equipment
Printers 6000 6000 6000 10000
Hard Disk 12000 12000 12000 30000
Scanners 9000 9000 9000 20000
Subtotal equipment 27000 27000 27000 60000
3. Travel and meeting
costs
Conference 5000 5000 5000 10000
Field work 10000 10000 10000 20000
Project Meeting 7000 7000 7000 15000
Subtotal travel 22000 22000 22000 45000

24 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


4. Software
Virus guard 8000 0
Backup software 8000 0
Subtotal software 16000
Total 115000 99000 99000 299000

Table 3 Budget plan

1.1.4.3 Schedule risks


Time constraints are another key challenge that occurs when designing an application. An
individual may assume that he or she can accomplish the entire project within the allotted and
projected time limit during the early phases of the development process. It will take longer than
predicted if there is an issue with the project's technological assets. As a result, it is critical to
complete work ahead of schedule in order to save time on the schedule. It's also crucial to
develop a more realistic project timeline. Provisioned time can be utilized to solve problems
with people, technology, or clients.

1.1.4.4 Client risks


It's important to keep in contact with customers while working on the BAUHINIA app. To meet
the needs of the client, this system was created. The client should therefore fully comprehend
the system they will ultimately acquire. If this is not done, users may experience issues with the
system, which will complicate things for the engineers. For instance, a client can refuse to pay
if they are dissatisfied with the final result. It's crucial to be able to educate customers about the
design process at every stage as a result. It's essential to communicate with customers in order
to get their feedback and learn about their expectations.
1.1.4.5 Legal risks
It is critical to research the legal backgrounds of the components when developing the system.
When a design is lifted from another project, for example, the code's copyrights should be
considered. Failure to consider the legal background of another's design will lead to issues at
the end of the design process. As a result, in order to properly complete the application for the

25 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


BAUHINIA apparel firm, it is important to recognize all legal dangers and be able to prevent
them.
1.1.4.6 People risks
During the application development process, this type of danger can arise regularly. During the
development phase, some developers may become ill or leave the firm. The application
development process will be disrupted as a result of this. As a result, extra labor should be kept
on hand for constructing this system. If a developer becomes ill throughout the development
process, for example, having extra developers to fill in is critical. Risks posed by people are
easily solved, while dangers posed by other forms of risks must be considered more carefully.
By identifying these people's dangers and implementing measures, it is feasible to produce a
successful application for the BAUHINIA company.
From all of the areas discussed above, it is important to be much more mindful of the risk that
is being faced. By taking precautions before the risk occurs, the entire process can be
completed without interruption. These are the high-risk areas that will jeopardize the successful
completion of the BAUHINIA clothing company application. By identifying the risky areas
before beginning the development process, it is possible to avoid the problems that the risky
areas will cause.
In order to develop a better application, the author believes that it is important to identify risk
related areas prior to the start of the development process. Because the author was able to
identify those areas during the development process, the author believes that the application can
be successfully completed without any interference.

1.2. Produce a well-structured Software Design Document that defines a proposed


solution for BAUHINIA by exploring and analyzing their business problem
1.2.1. Analyze methods for Business problems
Problem solving is the process of defining a problem. That is, identifying the cause of the
problem and identifying and prioritizing alternatives and implementing a solution from that.
1.2.1.1. VMOST Method
VMOST analysis allows a business to evaluate its core strategies depending on whether the
complementary measures of that strategy are being carried out. This depends on the 5
components, each of which is represented by a letter in the name of VMOST. That is, the letter

26 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


'V' stands for Vision, the letter 'M' stands for Mission, the letter 'O' stands for Objectives, the
letter 'S' stands for Strategies and the letter 'T' stands for Tactics. (B, 2018)

Figure 1 VMOST model

1.2.1.2. VMOST Analysis for BAUHINIA Clothing Company


Vision: - BAUHINIA Clothing company become a leading company by providing proper
service to its customers.

Mission: - Launching BAUHINIA Clothing company branches in various parts of the country
by gaining special admiration among their customers.

Objectives: -
- Providing better service to the customer.
- Having an immediate customer response process.
- Increase sales by offering special discounts on product items.
- Producing products that the customer prefers or increasing the quality of the product.

Strategies: -

27 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


- To achieve the objectives to help the company grow by carrying out their day-to- day
operations properly.

Tactics: -
- Designing a system that can communicate systematically with their customer instantly
through agile methodology.
- Creating a facility where customers can ask their questions.
- Give opportunity for BAUHINIA Clothing Company employees to easily manage orders.
- Provide facility to return, for in case of any errors in order delivery.
- The system should systematically retain old data so that the analyst can generate report
on the company's revenue.
1.2.1.3. SWOT Analysis
SWOT means Strengths, Weaknesses, Opportunities, and Threats. That means researching the
company's Strengths, Weaknesses, Opportunities and Threats. This is mostly used to find
where to start the business, at the same in helping to make the right decision. This is utilized for
easily deciding if there more different ideas in the environment. (Schooley, 2022)
1.2.1.4. SWOT Analysis for BAUHINIA Clothing Company

Strength Weakness

• Experience in already doing business • Inability to properly manage orders.


through social website. (Was leading
the business for last 2 years) • Old i.e. inability to prioritize orders
placed first.

• Good feedback among customers


regarding products.
• Occasionally losing some orders to
deliver.

• Being a small business.

28 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Opportunity Threat

• Having a large customer base that • Newcomers of Online shopping website


already conducts business activities face inadvertent legal issues related to
through social websites. customers' personal data.

• This is easy for a company to take its • Opportunities for data related to the
place quickly as only a few companies company to leak out.
do business through websites (E-
commerce sites)

Table 4 SWOT Analysis

The table above provides information on Strengths, Weaknesses, Opportunities, and Threats
found during SWOT analysis at BAUHINIA Clothing company.

1.2.1.5. SOAR Analysis


SOAR analysis is an analytical method that helps companies to know their strengths,
opportunities, aspirations, results through their future vision and make sound decisions through
strategic planning. (Sridharan, 2022)

Figure 2 SOAR Analysis

29 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


1.2.1.6. SOAR Analysis for BAUHINIA Clothing Company

Strength Opportunity

• Experience in already doing business • Having a large customer base that


through social website. (Was leading the already conducts business activities
business for last 2 years) through social websites.
Good feedback among customers This is easy for a company to take its
• •
regarding products. place quickly as only a few companies
do business through websites (E-
commerce sites)

Aspiration Results

• Become one of the Best Clothing • The online shopping system is very
Company. advanced and the order handling is well
Sustainability in a competitive done.

environment. User requirements are fully met by the

online shopping system

Table 5 SOAR analysis

The table above provides information on Strengths, opportunities, aspirations and results found
during SOAR analysis at BAUHINIA Clothing company.

1.2.1.7. Boston Matrix Methodology


The Boston Consulting Group Matrix (BCG Matrix), also known as the Product Portfolio
Matrix, is a business planning tool used to assess the strategic position of a company's brand
portfolio. The BCG matrix is one of the most popular portfolio analysis methods. This
classifies a company's product and / or services into two matrices. Each of the four is classified
as low or high performance depending on the relative market share and market growth rate.
(Hanlon, 2022)

30 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 3 BCG Matrix

The market share of an item and its strength in a specific market is specified by the horizontal
axis of the BCG Matrix. Via using related market share, that supports to measure the
competitiveness of the company.
The growth rate of a product and its probable to grow in a specific market is specified by the
vertical axis of the BCG Matrix and there are four quadrants in the BCG Matrix. As follows,
- Question marks: - High market growth but low market share for the products.
- Stars: - Higher market growth and higher market share for the product.
- Dogs: - Low market growth and low market share for the product.
- Cash cows: - Low market growth and high market share for the product.
1.2.1.8. Boston Matrix Analysis for BAUHINIA Clothing Company
Knowing which product of BAUHINIA Clothing company is most popular among the people
and the market through Boston Matrix Methodology, that is possible to make a decision by

31 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


management to increase the productivity for 'high demand products', at the same time reduce or
non-manufacture the 'low demand products', thereby maximizing profits and minimizing losses.
1.2.1.9. Porter’s 5 Forces Model
Porter's Five Forces Analysis is a structure that helps to analyze the level of competition in a
particular industry. This can be very useful when starting a new business or entering a new
industry. According to this framework, competitiveness is not limited to competitors. (Martin,
2022)

Figure 4 Porter's Five Forces Model

The level of competition in an industry depends on the following five basic forces.

- Threat of new entrants


- Bargaining power of suppliers
- Bargaining power of buyers
- Threat of substitute products or services
- Existing industry rivalry

32 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


1.2.1.10. Porter’s 5 Forces Model for BAUHINIA Clothing Company
Since BAUHINIA Clothing company is new to online shopping and has been in the industry
for just 2 years now, through the Porter’s 5 Forces Model analysis, has been able to gain a clear
idea about the ways in which the company can have problems, which path to choose for get
profit and which activities are need to be avoid for survive in the industry.
1.2.1.11. Maturity Model
A maturity model is a tool that people may use to assess the performance of an individual or
group right now and choose what skills they should learn next to boost that performance.
Although they can be readily abused, maturity models have a negative reputation in some
circles and can be useful in the right circumstances. (Fowler, 2014)

Figure 5 Maturity Model

1.2.1.12. Maturity Model for BAUHINIA Clothing Company


The BAUHINIA Clothing Company has been operating for two years. As a small business, it
should continue to make systematic efforts to stay competitive. Maturity Model Analysis is the
best tool for this, as it will help the company understand where it stands right now and what steps
it needs to take to advance.

Conclusion: - The incapacity of BAUHINIA Clothing to effectively manage the numerous


orders that are currently coming in is the company's largest issue. This has been chosen by the
organization as an alternative measure to the online buying system after being discovered by the
aforementioned study approaches. Analysis techniques used above have confirmed how effective
this procedure is. The features of the internet shopping platform will also aid the business in
dominating its sector.

33 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


1.2.2. Software Design Document for BAUHINIA
1. About BAUHINIA Clothing
BAUHINIA is a clothing company in Sri Lanka that was established in 2018 and has made
significant strides in providing Sri Lankans with fantastic designs of a variety of clothes.
BAUHAINIA initially manages orders via social media platforms like Facebook and
Instagram. The first half of this article describes the business process in BAUHINIA.
2. The Business Process of BAUHINIA (At the Beginning)
At first, BAUHINIA processed their order using a manual process. Facebook and Instagram are
only a couple of the social media platforms BAUHINIA uses for marketing and promotion. As
part of that procedure, BAUHINIA first advertises its products on Facebook and Instagram.
Following that, clients can look at BAUHINIA's products on Facebook and Instagram and, if
they are interested, submit an order to BAUHINIA. If the product is available, the customer
should provide the delivery information to BAUHINIA after taking a few steps and using a few
product details to make a request. For make a request the customer have to follow the few steps
and have to use the few details on the products and if the product is available the customer
should send the deliver details to the BAUHINIA. According to that requesting process, first of
all the customers can message BAUHINIA requesting an item/s by sending the item code, size
and required quantity. If the item is available, the customer must send the delivery address,
contact number to confirm the order. The package with the required item/s will be delivered to
the customer’s doorstep within 3 to 5 working days, after which he/she must pay cash on
delivery. Note that BAUHINIA is accept only cash payment.

3. The Problem with Current System of BAUHINIA - Manual Inventory Management


System
BAUHINIA consistently maintains product quality and provides the greatest customer service,
including during the return procedure. BAUHINIA has steadily expanded through offering
high-quality items and the greatest customer care, mostly as a result of its popularity on social
media.
Due to high demand of the products the BAUHINIA cannot handle their business process using
only social media platform. BAUHINIA is getting the orders from the Facebook and Instagram

34 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


but they still using a manual system for processing the orders. Because of that difficult to cope
up with paperwork associated with inventory management due to the increased of number of
orders through message requests. With the manual system of BAUHINIA has facing the
misplacements, incorrect order details, harder to update new details, incorrect reports with the
current manual system of BAUHINIA. For the overcome all these problems, need an automated
system for the workflow of BAUHINA clothing.
4. The Proposed Solution for The Problem of the BAUHINIA
Proposed solution: Develop a web-based system for selling and handling Clothing product of
BAUHINIA on customize website.
The system that suggested BAUHINIA.com as a name. By analyzing the BAUHINIA clothing
company’s current solution to the problem, it is planned to create a system using the C#
programming language along with the ASP.Net framework, and a database created by MSSQL.
All of the user and system requirements stated in the description will be met by the proposed
web-based solution. Registered customers can browse, add products, and proceed to check out
in the proposed solution. The inventory handling clerk can add new items to the inventory and
update the details of existing items. A daily report of orders requested and product availability
can be generated by the production manager. A monthly income report can be created by the
chief accountant. According to these specifications, a web-based system is the best solution for
this scenario. A system with the fewest number of interfaces will be created in order to carry
out the tasks in the simplest way possible for the users who will be interacting with the system
as a whole.

35 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


5. Use case diagram for the proposed solution

Get register
<<include>>

Checking
Browse product Daily order generate
<<extend>>

Make order Check availability of product


Customer Product
Make payment Manager

Generate monthly Add new product


income report

Update existing products


Chief Clerk
Accountant

Figure 6 Use Case Diagram

6. ER Diagram

Figure 7 ER Diagram

36 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


7. Sequence Diagram

Figure 8 Sequence Diagram

37 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


8. Activity Diagram

Figure 9 Activity Diagram

9. Intended Market Environment


Target Market: Online buyer
10. Aim
Develop a useful web-based solution for managing the products in BAHUNIA, accepting
online orders, monitoring the shipping and return processes, and offering customers a valuable
service.
11. The Objectives of The BAUHINIA Online Based System
- To enhance the BAUHINIA business process using the web-based system in the Sri
Lanka.
- To give better user experience on BAUHINIA.com for the users and customers.
- To increase sell of BAHUNIA clothing products using BAUHINA.com e-commerce
platform.
- To effectively handles the inventory.
- To gain more popularity among the online clothing products selling platforms.
- To provide secure and faster service to the customers of BAUHINIA.
- To increase the online customer of the BAHUNIA.

38 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


- To increase the managing process of the BAHUNIA.
- To increase the inventory handling process of BAUHINIA.
- To generate the reports such as inventory, orders.
- To reduce losses due to theft, wastage, misplacing orders.
12. Target Audience of the Documentation
- Development Team
- Top Management of BAUHINIA
13. Project Milestones

Milestone Goal of the milestone


Initiation of project This milestone should gather user information and assess
the issue facing the business.

Design proposal Software requirement specification has been peer reviewed.


Investigation of technical An exhaustive investigation into a technical problem has
issues resulted in the presentation and approval of a summary of
the key issues and findings.

System development Create user interfaces and back-end code.


Testing software module A small program or function has been completed and tested
as a unit.

Building software product The software product has been developed and is now
operational.

Completing test The unit testing has been completed, and the test results
have been recorded.

Completing bug fix A software bug was identified and fixed.


Documentation The designed system should be documented in a system
document.

Table 6 Project Milestone

39 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


14. The Expected Facilities of the Proposed System (BAUHINIA)
The various users and customers of BAUHINIA access following facilities on
BAUHINIA.com.
The facilities for the users on BAUHINIA.com
Customer Registration and sign-in: Allow customers to register free. At the time of registration,
customers need to provide name, email address, delivery address, password and two working
telephone numbers.
Browse for products: through product catalogue, check availability.

The facilities for the registered customers on BAUHINIA.com.


Customer Registration and sign-in: Allow customers to register free. At the time of registration,
customers need to provide name, email address, delivery address, password and two working
telephone numbers.
Browse for products: through product catalogue, check availability and add products to cart.
Checkout products: Total amount to be paid will be shown. Customer will be redirected to
confirm billing details: Name, delivery address, email address, two contact numbers. Payment
method will be cash on delivery.

The facilities for the staff members on BAHUNIA.com


Staff registration and sign-in. The user accounts are categorized according to the user’s job.
Each account has different permission to access the BAHUINIA.IMS system.

The facilities for the Production Managers on BAUHINIA.com


Create a daily report of orders that have been requested.
Create a daily report of product availability.
Update the report of orders.
Update the daily reports of product availability.
Create a report of customer feedbacks.
Update the reports of customer feedbacks.

40 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


The facilities for the Inventory Handling Clerk on BAUHINIA.IMS.com
Add new items to inventory, update existing item details.
Delete the items on inventory.

The facilities for the Chief Accountant on BAUHINIA.IMS.com


Create a monthly Income report.
Update the monthly Income reports.
Access daily report of orders – Read only

The facilities for the directors on BAUHINIA.IMS.com


Daily report of orders – Read only
Daily report of product availability – Read only
Daily report of product delivering – Read only
Customer satisfaction report – Read only

15. Benefits of the proposed system for BAUHINIA


- Simplified inventory management – Hence, the new system avoids the chances of human
error while saving management time.
- Reduce the risk of overselling – ensuring the stock levels are adjusted each time make a
sale.
- Avoidance of stock-outs and excess stock – can track low stock levels and identify the re-
order points for each product, in turn avoiding the occurrence of stock-outs.
- Save money – optimize the money spent on purchases raw materials and products and
reducing wastes through better inventory visibility.
- Integration with accounting – reduce the additional bookkeeping costs and easy to share
data between inventory and bookkeeping.
- Forecasting and planning – report that use to plan for growth and review trends.

16. Timeline and Scope


A Gantt chart and project timeline can be used to define the timeline of the BAUHINIA
clothing company’s application development process.

41 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 10 Gantt chart

The Gantt chart timeline above will define the breakdown of how and when to plan on
executing each part of the project.

This is the software design document for the proposed BAUHINIA clothing company’s
application to track orders by discontinuing receipt of orders via message requests and the
traditional paper-based method they had been using. This design document provides a clear
picture of the system that will be developed as a solution to the BAUHINIA clothing
company’s business-related problem. This document depicts the proposed system design as
well as the time required to design the proposed system. Clients and peers can review proposed
solutions and provide feedback on problematic areas if a design document is provided prior to
the start of the application development process. The software design document, in the author's
opinion, contains all of the details of the proposed system for BAUHINIA clothing company.

2. Activity 2
2.1. Investigate the use of software development tools and techniques for the chosen
software solution.
A system development methodology is a framework for organizing, scheduling, and managing
the process of creating an information system. The SDLC, the agile methodology, and object-
oriented system analysis and design are the three most popular development approaches in use
today. Over the past ten years, both the traditional and agile approaches to software
development have gained popularity.

42 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


As was discussed in the previous section, various SDLC approaches are used in software
development projects. These approaches vary depending on the context and needs of the
project. For all projects, a single system development process is not appropriate. The
development team must carefully decide which methodology is ideal for each project. The
decision is made in light of a number of technical, organizational, project, and team factors. In
order to do various projects, in under the different conditions there are many methodologies to
develop systems.
Types of system development methodologies
- Waterfall Model
- Prototyping Model
- Spiral Model
- Incremental Spiral
- Iterative Model
- V-Shaped Model
- Rapid Application Development (RAD)
In order to make software development more predictable and effective, impose a disciplined
process in accordance with each and every development methodology. Some businesses have
their own unique specialized methodologies for creating their software. The majority, however,
refers to two different methodologies: heavyweight and lightweight. Heavyweight techniques,
commonly known as the conventional approach to software development. The lightweight
techniques, often known as agile modeling, are the opposite. (Sharma, 2020)
The next sections provide in-depth examination of a variety of topics, including agile
methodology and conventional system analysis techniques (SDLC).
The next part outlines the differences between traditional and agile system development
approaches. (Bourgeois, 2020)

2.1.1. The Traditional System Developing Methodology (TSDM)


Approach – The traditional method uses a liner approach.

43 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


The traditional system analysis procedures are regarded as the top techniques. The traditional
technique claims that this is how software is developed, and they promote extensive planning,
meticulous documenting, and expansive design. Rely on an incremental or liner life cycle in
accordance with the behavior of established techniques. The models below consider
conventional system analysis approaches. Several TSDM models include:
- Waterfall Model
- Spiral Model
- V-Model
- Rapid Application Development
As previously noted, the traditional methodology employs a liner approach. Basically, this
strategy needs to be applied during the software development process and completed in a
specific order. This implies that each step must be finished before the subsequent one may start.
Typically, these stages include the following.
1. Requirements gathering and documentation
2. System design
3. Code and unit testing
4. System testing
5. User acceptance testing
6. Issues fixing
7. Deployment

The traditional methodologies such as waterfall, spiral model is comprehensively explained


below.

1. Waterfall Model
The waterfall model, which is common in software engineering and product development, is a
linear, sequential method of approaching the software development life cycle (SDLC). The
waterfall approach places an emphasis on logical step development. Distinct endpoints or goals
are established at each stage of development and cannot be changed after completion, much
like the direction water runs over the brink of a cliff. Dr. Winston W. Royce initially used the

44 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


phrase in a paper that was published in 1970, and it is still used today in industrial design
applications.

There are seven separate steps that make up the waterfall methodology:
1. Requirements: Potential requirements, deadlines and guidelines for the project are
analyzed and placed into a functional specification. This stage handles the defining and
planning of the project without mentioning specific processes.
2. Analysis: The system specifications are analyzed to generate product models
and business logic   that will guide production. This is also when financial and technical
resources are audited for feasibility.
3. Design: A design specification document is created to outline technical design
requirements such as programming language, hardware, data sources, architecture and
services.
4. Coding/Implementation: The source code is developed using the models,
logic and requirements designated in the prior stages. Typically, the system is designed in
smaller components, or units, before being implemented together.
5. Testing: This is when quality assurance, unit,  system   and  beta tests take place to report
issues that may need to be resolved. This may cause a forced repeat of the coding stage
for debugging. If the system passes the tests, the waterfall continues forward.
6. Operation/Deployment: The product or application is deemed fully functional and is
deployed to a live environment.
7. Maintenance: Corrective, adaptive and perfective maintenance is carried out indefinitely
to improve, update and enhance the final product. This could include
releasing  patch   updates or releasing new versions. (Lewis, 2019)

45 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 11 Waterfall Model

The strengths and weaknesses of the waterfall model

Strengths Weaknesses

• Reduces unnecessary planning costs. • . Increased development period.


• Perfect for supporting project trams w • An increase in development
ith less experience. expenses.
• Progress is quantifiable. • Cost is difficult to estimate.
• Track significant projects. • Issues weren't discovered until
• Ease of maintenance. testing

Table 7 The strengths and weaknesses of the waterfall model

2. Spiral Model
One of the most significant models for the Software Development Life Cycle that supports risk
handling is the spiral model. In diagrammatic form, it resembles a spiral with several loops.
The spiral's precise number of loops is unclear and varies from project to project. A phase of

46 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


the software development process is referred to as each spiral loop. The project manager might
alter the precise number of phases required to build the product depending on the project's
risks. The project manager plays a crucial role in the spiral model of product development since
they dynamically set the number of phases. (Geeks, 2022)
Each phase of the Spiral Model is divided into four quadrants as shown in the above figure. The
functions of these four quadrants are discussed below- 
1. Objectives determination and identify alternative solutions: Requirements are gathered
from the customers and the objectives are identified, elaborated, and analyzed at the start
of every phase. Then alternative solutions possible for the phase are proposed in this
quadrant.
2. Identify and resolve Risks: During the second quadrant, all the possible solutions are
evaluated to select the best possible solution. Then the risks associated with that solution
are identified and the risks are resolved using the best possible strategy. At the end of this
quadrant, the Prototype is built for the best possible solution.
3. Develop next version of the Product: During the third quadrant, the identified features are
developed and verified through testing. At the end of the third quadrant, the next version
of the software is available.
4. Review and plan for the next Phase: In the fourth quadrant, the Customers evaluate the so
far developed version of the software. In the end, planning for the next phase is started.

47 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 12 Spiral Model

The strengths and weaknesses of the spiral model

Strengths Weaknesses

• Quick to respond to risks • Lack of milestones


• Enhanced visibility of users • Lack of risk management experience
• Effective for massive, complex • Dose not work well for small
projects projects
• Prototyping limits expenses
• Marketing benefits
• Evolutionary progress

Table 8 The strengths and weaknesses of the spiral model

3. V-model
The V-model is a type of SDLC model where process executes in a sequential manner in V-
shape. It is also known as Verification and Validation model. It is based on the association of a
testing phase for each corresponding development stage. Development of each step directly

48 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


associated with the testing phase. The next phase starts only after completion of the previous
phase i.e. for each development activity, there is a testing activity corresponding to it. 

Figure 13 V Model

The strengths and weaknesses of the V-model


Strengths Weaknesses

• Easy to use • Does not easily handle concurrent


• Project management can track events
progress by milestone • Does not handle iterations of phases
• Similar to the classic waterfall model • Does not contain risk analysis
activities
• Same as waterfall model
Table 9 The strengths and weaknesses of the V-model

2.1.2. Agile System Analysis Methodology (ASDM)


1. Agile Methodology
Agile approaches, unlike traditional SDLC approaches, they are precise and customer-friendly.
Throughout the project development phases, users/customers have the opportunity to make
changes. Agile development is based on an incremental and iterative approach. They speed up

49 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


the software development process. Agile approaches are a set of exercises developed by
experienced software development practitioners that are used in software development. Agile
methods are incremental in nature, with small increments. A new software product created
using agile methods is released and made available to customers in less than three weeks. These
methods involve the customer throughout the development process in order to accommodate
changing requirements. Agile methods also reduce documentation by relying on internal
communications rather than formal meetings with written documents. Four core values are
emphasized in agile software development. (Digitie.com, 2022) They are:
- Individual and team interactions over processes and tools.
- Working software is preferred over extensive documentation.
- Customer collaboration is preferred over contract negotiation.
- Responding to a change by sticking to a plan.
(Dora & Dubey, 2013).

Advantages Disadvantages

- Agile takes a flexible approach that - Working with software takes


responds well to change. precedence, and documentation is

- Allows for direct communication, inefficient.


which helps to keep things - There's a chance of getting off track
transparent. because the outcome isn't clear.
Continuous quality improvement
-
through the rapid detection and
correction of defects, as well as the
early detection of expectation
mismatches.

Table 10 Advantages and Disadvantages of agile methodology

50 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 14 Basic agile development methodology phases

2. Lean development methodology


The Lean Development model emphasizes the creation of easily manageable software as a
technical advancement. This meticulously crafted methodology is more intently focused than
any other agile methodology. The goal of this procedure is to improve the software in a third of
the time, on a much smaller budget, and with a much smaller amount of important workflow.

51 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 15 Lean Development

Advantages Disadvantages
- Budget and time constraints are - The success of the software
- reduced. development process is determined
Allows for early product delivery. by the team's ability to work
together.
- A bad business analyst can cause a
lot of problems.
- When a developer has too much
flexibility, he or she loses focus.
Table 11 Advantages and Disadvantages of lean development methodology

3. Prototyping development methodology


Prototyping is the process of creating a working replica of a product or system that must be
engineered. It provides a small-scale facsimile of the finished product and is used to gather
customer feedback. One of the most widely used Software Development Life Cycle Models is
the Prototyping Model (SDLC models). When customers do not know the exact project
requirements ahead of time, this model is used. In this model, a prototype of the end product is

52 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


created, tested, and refined based on customer feedback until a final acceptable prototype is
achieved, which serves as the foundation for developing the final product. In this process
model, the system is partially implemented prior to or during the analysis phase, allowing
customers to see the product early in its life cycle. The process begins with customer interviews
and the creation of an incomplete high-level paper model. This document is used to create the
initial prototype, which will only support the basic functionality requested by the customer.
Once the customer has identified the issues, the prototype is refined to eliminate them. The
process is repeated until the user approves the prototype and is satisfied with the working
model. There are 4 types of prototyping models. They are Rapid Throwaway Prototyping,
Evolutionary Prototyping, Incremental Prototyping and Extreme Prototyping.

Figure 16 Prototyping Model

Advantages Disadvantages

53 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


- Gives a clear picture of the software's - Possibilities of an increase in
functional process. management costs.
- Reduces the likelihood of a software - Excessive client involvement can
function failing. affect processing.
- Assists in the gathering of - The software's workflow is harmed
requirements as well as the overall by too many changes.
analysis.

Table 12 Advantages and Disadvantages of prototyping development methodology

4. Scrum development methodology


SCRUM is an agile development method that focuses on task management in a team-based
development environment. Scrum is essentially derived from the activity that occurs during a
rugby match. Scrum advocates working in small teams and believes in empowering the
development team. It is made up of three roles, and their responsibilities are as follows:

Scrum Master - The master is in charge of organizing the team, sprint meetings, and removing
roadblocks to progress.
Product owner - The Product Owner creates the product backlog, prioritizes it, and is
accountable for delivering functionality at each iteration.
Scrum Team - The team manages and organizes its own work in order to complete the sprint or
cycle.

A Scrum process differs from other agile processes in that it is based on specific concepts and
practices divided into three categories: Roles, Artifacts, and Time Boxes. Scrum is most
commonly used to manage complex software and product development through iterative and
incremental processes. Scrum significantly increases productivity and decreases time to
benefits when compared to traditional “waterfall” processes. Scrum processes enable
organizations to smoothly adjust to rapidly changing requirements and produce a product that
meets changing business goals.

54 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 17 Scrum Development

Advantages Disadvantages
- The team is in charge of making - Because of fluctuating costs, the
- decisions. - processing method suffers.
- The business requirement document - Not recommended for large-scale
is regarded as unimportant. projects.
Empathizing in a light- Requires a highly skilled team with
handed manner with constant no room for newcomers.
updating.
Table 13 Advantages and Disadvantages of SCRUM development methodology

5. Rapid development methodology


Rapid application development is a software development model that is meant to provide
excellent processes with the help of other software approaches. It is aimed at providing quick
results. It was designed to get the most out of the development software. Without a doubt, it is
intended to improve the overall usability of the software or web application project by
highlighting the active user's participation.

55 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 18 Rapid development methodology

Advantages Disadvantages

- Streamlines the entire development - Performance is reliant on the team.


process. - This methodology is used to work on

- Assists the client with quick a modularized system.


reviews. Encourages customer To handle the complexities, highly
- -
feedback in order to improve. skilled personnel are required.
- Small budgeted projects are not
eligible.
Table 14 Advantages and Disadvantages of rapid development methodology

6. Joint development methodology


The Joint Application Development Methodology is a requirements-classification and user
interface-expansion approach that requires end-users, clients, and developers to participate in a
powerful off-site conference to accentuate and confirm the software system. This method is
used to involve the client in the development and expansion of an application. This is
accomplished with ease through a series of coordinated workshops known as JAD sessions. It
focuses on the business difficulty rather than the technical details.

56 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 19 Joint development methodology

Advantages Disadvantages

- Allows for the simultaneous - It takes an inordinate amount of time


gathering and combining of large to plan and schedule.
amounts of data. - It necessitates a significant amount of
- Produces a large amount of useful time and effort.
data in a short amount of time. - It necessitates the hiring of highly
Immediate resolution of qualified experts, which is difficult
-
to come by.
disagreements with appropriate
assistance.
- Provides a space for
multiple viewpoints to be discussed.

Table 15 Advantages and Disadvantages of joint development methodology

2.1.3. Comparison of explained Software Development Techniques


When developing a system, there are several methodologies to consider. There are some unique
features that aid in the selection of the appropriate software development methodology for
software development. Seven different software development methodologies are explained
above. With continuous feedback and frequent face-to-face interactions, Agile methodology
allows development teams to focus on customers' most important requirements as quickly as

57 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


possible. As a result, the project team and stakeholders are able to identify and prioritize the
most important requirements. To manage requirements, agile teams use backlogs with user
stories, and this collaborative approach ensures that the most important features are prioritized.
As new information becomes available, the requirements are updated on a regular basis.
When it comes to software development methodologies, each one has a distinct feature that sets
it apart from the others. As an example, when designing a system that requires positive user
feedback on the user interface, a prototyping methodology is used to finalize a design before
beginning the system development process. This methodology involves collecting a large
amount of user feedback and iterating on it. Then a series of releases are made until the desired
level of user acceptance is achieved. This approach is most commonly used in web
development. When a risky situation arises during the development process, developers use the
spiral software development methodology. Because this is a risk-driven methodology, the
overall success of a project is highly dependent on the risk analysis phase. This is the feature
that sets this methodology apart from others in the software development field.
When developers need faster development times and higher client satisfaction, they use the
joint software development methodology. The client is involved in the development process
throughout this methodology. This methodology will assist the customer in obtaining a more
customized software solution that meets their needs. This collaborative methodology is used to
keep conflicts between developers and customers to a minimum. Because this development
methodology encourages more interaction and communication between customers and
developers, it will reduce customer-developer conflicts.
In the Lean development methodology, a team releases a bare-minimum version of their
product to the market and learns from users what they prefer, don't prefer, and want to be
added, before updating the system based on the user feedback. This method is quite similar to
prototyping and rapid development. When the prototyping and lean methodologies are
compared, it is clear that the prototyping methodology is primarily used for UI design because
the cost of designing a full functional prototype is higher, whereas the lean development
methodology is used to develop a bare-minimum version of the system. As a result, the cost is
lower than designing a fully functional system to obtain user feedback. It is possible to isolate
one feature of the design or system and receive feedback on that isolated part using both
development methods. This will aid developers in determining the areas of their design that are

58 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


problematic. A scrum team, which includes a scrum master, is part of the Scrum Development
methodology. Scrum is based on sprints, an agile software development concept. Sprints are
periods of time during which actual software development takes place, and they typically last
one week to one month to complete an item from the backlog. After that, each sprint's goal is to
create a marketable product, and each sprint concludes with a sprint review. One of the most
important aspects of the scrum development methodology is this.
When comparing the rapid development methodology to other methodologies, the rapid
methodology is used for a fast process. This methodology, unlike other development
methodologies, emphasizes quick feedback over long development and testing cycles, as well
as rapid application development. When compared to other development methodologies, the
spiral development methodology is most commonly used in development projects that require a
more thorough risk analysis. This is the distinguishing feature of the spiral development
methodology in comparison to other development methodologies.
These are the key distinctions between each software development methodology. When
choosing the right software development methodology for BAUHINIA's business-related
problem, these differences and key features should be taken into account.
2.1.4. Database Servers
2.1.4.1. MySQL
The GNU General Public License allows for the release of the source code for the most widely
used open source database in the world, which is based on a relational database management
system (RDBMS). The most widely used database for web applications is MySQL, which is
also the most crucial component of the LAMP framework, also known as open source web
application software. LAMP stands for "Linux, Apache, MySQL, Perl/PHP/Python," and it is
an acronym for open source projects that need a fully functional MySQL hosting for web
applications.

59 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 20 MySQL

2.1.4.2. PostgreSQL
The PostgreSQL Global Development Group creates PostgreSQL. an object-relational database
management system (ORDBMS) database server that emphasizes extensibility and standards
compliance Its main responsibility among its other functions is to store data safely and
according to best standards so that programs can later request its retrieval. A cross-platform
database called PostgreSQL was created to function on many different operating systems,
including Linux, FreeBSD, Solaris, and Microsoft Windows. It is a typical Mac OS X default
database server.

Figure 21 PostgreSQL

2.1.4.3. MSSQL
A relational database management system database server called MSSQL, or Microsoft SQL
Server, was created by Microsoft to store and retrieve data as needed by online applications. By
utilizing the main query languages T-SQL and ANSI SQL, the MSSQL database server was

60 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


created with a variety of users in mind as well as workloads ranging from simple single-
machine applications to huge Internet-facing applications.

Figure 22 MSSQL

2.1.4.4. SQLite
SQLite is the original relational database management system created using a C programming
library. When compared to other database servers, SQLite's working diagram is somewhat
different because it is not constructed as a separate process that a client application running in
another program accesses. It is actually a component of the utilizing program. SQLite is a well-
liked option as an embedded database for local/client storage in application software, such as
various web browsers, based on its properties. It is conceivably the most commonly used
database server engine in use today. This includes embedded devices in addition to all popular
browsers and operating systems.

Figure 23 SQLite

61 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


2.1.4.5. MS Access
Microsoft's database management system Because MS Access (Microsoft Access) supports a
variety of objects, such as DAO (Data Access Objects), ActiveX Data Objects, and numerous
more ActiveX components, it is the first option of software developers and data architects when
creating application software. Microsoft Jet Database Engine and MS Access work together to
provide a graphical user interface. Based on the Access Jet Database Engine, it saves data in its
own format.
Additionally, it has the ability to import or directly link to data kept in other programs and
databases.

Figure 24 MS Access

2.1.5. Programming languages


A programming language is a type of computer language that programmers use to create
software programs, scripts, or other sets of instructions that computers can execute.
Despite the fact that many languages share similarities, each has its own syntax. After learning
the language's rules, syntax, and structure, a programmer writes the source code in a text editor
or integrated development environment (IDE). The programmer will then frequently compile
the code into machine language that the computer can understand. Scripting languages that do
not require a compiler execute the script using an interpreter.

1.2.5.1 Python
Python is a high-level, general-purpose programming language that is widely used. Python
programming language (latest Python 3) is used in web development, machine learning

62 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


applications, and all cutting-edge software technology. It is ideal for both beginners and
experienced programmers familiar with other programming languages such as C++ and Java.
Python is the most widely used multi-purpose, high-level programming language at the
moment. It supports Object-Oriented and Procedural programming paradigms. Python
programs are typically smaller than those written in other programming languages such as Java.
Programmers must type relatively little, and the language's indentation requirement ensures that
their code is always readable. Python is used by almost all tech giants, including Google,
Amazon, Facebook, Instagram, Dropbox, Uber, and others.

Figure 25 Python

Advantages Disadvantages
- Improved productivity - Slow speed
- Interpreted language - Not memory efficient
- Dynamically typed - Weak in mobile computing
- Free and open source - Database access
- Vast libraries support - Runtime errors
- Readable
- Embeddable
Table 16 Advantages and disadvantages of Python

1.2.5.2 C# Language
It is a multi-paradigm programming language that supports strong typing, imperative,
declarative, functional, procedural, generic, object-oriented class-based, and component

63 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


oriented programming. It was created by Microsoft as part of the.NET initiative and was later
approved as a standard by Ecma. C# is based on the syntax and semantics of C++, allowing C
programmers to use.NET and the common language run time. C# is designed to be a
straightforward, modern, general-purpose, object-oriented programming language. This
programming language simplifies programming by utilizing Extensible Markup Language and
Simple Object Access Protocol, which allow a developer to access a program object or method
without having to write additional code for each step. This is due to the fact that programmers
can build on existing code rather than repeatedly duplicating it in different ways. This language
is expected to make it easier and less expensive to bring new products and services to market
and keep up with market trends in today's world.
Advantages Disadvantages
- Purely object-oriented - Semi-colons [;] must be used at the
- Type-safe - end of each line of code written by
- A programmer does not need to pay - developers.
- much concentration to problems such When checking for a value, the switch
- as memory loss Easy to develop clause requires a "break;" command
- Cross-platform every time.

- Support for the distributed system If not careful, curly brackets can
Cost benefit become a mess.

Table 17 Advantages and disadvantages of C# Source

1.2.5.3 ASP.NET Language


ASP.NET is a Microsoft open source, server-side web application framework that runs on
Windows and was launched in the early 2000s. Developers can use ASP.NET to create web
applications, web services, and dynamic content-driven websites. It enables the use of a full
featured programming language, such as C# or VB.NET, to easily create web applications.
Because ASP.NET is built into the familiar Windows server environment, it requires less setup
and configuration than other web development platforms, which must be installed and
configured separately. Because of the popularity of ASP.NET, it is easy to find online resources
and skilled developers.

64 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Advantages Disadvantages

- High speed - The documentation isn't exactly up to


- Low cost par.
- Vast language support - Adjusting the app. It is costly to
move an ASP application from one
- Requires less setup and configuration
server to another.
- Simple
- Reduces coding time
- Secure
- Customizability
Table 18 Advantages and disadvantages of ASP.Net

1.2.5.4 Java Language


Java is a general-purpose, class-based, object-oriented programming language with low
implementation dependencies. It is a computing platform for the development of applications.
As a result, Java is quick, secure, and dependable. It is widely used in the development of Java
applications in laptops, data centers, game consoles, scientific supercomputers, cell phones, and
other devices. Java programs, unlike Windows executables or Macintosh applications, are not
directly executed by the operating system. They are instead interpreted by the Java Virtual
Machine, which can run on a variety of platforms. As a result, Java programs are cross-
platform and can run on a variety of platforms, including Macintosh, Windows, and Unix
computers. (Hartman, 2022)
Advantages Disadvantages

65 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


- It’s simple - Performance is noticeably slower and
- It’s object-oriented - more memory-intensive.
- Independent of platform - Java GUI applications do not have a
- It’s distributed better look and feel.
- It’s secure Language with a single paradigm.
- It’s multithreaded
- It’s robust
- Availability of resources
Table 19 Advantages and disadvantages of Java Source

1.2.5.5 PHP Language


PHP is an HTML-enabled server-side scripting language. It is used to manage dynamic content,
databases, session tracking, and even to create entire e-commerce websites. It is compatible
with many popular databases, including MySQL, PostgreSQL, Oracle, Sybase, Informix, and
Microsoft SQL Server. PHP executes quickly, especially when compiled as an Apache module
on the Unix side. Once started, the MySQL server executes even the most complex queries with
massive result sets in record time. It performs system functions, such as creating, opening,
reading, writing, and closing files on a system. PHP can be used by developers by inserting
PHP code inside the HTML code that makes up the website. When a user visits a web page
containing this code, the server executes the PHP code. That is the primary reason for installing
one's own server in order to test PHP locally. The server is the most important component.
Customers do not require any special plug-ins or other software to view PHP code in action.
This language, like HTML, is a scripting language. As a result, code does not need to be
compiled before it is used.

Advantages Disadvantages

66 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


- Accelerate the development of custom - Instead of learning PHP, developers
web applications. should learn PHP frameworks.
- Simplify web application upkeep. - The quality of PHP frameworks
- There is no need to write additional varies.
code. - There is no way to change core
- Increase the efficiency when working behavior.
with databases. Affect website speed and
-
performance.

Table 20 Advantages and disadvantages of PHP

1.2.5.6 Comparison of explained programming languages


Five different programming languages and their specialized features are explained in the
previous section. There are two web-based languages among the programming languages
mentioned above. They are ASP.NET and PHP, respectively. When comparing these two
languages, ASP.NET has advantages such as high speed, low cost, vast language support,
requires less setup and configuration, simple etc.…, whereas PHP has advantages such as
speeding up custom web application development, simplifying web application maintenance,
eliminating the need to write additional code, and working more efficiently with databases.
When comparing these two languages, it is reasonable to assume that each has its own
specialized feature.
The PHP programming language is the most well-known of these two languages. Because a lot
more help is gained from other languages, ASP.NET can create a better user interface than
PHP. ASP.Net, in the author's opinion, is the best language for creating a web-based
application. The following is a comparison of ASP.NET and PHP;
Feature ASP.Net PHP
Type Microsoft developed a web A server-side scripting
application framework. language created by
Rasmus Lerdorf.
Support Applications for large and Web solutions for small to

67 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


medium-sized businesses. medium-sized businesses.
Cost There is a fee for the It's available for free all
license. over the internet.
Solutions Security and functionality User interfaces with a client
are more important. facing focus.
Community With fewer developers, Since it is open-source, it
there is a dedicated has a large community.
community.
Security Extremely safe. There are fewer built-in
security features than
in.NET.
Speed Good speed, sufficient for a For a desktop application, it
desktop application. is unsuitable and slow.
Customization Customization is less likely. Allowing customization
leads to bugs, resulting in
poorer coding than.NET.
Table 21 Comparison of ASP.Net and PHP

PHP is the most widely used and popular programming language on the internet, assisting
developers with a wide range of applications and boasting a large and open community.
Because PHP is easier to learn, users can begin working with it in less time. In contrast to
ASP.NET, which is a paid Microsoft platform, PHP is an open-source platform. This is the
most significant disadvantage of the ASP.NET programming language when compared to PHP.
Websites and applications built with ASP.NET are typically faster and more efficient than
those built with PHP. Compilation of ASP.NET applications means that the code is translated
into object code, which is then executed. This compilation process takes a short time and only
happens once. After compilation, the.Net platform can quickly execute the code again and
again. Overall, ASP.NET is a fantastic framework for building web sites and web applications.
It is dependable, quick, simple to use, free, and well-known. ASP.NET provides complete
development control and can be used on any project, large or small.

68 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


There are three more programming languages that should be considered. Java, C#, and
Python are the three languages. These programming languages has distinct characteristics. The
following is a comparison of C# and Java languages;
C# Java
Runs on the Common Language Runtime Runs on the Java Runtime Environment
(CLR) (JRE)
Object-oriented, functional, strong typing, Class-based object-oriented language
component-oriented
Provides operator overloading for multiple Doesn’t support for operator overloading
operators
Supports pointer only in an unsafe mode Does not support pointers
Specialization of System Arrays are a direct specialization of Object
Table 22 Comparison of C# and Java

The main differences between these two programming languages are as above. The language
can be chosen based on the requirement and intended use. Developers can examine the features
and select the one that best meets their requirements. The languages used in the modern world
are much more feature-rich, and users can use any language which has the features that they
require. Java is a popular and feature-rich programming language that is known for its platform
compatibility and robustness, and C# is an object-oriented programming language that is
primarily used by the .Net programmers. This language is popular because it has features that
are similar to those of the C programming language in some ways. The majority of
programmers use Java to create web or desktop-based applications, depending on their needs.
Python is a programming language that is widely used in the developer community. Python is a
clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme,
or Java, and C# is a simple, general-purpose object-oriented programming language for
the.NET platform. Python is suitable for programmers who are new to the field. Python has an
advantage over C# in terms of code simplicity. When it comes to developing business
applications, Python isn't much of a choice in today's world. The compilation methodology can
be used to compare programming languages. This variable can be used to divide these
languages into three major categories. They are;

69 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Fast Compile Reasonable Fast Slow Interpreted
Interpreted
Assembly Language Perl JavaScript
C PHP ActionScript
C++ ASP.Net
Pascal
C#
Java
Table 23 Main categories of programming languages Source

Each and every language has its own set of differences. These distinctions must be considered
in order to understand their unique characteristics. The best programming language should be
chosen based on the requirements. As previously stated, each of these languages has its own set
of advantages and disadvantages. When choosing a programming language, all of the features
discussed in this comparison should be taken into account.
2.1.6. IDE
2.1.6.1. Net Beans
NetBeans is an open-source integrated development environment (IDE) for programming
languages such as Java, PHP, C++, and others. NetBeans is also known as a Java desktop
application development platform with modular components. Components, also known as
modules, are used by NetBeans to facilitate software development. NetBeans dynamically
installs modules and allows users to download new features and upgrades that have been
digitally authenticated. NetBeans Profiler, a graphical user interface (GUI) design tool, and
NetBeans JavaScript Editor are among the IDE's modules. The reusability of the NetBeans
framework simplifies the development of Java Swing desktop applications, allowing third-party
developers to extend the platform. (Minh, 2020)

Advantages Disadvantages

70 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


- It has a lot of built-in development - It takes a while for the page to load.
- modules, particularly for Java. - It consumes more memory.
- Swing GUI design tool that is simple - Advanced features and tools
- to use. necessitate some training.
- Code that is automatically
completed.
Debugs and suggests code
optimizations, as well as inserting
the appropriate code. Version control
is available.
Table 24 Advantages and disadvantages of NetBeans

2.1.6.2. Visual Studio Code


Visual Studio.NET is a Microsoft-developed integrated development environment (IDE) for
creating consoles, graphical user interfaces (GUIs), Windows Forms, Web services, and Web
applications.
Microsoft Visual Studio is used to develop native and managed code for Microsoft Windows,
Windows Mobile, Windows CE, the.NET Framework, the.NET Compact Framework, and
Microsoft Silverlight. The code editor in Visual Studio.NET supports IntelliSense and code
refactoring, and the integrated debugger in Visual Studio.NET supports both source and
machine-level debugging. Other built-in tools in Visual Studio.NET include a form designer for
creating GUI applications, a Web designer for creating dynamic Web pages, a class designer
for creating custom libraries, and a schema designer for database support.
Plug-ins for source-control systems, domain-specific language editors, and visual designers are
examples of new tool sets that can be added via these plug-ins to improve functionality on
multiple levels. Built-in language services support a variety of well-known languages (such as
C#, C++, VB, and F#), while language services can be installed separately to support languages
such as M, Python, and Ruby, among others. Individual language versions of Visual Studio are
a cost-effective solution for beginners who only need Visual Basic, or advanced users who
work on fast-processing applications and frequently need visual C# or visual C++, but are not
interested in low-speed Visual Basic.

71 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Advantages Disadvantages

- Installation time is reduced, and - Allow time for the development


control is improved. environment to be adjusted.
- Productivity. - The debugging procedure isn't the best
- Look up all of the references. in the industry.
- Improvements in refactoring. - Will place a greater emphasis on
memory.
- Exception helpers.
- Unit testing in real time.
- User Interface (UI) Testing.
- Containers.
Table 25 Advantages and disadvantages of Visual Studio IDE

2.1.6.3. Dream viewer Studio


Dreamweaver is a web design program. Dreamweaver is a proprietary web development tool
created by Macromedia in 1997 and developed by Adobe Systems. Dreamweaver is a web
development tool that allows developers to design, code, and manage websites as well as
mobile content for the Internet or an intranet. It is currently available for Mac OS X and
Microsoft Windows. Dreamweaver combines a visual design surface called Live View with a
code editor that includes features like code collapsing, completion, and syntax highlighting.
HTML, XML, CSS, and JavaScript are among the markup languages supported by the
program.

Advantages Disadvantages

72 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


- It draws attention to the coding so that - Adobe Dreamweaver is not a browser
it can be scanned quickly. based application.
- Beginners will gain a better - Learning how to use the interface
understanding of what coding does takes time.
for a website. - The options for automatic coding
- Users are provided with aren't very specific.
code suggestions. - Global styling can quickly escalate
Using a word processing interface, into a major issue.
-
creating content variations is simple.
Users can navigate through files
- similarly to how they navigate
through websites.

Table 26 Advantages and disadvantages of Dreamweaver IDE

2.1.6.4. Comparison of explained IDEs


The three most well-known IDEs in the world are described above. Each IDE has its own set of
specialized features that should be considered when choosing an IDE for software
development.
NetBeans Visual Studio Dreamweaver

- Java-specific integrated - Installation time is - The coding is highlighted.


development modules. reduced, and control is - Users are provided with
- Swing GUI design tool that improved. code suggestions.
is simple to use. - Productivity. - Creating different types of
- Code that is automatically - Look up all of the content.
completed. references. - Users can navigate through
Debugs code and provides Improvements files.
- -
in refactoring.
tips on how to make it more
efficient.
- Corrects the code.
Table 27 Comparison of explained IDEs Source

73 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


The specialized features of each IDE can be understood by comparing the IDEs listed above.
There are two types of IDEs to choose from. Web-based system development IDEs and
general-purpose IDEs are the two types. Dreamweaver is a popular web-based system
development tool that allows to quickly create a website using the tab view interface. The
majority of the time, Visual Studio is used to develop.NET languages. Visual studio allows to
create a variety of programs in a variety of programming languages.
When it comes to choosing an IDE as a developer, one must be much more careful. The IDE to
be used and the programming language to be used should be thoroughly compared. Visual
Studio should be used if the C# language is chosen. NetBeans should undoubtedly be used if
the Java language is chosen. Dreamweaver should be used if a web-based language such as
PHP is chosen. It was able to identify the differences between each and every IDE that had
been discussed previously as a result of this comparison.

2.2. Preferred selected tool and methodology


The unique characteristics of the above-mentioned software development tools and techniques
are examined. The author has chosen scrum development methodology as the preferred
development methodology, based on the above-mentioned software tools and techniques. The
author then chose C# as the programming language, as well as the ASP.Net framework and
Visual Studio as the IDE.
The C# language and ASP.Net framework were chosen primarily because it is an object-
oriented language that can be used to develop web-based systems. BAUHINIA requires an
online solution in order to run their business properly. The author chose C# as a programming
language because it is a widely used programming language with a low cost and a simple
development process. The ASP.NET framework was chosen because it is a stable framework
that allows developers to create dynamic web pages and write any type of application. Because
both come from the Microsoft.Net framework, Visual Studio was chosen as the IDE. It is the
best IDE in the world for supporting C# programming language. Because this programming
language and IDE can support the author's coding pattern, they were chosen for the
development of the BAUHINIA clothing company's application.
The Scrum development methodology was chosen as the development methodology because it
is developed as a team with a scrum master as the leader. Sprints are used in this methodology,

74 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


and the evaluation is done through a review. This will aid in the development of a better
solution that meets the needs of customers. Another important reason to choose scrum
methodology is that fixing mistakes is simple with this methodology because there is always
someone to help. Another important factor in choosing this method is the ease with which each
stage of the process can be seen. A skilled team is used when using the scrum method to
provide the solution that the customer required, and this is the most well-known software
development methodology in use today.
The author can design the system according to the expectations by using C# programming
language, ASP.NET framework, Visual Studio IDE, and scrum development methodology. The
author has chosen the following tools and methodologies. The BAUHINIA clothing company
requires an online solution that involves customers, which is one of the main reasons for
choosing these tools and techniques. BAUHINIA can get a solution to their business-related
problem by developing an online web-based system using the C# language and the ASP.NET
framework.
2.3. Justify the chosen tools, technique and methodology that you may use for the
development of an Inventory Control Application for BAUHINIA
BAUHINIA is a clothing brand company handling orders through social media networks. Due
to its popularity over social media, they are finding it increasingly difficult to cope up with
paperwork associated with inventory management due to the increased of number of orders
through message requests. Therefore, this company is requesting a system to track their orders.
The author chose a web-based system that uses the C# programming language and the ASP.Net
framework for this application development. The main reason for choosing a web-based online
system is that it allows customers to browse through their products and place orders online, as
well as for BAUHINIA’s staff to track their orders within the company. This scenario does not
lend itself to the use of a standalone system. As a result, the author chose to build a web based
online system in C# language along with the ASP.Net framework. BAUHINIA is having
trouble tracking orders and allowing customers to order items without sending messages in this
business-related issue. When using an old paper-based system using message requests, it will
be difficult to keep track of the message requests/ orders/ papers for each order. Customers,
inventory handling clerks, production managers, and chief accountants, on the other hand, can
complete their tasks without difficulty using the proposed web-based system. In the old

75 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


paperbased system, the inventory handling clerk would manually check the availability of
products from the inventory. Using this proposed solution for the business-related problem,
however, the inventory handling clerk is able to obtain inventory details in a timely manner.
Another important reason to use a web-based application is that it provides a secure way to
access centralized data. Only the person or team in charge of the server will have direct access
to it. To avoid downtime as a result of a disaster, servers can be fully redundant and replicated.
This eliminates the need to keep track of the security of each device on which the app is
installed. Because security measures are implemented centrally, the risk of unauthorized access
is reduced overall, and putting security measures in place is easier. Another important reason
for choosing C# language for this business-related problem is that it is widely accepted around
the world. Using a developer, BAUHINIA company can upgrade their system whenever they
want with the updates they want because C# programmers are plentiful in today's software
development industry.
The author has chosen the C# programming language and the ASP.NET web forms framework.
Today's programmers prefer to use the Asp.Net Framework as a development framework for
building enterprise-level web applications. The Asp.Net framework is widely used and
relatively simple to use. Visual Studio allows developers to create compelling Asp.net
applications. It is not limited to scripting languages; it also supports.NET languages such as C#,
J#, VB, and others.
To create the application for the BAUHINIA clothing company, the author chose Visual Studio
IDE. The main reason for choosing this IDE for the development of BAUHINIA's application
is that it is better supported by C# programming language and ASP.Net, both of which are part
of the Microsoft.Net framework. This programming language and IDE are capable of
supporting the required coding pattern. As a result, the author's preferred development tools are
C#, the ASP.Net framework, and Visual Studio.
The scrum development methodology was chosen for the development process of BAUHINIA's
business-related problem-solving solutions. This development methodology was chosen
primarily because it is one of the most widely used agile methodologies in agile software
development. The product owner prioritizes iterative work based on system-wide functionality,
which is referred to as the "product backlog" in this methodology. Iteration is known as a sprint
in scrum methodology, and it usually lasts up to 30 days.

76 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Scope creep is minimized in this development methodology because once a sprint is committed,
no additional development functionality is considered for that sprint. The product backlog is
analyzed after each sprint and then reprioritized for the following cycle. The agile methodology
was chosen for the development of the BAUHINIA application because it allows for more
interaction with customers and allows for better monitoring of the development process thanks
to the presence of a scrum master. This methodology is compatible with this three-layer pattern
when using a three-layer pattern. This three-layer pattern can be better developed by the Scrum
team within this methodology. These are the primary reasons for using Scrum as a software
development methodology for BAUHINIA. The author believes that this is the most
appropriate development methodology for the BAUHINIA company's business problem.
These are the tools and techniques that the author has chosen to develop a solution for a
business problem at the BAUHINIA clothing company. The reasons for each choice are stated,
as well as the positive outcomes that can be obtained as a result of those decisions.

3. Activity 3
3.1. Conduct a peer-review and identify opportunities that were not previously
considered by interpreting the recorded feedback.
3.1.1. Peer review
This procedure checks that peer work adheres to the standards for which it was intended. This
is employed in a variety of professional occupations since peers are intended to be able to
swiftly and easily spot one other's flaws because they interact with each other all the time. The
time it takes to detect and rectify errors is decreased by this method. Peer review is always used
in software development, when a team of programmers gets together and reviews the code line
by line to find and fix errors. The aim of every peer review system is to ensure that the work
meets the expectations of the client.
In the peer review process, there are several methods that can be used. They are;
Slide Bling Review – The names of the reviewers are hidden from the author in this reviewing
methodology.
Double Blind Review – Both the reviewer and the author are anonymous in this method.

77 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Triple Bling Review – In this methodology, reviewers are anonymous, and both the reviewers
and the editor are unaware of the author's identity.
Open Review – During the peer review process, both the reviewer and the author are aware of
each other.
These are some of the methods for evaluating the work of developers. Every methodology, as
was already mentioned, has a unique characteristic. As a result, the optimum peer review
process for BAUHINIA's solution should be selected based on the circumstances.
3.1.2. Peer review of the BAUHINIA clothing company solution

Figure 26 Peer Review

The QR code provided at the end of the presentation allowed them to access the feedback form.
The image above displays the information from the digitalized feedback form that was sent to

78 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


them. There are inquiries concerning the BAUHINIA Clothing Company system on the
feedback form. This enabled it feasible to determine whether any additional adjustments needed
to be made to it. Here is an overview of their responses to this question.

Figure 27 Feedback form summary

The picture above shows a summary of the answers given to some common questions about the
online shopping system designed for the BAUHINIA Clothing Company.

1. The graph represented by the number '1' is the average for the answer given by the clients
to the question 'Ability to Manage System Orders'. 3/5 of them have opted for 'Very Good'.
This shows that clients have a lot of confidence in the system designed for the company. That
is, can become conclude that they think the system has enough features.

2. The graph represented by the number '2' is the average for the answer given by the clients
to the question ' Ability to Respond promptly to Customers through the System'. 3/5 of them
have chosen 'Very Good'. Clients conclude that the system set up to communicate with

79 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


customers in the system designed for the company is adequate in the current situation and this
can be understood in terms of their response.

3. The graph represented by the number '3' is the average for the answer given by the clients
to the question ' Easy to carry out Stock Handling and report generating business activities
through the system'. 1/5 of them have chosen 'Good' and the other 1/5 have chosen 'Enough'.
From their response to the question of related to generate a report for business activities in a
system designed for the company, it is clear that some more specific improvements need to be
made to that feature.

4. The graph represented by the number '4' is the average for the answer given by the clients
to the question ' Your Feedback about the Suggested System of solving the major issue of
BAUHINIA Clothing Company such as handle more orders?'. When asked about the
resolutions of the system designed to solve their company face problem mentioned in the
presentation, 3/5 of them answered 'Very Good', by this can able to found that most of the
features of the system are adequate for them.
Also, clients' answers to the question 'Other Features That are Expected to be in the System?'
about future improvements to be made in the system designed for BAUHINIA Clothing
Company.
• Order Tracking
• Order cancellation
• Improve the tracking system

Thus from 'Order Tracking' and 'Improve the tracking system' can become concluded that their
customers want to know details about the product they are traveling with until it is delivered.

And from the answer 'Order cancellation' that is clear that in case their customer orders
incorrectly, they should be given the facility to cancel that.

80 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Since the management didn't answered management functions relevant improvements, they
seem to regard the features of the system as sufficient to carry out management activities at
present.
3.1.3. Presentation that reviews the business application

Figure 28 Bauhinia clothing

81 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 29 Problem Definition

Figure 30 User Requirements

82 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 31 System Requirements

Figure 32 Aim

83 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 33 Objectives

Figure 34 Feedback

84 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


3.2. Develop a business application with support documentation, based on the Software
Design Document produced in activity 1, along with supportive evidence for using the
preferred tools, techniques and methodologies investigated in activity 2
3.2.1. Developing BAUHINIA Web-based Application with the preferred Tools,
Techniques and Methodologies
Business application for BAUHINIA

A business application for BAUHINIA was created to address the company's problem with
order tracking and inventory management. The ASP.NET framework and the C# programming
language are used in the Visual Studio IDE. For the application's database, MSSQL is used. A
login interface is created in this business application so that users can log in and enter the
system. Specific forms will be loaded after logging in, based on the main functionalities that
have been requested in the system. The user type is used to control access levels. The
production manager has complete access to the system. The functions of an inventory handling
clerk include adding and updating products. Customers can log into the system, browse for
products, and place orders before proceeding to checkout. This application's report form can be
used by the chief accountant. Based on the orders received each month, the chief accountant
can generate a monthly income report.
These are the main user access levels in this application that have been granted permission. The
scrum development methodology was used to create this application. The scrum team divides
up the work. It was possible to develop the system by dividing the work among scrum teams
under the supervision of the scrum master. This method of development reduces the amount of
coding that must be done in the C# language. All data insertions, updates, and deletions have
been completed. This is the approach taken in creating the BAUHINIA’s business application.
The BAUHINIA clothing company needed a simple interface with few buttons that could
handle all of their needs. It was possible to increase the efficiency of the system development
process by using the C# language in conjunction with the ASP.NET framework. Using this
development technique, scrum methodology also assisted us in developing a better application
for the BAUHINIA clothing company.
These are the tools and techniques that were used to develop the BAUHINIA clothing
company’s functionalities. This methodology is a better development methodology that can
meet all of BAUHINIA clothing company’s requirements.
85 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01
Interfaces of the application

Figure 35 Login Interface

This is the main login interface for all the users of this application. By entering the email
address and password, the authorized users can login to the system.

86 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 36 Register Interface

By entering the required fields one can register to access the functions of the website. Only
registered/ authorized users are allowed into the system.

Figure 37 Create / Update products Interface

This is the interface of the inventory handling clerk where he/ she can add products to inventory
and update existing product details.

Figure 38 Inventory handling

In this interface, the inventory handling clerk can view the added products from the database
including all the required details.

87 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 39 Customer view products page

In the above interface, the registered customers can browse for products through product
catalog, check availability of the products and add products to their cart.

88 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 40 View cart

After ordering the required products, the customers can view their cart and proceed to checkout.
The customers can add or remove products from the cart.

89 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 41 Customer order checkout

The customers can view their ordered products and total amount to be paid in this interface and
they can submit their order by clicking the “Checkout” button.

2022/07/16

Figure 42 Production manager daily orders report

In this page, the production manager can get a view of daily orders placed after the payment.

2022/07/16 18:02:46

Figure 43 Production manager daily product availability report

The production manager can also create and view the daily report of product availability.

90 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 44 Chief accountant monthly income report

Chief accountant can create and view the monthly income report which include all the required
details.

Coding

91 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


:

Figure 45 Database modelling

92 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 46 User login data access layer implementation

Figure 47 Error message user control UI implementation

93 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Figure 48 Tags and user control initialization and customer registration UI implementation

Figure 49 Database connection

94 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


3.2.2. Assess New ideas or Possible improvements to the System Developed while
justifying the reasons for including/not including them in the application developed
The system created for the BAUHINIA Clothing Company is described in some detail here,
along with some of the features that will be added based on the presentation and discussion. It
has been decided to add more later even if some of them are already in the system.
Feature Description

This feature has been integrated into the system for the benefit of the
consumer as it allows them to cancel their order within a
Order Cancelling
predetermined time frame in the event that they accidentally place
one.
Address Confirmation This function is designed to make it easier to change the item's
delivery address after placing an order.

Alert Message The system includes this capability to make that evident to the
customer in case they overlooked any crucial tasks that needed to be
completed before placing the order.

4. Activity 4
4.1 Conduct a critical review for the design, development, and testing stages of the
Inventory Control application by analyzing the factors that influence its performance
against the problem definition statement and initial requirements.
The software developed for the apparel company BAUHINIA is able to satisfy all of the user's
needs. It was able to fulfill all of the demands of the BAUHINIA clothing company. The initial
criteria were also expanded upon in terms of functionality. The system's original requirements
can be met with the help of the existing capabilities.
The first stage in analyzing a business application is to ascertain whether the solution offered
can address the relevant business issue. This system for BAUHINIA can do away with the
necessity for message requests and outdated paper-based procedures. They will be able to

95 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


effectively handle their order as a result. Therefore, it can be said that the business application
has offered a solution to the business-related issue faced by BAUHINIA. The problem
definition statement states that the outdated paper-based approach has difficulties sorting data
and has security vulnerabilities. Data security can be managed through the use of user access
levels. Both data security and data sorting effectiveness will increase as a result. The shortage
of storage space in the BAUHINIA for paper-based records was another problem identified in
the problem defining statement. The solution for this does not necessitate any physical storage
space. As a result, it can be concluded that this application has had a direct impact on the
BAUHINIA’s day-to-day operations.
According to the initial specifications, they have asked for various levels of access as well as
various levels of requirements for those access points. They have requested a feature that
enables signed-up customers to browse products and place orders for the things they need.
Customers have access to a special form for this purpose. Prior to adding items to their cart, the
consumer must register. Once registered, they can move on to the checkout to confirm billing
and make a purchase. These are the basic requirements that the clients are expected to fulfill.
The capacity to add and modify products as well as their data is part of inventory management.
The product manager can then create reports for daily orders and product availability with full
access to the system. The monthly income report can be created by the chief accountant. The
users and access levels are as follows. These were the initial prerequisites that were satisfied at
BAUHINIA's request. The performance of the software development process was enhanced by
the introduction of agile approaches, although effective communication between the developer
and testing teams is crucial.
By giving the user all of the features required to boost productivity, it may be said that the built
application performs well. This business application's performance can be assessed using the
problem definition statement. As was already said, this company's primary challenge is getting
rid of their outdated paper-based approach. A solution was found for this problem by taking all
of the company's initial requirements into account. All of these initial requirements were met,
and the application was developed successfully.

Test case Expected Actual result Status


result

96 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Successful Header Pass
user login showing user’s
name’ when
logged in.

Unsuccessful Invalid login Pass


login

Successful Customer Pass


customer registration
registration successful

Successful Product added Pass


addition successfully
of
product
Unsuccessful Error while Pass
addition adding product
of
product
Successful Product Pass
product updated
updation successfully

Add or remove Cart updated Pass


items from successfully
cart

Successful Order Pass


order checkout has been
submitted

97 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


successfully.
Your Order
No: {Order
Number}

Table 28 Test Cases

4.2 Critically evaluating the strengths and weaknesses of the application developed
4.2.1. Strength and Weakness of the System
When developing software based on client requests, the developer will prioritize carrying out
the client's expectations because the system may have certain flaws as a result of not giving the
system more thought. The application created for the BAUHINIA clothing company has its
own set of strengths and weaknesses. These attributes are what allow this application to
perform its intended tasks more effectively. Weaknesses are areas where the system's efficiency
is reduced. These weak areas should be improved in the future. However, it is clear that these
flaws have no bearing on the application's original goal. However, it will have an impact on the
overall efficiency of the system.
When considering the system's strengths, one of the application's main strengths is its
simplified user interface. Employees at this company work in a high-stress environment, and a
clumsy user interface for the system will reduce their productivity. As a result, it was important
to create a more user-friendly interface for the system. This is one of the system's main
advantages. Each and every operational level user in the system received their own form. This
system is a simple, low-memory software solution that does not include any fancy Graphical
User Interfaces that would consume additional memory. As a result, resource consumption is
kept to a bare minimum. As a result, the overall performance is excellent. The user can
complete the intended task with ease because of the simple graphical user interface.
The system allows the company to complete day-to-day tasks in a much more efficient and
straightforward manner. The use of a normalized data base reduces data redundancy and
improves database performance and querying operations without causing any conflicts. As a
result, search operations can be completed much more quickly.

98 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


As this is a web-based application, its content can be easily customized for use on a variety of
devices, including mobile. Because the presentation of information can be changed as needed,
this makes the application user-friendly and enjoyable to use. In fact, customizing web-based
applications is much easier than customizing desktop applications. Web-based software can
also be responsive to browser changes. This facilitates mobile working by ensuring that
employees have access to software whenever they need it. As a result, this can be considered as
this business application's strength.
This application provides a secure way to access centralized data. Only the person or team in
charge of the server will have direct access to it. Servers can be fully redundant and replicated
using cloud computing to avoid downtime in the event of a disaster. This eliminates the need to
keep track of the security of each device on which the application is used. Because security
measures are implemented centrally, the risk of unauthorized access is reduced overall, and
putting security measures in place is easier. This is also another major strength of the developed
application.
There are a few weaknesses in this application. With future updates to the system, these weak
areas should be improved. One of the main weaknesses is in this application is that the payment
method that the company has requested is the cash on delivery method. A payment by credit
card method can be added to the system and it is a very much essential feature and it will be
less troublesome for the customers when buying and receiving the ordered products. This
feature is not added to the application because the company only requested the cash on delivery
method but the adding of credit card payment method can be done in the future upgrades.
Because this is a web-based application, if the server goes down, all users will be unable to
access it.
Another weakness of the developed application is that without Internet access, a user would be
unable to use the application. Installing the software with offline capabilities is one way to
avoid not being able to access it without the Internet. With little data in the database, querying
is fine, but querying needs to be improved in order to hold and manage large data stores, or the
system's performance will suffer greatly. This is also another weakness that can be found in the
developed system. These are the system's flaws that should be addressed in this application.
These flaws can be addressed in the future by soliciting feedback from the system's users.

99 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


As previously stated, the system has some flaws as well as strengths, and it is necessary to
update the system in order to address these issues in the future. All of the BAUHINIA clothing
company’s initial requirements were met using this system. As a result, after critically
evaluating the system's strengths and weaknesses, it can be concluded that this application
meets all of BAUHINIA clothing company’s requirements and only requires minor
enhancements in the future.

4.2.2. Opportunities and Threats of the System


7. Opportunities
- While businesses like the BAUHINIA Clothing Company operate in a traditional manner,
the firm has a special system that allows it to quickly get to the top of the market and handle
increasing volumes of business.

- The capacity to steer the business toward development by coming to wise conclusions after
thorough analysis.

- The online shopping system allows for greater accessibility to a wider range of customers.

- Comparing oneself to a corporation that sees itself as a rival and succeeding with the right
tactics.

- The capacity to increase orders by communicating with clients instantly and fostering a
sense of confidence among them.

- Some of the routine tasks are made simpler for staff to perform by AI-based capabilities in
the system.

- Easily accessible to a diverse range of people, including those who speak various languages
by growing orders, the system therefore serves as the foundation for BAUHINIA Clothing
Company.

8. Threats
100 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01
- Security problems are more likely to arise when the system processes more data.

- When a rival corporation hacks the system, all of its consumers lose trust in it.

- The company's business activities might be significantly impacted when a system becomes
corrupt.

- The consumer submits a return request through the system but fails to follow through after
getting a refund.
These digital systems frequently encounter dangers. As a result, the system has strengths,
weaknesses, possibilities, and weaknesses. However, this is a better option for the business than
operating through social media.

4.2.3. SWOT Analysis of BAUHINIA Clothing Company for Handling the More Orders

Strength Weakness

• Being able to work easily. • The need of technically competent staff.


• Reduces employee workload. • Should seek the help of a software
• Easy handling of more orders. • developer to resolve any minor errors in
• Ability to communicate easily with the the system.
customer. The cost of installation is high.

Opportunity Threat

• Leading to success by making the right • Leading to success by making the right
• decisions. • decisions.
• Ability to perform relatively quick • Company operations are also affected
operations. when the system is compromised.
It’s easy to impress too many people Cash on Delivery will not detect
payment.

101 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


4.3 Identifying the Risks on BAUHINIA Web-based Application
4.3.1. The security risks of BAUHINA Web-based Application
The author has identified the following security risks on BAUHINIA.com.
- Broken Object Level Authorization
- Broken User Authentication
- Injection
- Security Misconfiguration
- Lack of Resources & Rate Limiting
- Insufficient Logging & Monitoring

In following sections, the author explains the methods that had used in BAUHINIA System for
preventing the above identified security risks.

4.3.2. Only Registered Customer can buy the products onBAUHINIA.com


BAUHINIA is an online shopping platform. All clothing products are available to see on
BAUHINIA.com over the Internet, but only registered BAUHINIA.com clients are able to add
items to "My Cart" and make purchases. The user must input their first name, last name, NIC
number, email address, and new password throughout the registration procedure. With the help
of these details, BAUHINIA is able to verify the users' identities and stop them from registering
as anonymous users on BAUHINIA.com.
4.3.3. Using the Hypertext Transfer Protocol (HTTPS)
An application protocol for network communications is the Hypertext Transfer Protocol
(HTTP). On the World Wide Web, HTTP is the primary protocol for communication. The
author has created the BAUHINIA API to interface with the OZQ web-based shopping system.
Using the HTTPS protocol in this BAUHINIASZ web-based purchasing application. The
following justifies BAUHINIA.com's use of HTTPS:
Typically delivered over TCP, an HTTP message consists of the following four parts:

Verb/Method: The action to be taken, such as obtaining a certain web page.

102 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Resource path: An identifier that indicates which resource the HTTPS operation should be
applied to, such as the path to an HTML document that has to be retrieved.

Headers: additional metadata that is listed as a collection of key-value pairs. The accept header,
which is used to describe the format (such as HTML, XML, or JSON) in which the resource
should be returned, is an illustration of metadata (a resource could be available in different
formats).

Body: The payload of the message is returned in response to a get request, similar to the HTML
text of a web page. The following actions (i.e., verbs/methods) are permitted on the exposed
resources via the HTTPS protocol.

GET: the specified resource should be returned in the body part of the response.

HEAD: like GET, but the payload of the requested resource should not be returned. This is
useful if one only needs to check if a resource exists, or if he just needs to get its headers.

POST: send data to the server, e.g., the text values in a web form. Often, this method is the one
used to specify that a new resource should be created on the server.

DELETE: delete the specified resource.

PUT: replace the specified resource with a new one, provided in the payload of the request.

PATCH: do a partial update on the given resource. This is in contrast with PUT, where the
resource is fully replaced with a new one.

TRACE: echo the received request. This is useful to find out if a given HTTPS request has been
modified by intermediates (e.g., proxies) between the client and the server. OPTIONS: list all
available HTTP operations on the given resource. For example, it could be possible to GET a
HTML file, but not DELETE it.
103 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01
CONNECT: establish a tunneling connection through an HTTP proxy, usually needed for
encrypted communications.

The author used HTTPS to specify that the user request was invalid (400). A typical case is
requesting a resource that does not exist (404), or trying to access a protected resource without
being authenticated (401) or authorized (403).
The author has used the HTTPS Protocol to ensure security level of BAUHINIA web-based
system, and BAUHINIA.system.com.

4.4 Identify and justify the opportunities for improvement and further development of the
application you developed.
Many aspects of the BAUHINIA clothing company’s business application can be improved.
The system that is being developed should have a long-term strategy. It is possible to cope with
future technological advancements with this plan.
- Security features: - The application needs to alert the user if they attempt to create their
profile with a weak password. This feature will eventually be added to the application.
Password hashing functionality is also a major security risk. As a result, password hashing
is required. To accomplish this, cryptographic password hashing algorithms such as bcrypt,
PBKDF2, or sycrypt can be used, with iteration steps of at least 64,000. As a result, brute
forcing a well-defined password will take much longer. Additionally, when a user registers,
validation and password setting tips can be provided, as well as limitations, to encourage
the user to create a much stronger password. Also, when getting user inputs, the inputs must
be cleaned and validated in order to prevent cross-scripting attacks. Furthermore, when
storing and communicating with various points, sensitive data must be encrypted.

- Improve User Experience: - System's user interface must be modernized using a third-
party user interface framework such as Bunifu. As a result, the software solution's graphical
user interface will be appealing. In addition, the user experience must be improved. As a
result, the user will have a better experience using the system. This will result in long-term

104 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


usage and a more user-friendly and less frustrating experience, which will primarily and
directly affect users who use the system for a long time and frequently

- Confirmation Alerts: - After placing a successful order for any product, the customer must
confirm the order within one day; else, the order should be automatically canceled. To help
the user remember their order, the program must display an alert message.

- E-mail bill: - As this is online shopping, the customer can currently check the item's bill
while placing an order, but he won't be able to download it, so create the system to send the
bill to his email automatically as soon as possible.

- Delivery confirmation: - The company can confirm delivery success and payment by
responding to the customer's alert message that the item has been delivered after the
delivery deadline has passed.

- Online Payment Facility to the Customers (Credit/Debit Cards): - Currently, BAHINIA


was required to provide online payment options for their clients, but as the trend for online
payments grew and the Covid19 pandemic spread, more and more clients expressed a desire
to use these options. Therefore, it would be ideal to include online payment capabilities in
the new system that is being suggested, and to determine whether it would be possible to do
so when the system is improved in the future. Because of this, the management of the
BAUHINIA company decided to include an online payment feature in the web application.
Therefore, the BAUHINIA Application was created by the development team with online
payment capabilities.

- Adding Sign- In with Google Account Facility: - BAUHINIA.com needs a login feature
so that their customers can log in. Customers must therefore create a new account with a
new user name and password. Because a person has multiple user accounts across different
websites, it might be difficult to remember passwords. Google has launched Google Identity
to address this. Incorporating Google Identity with APIs enables users to sign in to websites
using their Google Accounts. This lowers security concerns associated with forgetting

105 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


usernames and passwords. Because it prevents security benches and attracts consumers with
a trending logging platform, the development team has advised integrating Google Sign-In
into the BAUHINIA.com web application (majority of customers has Gmail accounts). The
BAUHINIA top management has given the go-ahead for the Google sign-in feature to be
added to the BAUHINIA web application (Domain Name: BAUHINIA.com/sign-in).

Conclusion

Because a software engineer will need to work in the field of application development in the
future, it is a crucial subject for him to understand. This allowed me to have a better experience.
Additionally, more approaches to solving problems have been used in this session. This
provides insight into future customer problem-solving strategies.

In addition, I had to create a system interface for the BAUHINIA apparel firm as part of the
course project. I was able to advance some of my interface design talents because to it. I hope
these will be very useful in the future. For this, more analysis had to be done on the problem of
the BAUHINIA company. I was able to get the best analyze experience through this.

Also, the diagram drawing experience is more available as more diagrams are drawn in this
lesson. This Application Development lesson provides a variety of great experiences like this.
And although it is difficult to get such experiences, this subject was very helpful to get such
experiences. This makes me so happy to count this.

This lesson contains information on a number of software development methodologies, making


that very useful. The subject also helps in gaining a clear understanding of software
development methodologies and how to carry out software development properly in any
situation. So, I am very happy to have learned such a lesson.

106 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


References
B, J., 2018. VMOST Analysis (Harnish). [Online]
Available at: https://www.toolshero.com/strategy/vmost-analysis/
Bourgeois, D., 2020. INFORMATION SYSTEMS FOR BUSINESS AND BEYOND. 2019
Edition ed. s.l.:s.n.
Digitie.com, 2022. What Is Agile Methodology? - Overview Of Agile Software Development
And Agile Models. [Online]
Available at: https://www.digite.com/agile/agile-methodology/
Dora, S. K. & Dubey, P., 2013. SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
ANALYTICAL COMPARISON AND SURVEY ON TRADITIONAL AND AGILE
METHODOLOGY. NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN
SCIENCE & TECHNOLOGY.
Fowler, M., 2014. MaturityModel. [Online]
Available at: https://martinfowler.com/bliki/MaturityModel.html
Geeks, G. f., 2022. Software Engineering | Spiral Model. [Online]
Available at: https://www.geeksforgeeks.org/software-engineering-spiral-model/?ref=lbp
[Accessed 7 July 2022].
Hanlon, A., 2022. How to use the BCG Matrix model. [Online]
Available at: https://www.smartinsights.com/marketing-planning/marketing-models/use-bcg-
matrix/
Hartman, J., 2022. What is Java? Definition, Meaning & Features of Java Platforms. [Online]
Available at: https://www.guru99.com/java-platform.html
[Accessed 22 July 2022].
Lewis, S., 2019. waterfall model. [Online]
Available at: https://www.techtarget.com/searchsoftwarequality/definition/waterfall-model
[Accessed 21 July 2022].
Martin, M., 2022. How Porter’s Five Forces Can Help Small Businesses Analyze the
Competition. [Online]
Available at: https://www.businessnewsdaily.com/5446-porters-five-forces.html

107 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01


Minh, N. H., 2020. What is NetBeans? - for beginner. [Online]
Available at: https://www.codejava.net/ides/netbeans/what-is-netbeans-for-beginner
[Accessed 23 July 2022].
Schooley, S., 2022. SWOT Analysis: What It Is and When to Use It. [Online]
Available at: https://www.businessnewsdaily.com/4245-swot-analysis.html
Sharma, K., 2020. TOP 12 SOFTWARE DEVELOPMENT METHODOLOGIES. [Online]
Available at: https://www.tatvasoft.com/blog/top-12-software-development-methodologies-
and-its-advantages-disadvantages/
[Accessed 21 July 2022].
Sridharan, M., 2022. SOAR Analysis – A tool for strategic planning.. [Online]
Available at: https://thinkinsights.net/strategy/soar-analysis/.
Watt, A., 2014. Project Management – 2nd Edition. s.l.:BCcampus.

108 W.M.Supun Anjana Jayasinghe | Application Development | Assignment No 01

You might also like