Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 121

Higher Nationals

Internal verification of assessment decisions – BTEC (RQF)


INTERNAL VERIFICATION – ASSESSMENT DECISIONS

Programme title BITEC Higher National Diploma in Computing

Assessor Internal Verifier


Unit 30 – Application Development
Unit(s)
Inventory Control Application for BAUHINIA
Assignment title

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 accurately?
Y/N
Is the feedback to the student:
Give details:
Constructive?
Linked to relevant assessment criteria? Y/N
Identifying opportunities for improved Y/N
performance? Y/N
Agreeing actions?
Does the assessment decision need Y/N
amending?
Y/N

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
signature Date

Programme Leader
signature (if required) Date
Higher Nationals - Summative
Assignment Feedback Form
Student Name/ID A-070031
Unit 30 – Application Development
Unit Title

Assignment Number 01 Assessor


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 & Distinction P1 P2 M1


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

Pass, Merit & Distinction P3 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 & Distinction P4 P5 M3 M4 D2
Descripts
LO4 Evaluate the performance of a business application against its Software Design Document
and initial requirements
Pass, Merit & Distinction P6 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.

2
Assignment Feedback
Formative Feedback: Assessor to Student

Action Plan

Summative feedback

Feedback: Student to Assessor

Assessor Date
signature

Student signature Date

3
Pearson Higher Nationals in
Computing
Unit 30 – Application Development

4
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

5
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.

Student’s Signature: Date:


(Provide E-mail ID) (Provide Submission Date)

6
Higher National Diploma in Business
Assignment Brief
Student Name /ID Number

Unit Number and Title Unit 30: Application Development

Academic Year 2021/22

Unit Tutor

Assignment Title

Issue Date

Submission Date 22.07.2022

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

7
Assignment Brief and Guidance:

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 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.

8
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 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.

9
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.

10
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 techniques
researched.

LO3 Work individually and as part of a team to plan and


produce a functional business application with support
documentation.

11
Application Development
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.

12
Application Development
Acknowledgement

13
Application Development
Contents
Acknowledgement...................................................................................................................13
Activity 01.................................................................................................................................19
Problem....................................................................................................................................19
Problem Definition Statement.................................................................................................19
5W2H Technique......................................................................................................................20
Problem Definition Statement of BAUHINIA Company...........................................................20
1.2 Set of User and System Requirements for BAUHINIA........................................................22
Functional Requirements.........................................................................................................22
Non - Functional Requirements...............................................................................................23
1.3 Risks related to the successful completion of the application..........................................25
1. Technical risks......................................................................................................................26
2. Client risks............................................................................................................................26
3. Legal risks.............................................................................................................................26
4. Cost risks...............................................................................................................................27
5. Schedule risks.......................................................................................................................28
6. People risks...........................................................................................................................28
1.4 Analysis of the problem in BAUHINIA clothing company..................................................29
1. VMOST methodology...........................................................................................................29
2. SWOT methodology.............................................................................................................30
Strengths..................................................................................................................................31
Weaknesses..............................................................................................................................31
Opportunities...........................................................................................................................31
3. PEST methodology................................................................................................................31
4. SOAR methodology..............................................................................................................32
5. Porters Five Forces...............................................................................................................32
6. Maturity Models...................................................................................................................32
1.5 Analysis of the business-related problem in BAUHINIA clothing company.......................33
1.6 Software Design Document for BAUHINIA.........................................................................35
Overview..................................................................................................................................35
Context.....................................................................................................................................36
Goals.........................................................................................................................................36

14
Application Development
Milestones................................................................................................................................37
Current solution.......................................................................................................................37
Proposed solution....................................................................................................................39
ER Diagram...............................................................................................................................41
Class Diagram...........................................................................................................................42
Discussion.................................................................................................................................42
Timeline and Scope..................................................................................................................43
Activity 2...................................................................................................................................44
2.1.1 Programming languages..................................................................................................45
1. C# programming language...................................................................................................46
2. Java programming language................................................................................................47
ASP .Net....................................................................................................................................48
Python programming language................................................................................................49
PHP programming language.....................................................................................................49
Comparison of explained programming languages.................................................................50
2.1.2 Integrated Development Environment (IDE)..................................................................53
1. NetBeans IDE........................................................................................................................54
2. Visual Studio.........................................................................................................................55
3. Dreamweaver IDE.................................................................................................................56
Comparison of explained IDEs.................................................................................................57
2.1.3 Databases........................................................................................................................58
2.2 Software development techniques....................................................................................59
1. Spiral development methodology........................................................................................60
2. Agile software development methodology..........................................................................61
3. Lean development methodology.........................................................................................62
4. Prototyping development methodology..............................................................................63
5. Scrum development methodology.......................................................................................65
6. Rapid development methodology........................................................................................66
7. Joint development methodology.........................................................................................67
Comparison of explained Software Development Techniques................................................68
2.4 Justification of the selection of tools and methodology to develop application for BAUHINIA 71

Activity 3...................................................................................................................................73
3.2 Peer review of the BAUHINIA clothing company solution.................................................74
3.3 Presentation that reviews the business application..........................................................76

15
Application Development
Peer review of the system based on the presentation............................................................81
Results of the survey were as below,.......................................................................................83
3.4 Business application for BAUHINIA....................................................................................85
3.5 Evidence for using the preferred tools, techniques and methodologies..........................87
3.5.1 Interfaces of the application...........................................................................................89
3.5.2 Coding..............................................................................................................................96
3.6 New ideas or possible improvements to the system developed and justification............98
Activity 4.................................................................................................................................101
4.1 Critical review regarding the performance of the Inventory Control application...........101
Analysis of the factors that influence the performance of a business application and discussion of
identified risks........................................................................................................................102
4.2 Strengths and weaknesses of the application developed................................................104
Strengths................................................................................................................................105
Weaknesses............................................................................................................................106

Figure 1The VMOST methodology...........................................................................................30


Figure 2The Maturity model....................................................................................................33
Figure 3The Use case diagram for BAUHINIA Source..............................................................39
Figure 4The Activity diagram for BAUHINIA Source................................................................40
Figure 5ER Diagram..................................................................................................................41
Figure 6Class Diagram..............................................................................................................42
Figure 7Gantt chart Source......................................................................................................43
Figure 8The Basic agile development methodology phases Source........................................62
Figure 9.....................................................................................................................................62
Figure 10The Prototyping model Source:...............................................................................64
Figure 11The SCRUM methodology Source............................................................................65
Figure 12The Rapid development methodology.....................................................................66
Figure 13The Joint development methodology Source...........................................................67
Figure 14Presentation01..........................................................................................................76
Figure 15Presentation02..........................................................................................................76
Figure 16Presentation03..........................................................................................................77
Figure 17Presentation04..........................................................................................................77
Figure 18Presentation05..........................................................................................................78
Figure 19Presentation06..........................................................................................................78
Figure 20Presentation07..........................................................................................................79
Figure 21Presentation08..........................................................................................................79
Figure 22Presentation09..........................................................................................................80
Figure 23Presentation10..........................................................................................................80
Figure 24Presentation11..........................................................................................................81
Figure 25Feedback form..........................................................................................................82
Figure 26...................................................................................................................................82

16
Application Development
Figure 27...................................................................................................................................83
Figure 28Results of the survey were as below.........................................................................83
Figure 29Results of the survey were as below.........................................................................84
Figure 30Results of the survey were as below.........................................................................84
Figure 31Results of the survey were as below.........................................................................84
Figure 32Results of the survey were as below.........................................................................85
Figure 33Results of the survey were as below.........................................................................85
Figure 34Evidence for using the preferred tools, techniques and methodologies.................87
Figure 35 The Class diagram...................................................................................................88
Figure 36Login interface...........................................................................................................89
Figure 37 Registration.............................................................................................................90
Figure 38Inventory handling clerk...........................................................................................91
Figure 39Inventory handling clerk...........................................................................................91
Figure 40Customer view products page..................................................................................92
Figure 41View cart for customer..............................................................................................93
Figure 42Customer order checkout.........................................................................................94
Figure 43Production manager daily orders report..................................................................94
Figure 44Production manager daily product availability report..............................................95
Figure 45Chief accountant monthly income report.................................................................95
Figure 46Database modelling..................................................................................................96
Figure 47User login data access layer implementation...........................................................97
Figure 48Error message user control UI implementation.......................................................97
Figure 49Tags and user control initialization and customer registration UI implementation 98

Table 1The Requirements Source............................................................................................22


Table 2The Users and their level of access Source..................................................................24
Table 3The Budget plan Source...............................................................................................27
Table 4The Analysis of business-related problem Source.......................................................34
Table 5The Milestones Source.................................................................................................37
Table 6The User stories Source...............................................................................................38
Table 7The Advantages and disadvantages of C# Source........................................................46
Table 8The Advantages and disadvantages of Java Source....................................................47
Table 9The Advantages and disadvantages of ASP.Net Source...............................................48
Table 10The Advantages and disadvantages of Python Source..............................................49
Table 11PHP programming language.......................................................................................50
Table 12The Comparison of ASP.Net and PHP Source.............................................................51
Table 13The Comparison of C# and Java Source....................................................................52
Table 14The threemain categories of programming languages Source..................................53
Table 15The Advantages and disadvantages of NetBeans IDE Source....................................55

Table 16The Advantages and disadvantages of Visual Studio IDE Source...............................56

17
Application Development
Table 17The Advantages and disadvantages of
Dreamweaver IDE Source........................................................................................................57
Table 18The Comparison of explained IDEs Source.................................................................57
Table 19The Advantages and Disadvantages of spiral model Source.....................................61
Table 20The Advantages and Disadvantages of lean development methodology Source.....63
Table 21The Advantages and Disadvantages of prototyping development methodology Source 64
Table 22The Advantages and Disadvantages of SCRUM development methodology Source 66
Table 23The Advantages and Disadvantages of rapid development methodology Source....67
Table 24The Advantages and Disadvantages of joint development methodology Source.....68
Table 25..................................................................................................................................104

18
Application Development
Activity 01
1.1 Problem definition statement for BAUHINIA

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. BAUHINIA is handling orders through social
media networks such as Facebook and Instagram. 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 the inventory management due to the increased of number of
orders through message requests. Due to this increase in popularity of the company, they also faced
some issues that are needed to be addressed.

Problem

As mentioned in the introduction BAUHINIA company requires for an inventory management


system. The reason for this transformation occurs from the hardships faced by the company due to
high customer orders and difficulty in meeting customer satisfaction.

As for the problem background we could say that the high popularity of the BAUHINIA company and
less planning in the beginning stages of the business has caused this problem. The writer adds the less
planning reason because if the company had a long-term plan, they would definitely have some
actions or solutions when the company reaches this level of publicity but they didn’t. Therefore, these
reasons could be brough forward as the problem background for the BAUHINIA company.

Problem Definition Statement

A problem definition statement is a description of the problem or the main issue addressed in the
business. The problem statement explains the current state, the desired future state and the gaps
between the two states. Identifying and understanding the problem statement is important to ensure
that everyone working on the project is aware of the problem and the desired outcome.

19
Application Development
A problem statement is important to identify the goals of the project and the outline scope of a
project. There are several important points that has to be included in a problem statement. The writer
would be using an ideal technique to provide an effective problem definition to the problem of
BAUHINIA.

5W2H Technique

5W2H is a technique that provides guiding questions when assessing the problem. The 5Ws are Who,
what, When, Where, and why and the two Hs are How and How much.

Using these 7 explanatory factors the problem can be visualized in a clear way, paving the way to
make effective decisions. The 7 factors are as follows;

 What – The purpose or the description of the problem


 Who – who are involved in this problem, what are their roles?
 Where – Where did the problem occur?
 Why – Why is this problem addressed? Why should it be solved?
 When – When the problem occurred? When the problem would be solved?
 How – what is the mechanism of this type of problem? How did this problem occur?
 How much – how much of an affect does the problem cause? How much is needed to solve it.

Problem Definition Statement of BAUHINIA Company

The main problem of BAUHINIA company is the difficulty to cope up with the inventory system of
the company this is due to the fact that they are managing all buying and selling items physically and
through social media messages. This system was reliable for them till the business grew bigger
because of popularity. Therefore, when summing up the problem we are left with the increase number
of orders, difficulty in maintaining paperwork’s and inventory management. The current situation of
the company is not in a good place. If this situation continues, the company wouldn’t be able to close
customer orders in proper time failing in fulfilling customer wants and satisfaction. As the worst case
of this would be the downfall of the company.

When applying the 5W2H to the problem of BAUHINIA we could get an analysis as follows,

20
Application Development
 Who – BAUHINIA company has the problem?
 What – BAUHINIA has the problem of meeting the expected customer requirements
 Where – The problem is in the inventory managing part of the company
 Why – This problem has occurred due to the huge number of orders from customers and the
inability to meet these orders in an organized manner.
 When – Problem has occurred recently when they found out that they were lacking ability to
assess the inventory properly.
 How – Problem has occurred because of the lack of planning during the implementation of the
business.
 How much – the cost of the inventory system development.

In the conclusion, BAUHINIA company is in need of a solution to solve their inventory management
system to carry on the business activities in a smooth manner. In order to fulfill this task, the
managing director has requested a software development consultant to provide them with a solution to
overcome this hardship.

Through this problem definition statement its clear about the problem that has occurred in the
company and the necessary information of them.

21
Application Development
1.2 Set of User and System Requirements for BAUHINIA

The order tracking system of BAUHINIA clothing company should meet the following user
requirements, and to meet these user requirements, the following system requirements are required.

Table 1The Requirements Source

Functional Requirements

These are the requirements that the system must perform, or basically the specifications that the user
expects from the system. These are the requirements that were directly stated from the user which one
can see directly from the final output. These are the most important type of requirements and the user
satisfaction depends on the success rate of these requirements. When BAUHINIA proposed their
initial requirements and they were highlighting few main needs and these will be prioritized as high
functional requirements. Therefore, under that, the functional requirements for BAUHININA are as
follows,

 User authentication
 User registration and Sign in
 View Products
 Purchase, add to cart and check out options
 Product Payment Option
 Staff Registration and Sign in
 Generate reports regarding sales, stocks, products, income etc.
 Authorization levels

22
Application Development
 Access Historical data

23
Application Development
These above-mentioned points will be taken as the main functional requirements for the system.

Non - Functional Requirements

Non-functional requirements are the type of requirements that were not stated by the client but still
manages to facilitate the user experience or the functional requirements of the system. The effect of
these non-functional requirements to the system varies from one project to another. The following are
few of the non-functional requirements which will be much suitable in BAUHININA inventory
system.

 Performance of the system – Response time, site loading and updates has to be done fast
 Capacity
 Scalability
 Security – User level Access, password protection etc.
 Manageability
 Recoverability
 Usability
 Flexibility

These qualities will be much needed to have a smooth operation in the system without any trouble
caused to both the users and administrators. The above mentioned functional and non-functional
requirements will be taken under consideration while developing the system. These requirements
provide a clear path for the developers to work with.

24
Application Development
These are the user , system requirements, functional and Non-functional requirements identified in the
proposed solution for the BAUHINIA clothing company problem. As previously stated, different
levels of system access should be granted to each and every user of this application. Based on the
identified user and system requirements, it is possible to design a system that will assist BAUHINIA
clothing company in replacing their old paper-based method with a new efficient method of order
tracking. This is the solution that must be provided based on the analysis of the problem definition
statement. As stated, this application requires levels of system access. Each and every level of access
has its own functionalities that will help to increase the productivity/ efficiency of the entire system.

Table 2The Users and their level of access Source

For example, the Chief Accountant only requires to create reports about monthly income. As a result,
the chief accountant has access to the report only. As it is known, an accountant does not require
access to order processing. The inventory handling clerk has been given the ability to add new items
to inventory, update existing item details, and delete items. They don't need to generate reports, so
they aren't able to use the report function. The user who has access to all levels of this application is
the production manager. In other words, this user is known as the application's Administrator. This is
due to the fact that the production manager must generate reports and, on occasion, the manager must
attend to a special customer on his own. This is the primary reason for granting administrative access
to the web application's production manager. This is how the BAUHINIA clothing company
application's user access levels are defined. By establishing different levels of user access, the
company will be able to better manage the security of its data. The author concludes that this is the
best solution for the problem that is identified earlier in the BAUHINIA clothing company by the
problem definition statement.

25
Application Development
1.3 Risks related to the successful completion of the application

There are risks in the development of any application. Even the most meticulously planned project
can encounter difficulties. No matter how well developers plan, their projects will always encounter
unexpected problems, resulting in unwelcome delays. There could be a lack of resources, cultural
issues, legal issues, and so on. Developers can use risk planning to identify potential problems that
could derail their project and analyze how likely they are to occur, take action to prevent risks that can
be avoided, and take action to mitigate the impact of problems that cannot be avoided. A risk is any
unforeseeable event or condition that may have an impact on the application development process.

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.

1. Technical risks
2. Cost risks
3. Schedule risks
4. Client risks
5. Legal risks
6. People risks

These are the six main areas of risk that must be addressed in order to successfully complete the
application. When each risk is assessed before it occurs and a solution is provided, it is possible to
reduce the impact of the risk or completely avoid it from occurring. There may be several types of
risks when developing an application for the BAUHINIA company. It should be able to identify the
most problematic risks and take actions to avoid them based on the information presented above. By
assessing risks before beginning the application development process, it is possible to create a system
that is free of delays and errors.

26
Application Development
1. Technical risks

There may be a number of technical risks when completing the BAUHINIA application. As known,
technical risks are the most commonly encountered risk in the completion of an application. When
completing the application, there may be problems with the computers used to develop the system,
such as internet connection problems, software problems, storage problems, and electricity problems.
By taking precautions, 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.

2. Client risks

It is important to maintain contact with customers while developing the BAUHINIA application. This
system was created to meet the needs of the client. As a result, the client should be well informed
about the system that they will receive in the end. Otherwise, clients may encounter issues with the
system, causing problems for the developers. For example, if the client is dissatisfied with the final
result, they will not pay. As a result, it is important to be able to inform customers about the process at
each stage of the design process. It is important to communicate with the customer in order to obtain
feedback and learn about their expectations.

3. Legal risks

When designing the system, it is important to research about the legal background of the components.
For example, when a design is taken from another project, the copyrights of the code should be
considered. Failure to consider the legal background of another's design will result in problems at the
end of the design process. As a result, it is critical to identify all legal risks and to be able to avoid
them in order to successfully complete the application for the BAUHINIA clothing company.
27
Application Development
4. 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 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.

Table 3The Budget plan Source

The details of the project's cost requirements, as well as when the payment should be made, can be
provided to the stakeholders via this budget. This allows both project workers and stakeholders to
complete their tasks without difficulty, and the payment is confirmed at the start. By creating a budget
for the development process, it is possible to reduce the cost-related risks associated with the
successful completion of the application development.

28
Application Development
5. Schedule risks

Another major issue that arises when developing an application is time constraints. During the early
stages of the development process, an individual may believe that he or she can complete the entire
project within the allocated and expected time frame. If there is a problem with the project's technical
assets, it will take longer than expected. As a result, it is important to complete the tasks ahead of time
so that some time from the schedule can be saved. It is also critical to create a more realistic project
schedule. If there is a problem with people, technology, or clients, provisioned time can be used to
solve it.

6. People risks

This type of risk can occur frequently during application development processes. Some developers
may become ill or leave the company during the development process. This will wreak havoc on the
application development process. As a result, it is important to keep extra manpower on hand when
developing this system. For example, if a developer becomes ill during the development process,
having extra developers to use in their place is important. People risks are easily solved, but other
types of risks must be taken into account more seriously. It is possible to successfully develop the
application for BAUHINIA company by identifying these people risks and taking precautions.

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.

29
Application Development
1.4 Analysis of the problem in BAUHINIA clothing company

Several methods are used to analyze BAUHINIA clothing company's business-related problem.
Analyzing a problem is a set of tasks designed to increase the designers' understanding of an
unbalanced situation in order to design a change to the situation that will provide the required
outcomes.

There are several methods for analyzing a problem. It is possible to have successful outcomes when
using a standard methodology to analyze a problem because it has been used, tested, and the outcome
is valid. Using a variety of tools and techniques to analyze the current state of a business environment
and map out its future will aid in thoroughly analyzing the business- related problem and successfully
completing the application with the expected user requirements. Some of the techniques are;

1. VMOST
2. SWOT
3. PEST
4. SOAR
5. Boston Matrix
6. Porters Five Forces
7. Maturity Models

These are the primary seven methods for analyzing a business-related problem. It is possible to design
a solution that meets all of the client's needs by properly analyzing a business-related problem. These
methods can be used to analyze the problem of the BAUHINIA clothing company in order to provide
direct solutions to the company's problem. These methodologies will assist in analyzing problems in
various directions and in gaining a clear understanding of the problem that clients face.
All of these methods will be used briefly in the process of analyzing the company's problem. Finally,
using all of these methods, a solution for the company's problem can be derived, which will help to
increase the validity of the solution that is being implemented in the BAUHINIA clothing company.

1. VMOST methodology

The VMOST Analysis, also known as the MOST Analysis, is a framework and evaluation technique
for organizational strategic planning. The analysis ensures that stakeholders in an organization gain

30
Application Development
reliable insight into the changes they want to see in their organization. After carefully conducting this

31
Application Development
analysis, it will present various options for bringing
about change while keeping the organization's strategic and long-term vision in mind. The VMOST
Analysis framework connects the vision and the tactics used to achieve that vision. In addition to the
vision (V) and mission statement (M), the acronym VMOST includes the following elements:
objectives, strategies, and tactics.

Figure 1The VMOST methodology

2. SWOT methodology

SWOT analysis (strengths, weaknesses, opportunities, and threats) is a framework for evaluating a
company's competitive position and developing strategic plans. SWOT analysis evaluates internal and
external factors, as well as current and potential future opportunities.
A SWOT analysis is intended to facilitate a realistic, fact-based, data-driven examination of an
organization's, initiative's, or industry's strengths and weaknesses. The organization must maintain the

accuracy of the analysis by avoiding preconceived notions or gray areas and instead focusing on real-
life contexts. Companies should use it as a guideline rather than a prescription

32
Application Development
Strengths

 High popularity among social media


 4 years of expertise in clothing brand designs
 Exponential increase in sales

Weaknesses

 Inability to meet customer demands


 Unable to generate proper accurate reports
 No proper inventory management
 Losing sales due to increase amount of order processing time

Opportunities

 High demand for their clothing products


 Ability to move into a different technological platform (website)

Threats

 Some customers wouldn’t like the new website system


 Problems related to personal data in the site
 Risk of technical failure or attacks

3. PEST methodology

PEST analysis is a methodology for categorizing environmental effects as political, economic, social,
and technological features. Any organization can benefit from a study of the PEST analysis method
and examples related to this technique. To change the term to PESTLE analysis, legal and
environmental factors are frequently included. PEST analysis takes into account the impact of these
factors on the business. The findings of this analysis can be used to capitalize on opportunities and, as
a result, prepare contingency plans for impending threats. PEST analysis is regarded as a valuable
strategic method for

33
Application Development
forecasting market decline or growth, assessing business status, identifying opportunities for
improvement, and developing future operational strategy. PEST analysis ensures that the organization

34
Application Development
is operating in accordance with the dominant
influential change forces that may affect the business environment. PEST is especially useful when a
company plans to enter new markets or countries. The application of PEST analysis aids in the
efficient adaptation to new environments. This methodology can be used to analyze technological
problems in this application development.

4. SOAR methodology

SOAR analysis is a strategic planning technique that assists organizations in focusing on their current
strengths and opportunities while also creating a vision of future goals and the outcomes they will
achieve. SOAR analysis is a powerful tool for bringing stakeholders together in order to recognize the
organization's potential and create a shared vision of the future. Building on strengths requires less
effort and resources than attempting to correct weaknesses because people find it more engaging and
exciting to focus on positives rather than negatives. It is well suited to assisting individual team
members in developing their own development and career plans. This method can be used to analyze
the business-related problem of BAUHINIA company.

5. Porters Five Forces

Porter's Five Forces is a model that identifies and analyzes the five competitive forces that shape
every industry and aids in determining the industry's weaknesses and strengths. Five Forces analysis
is frequently used to determine corporate strategy by identifying an industry's structure. Porter's
model can be applied to any sector of the economy to better understand industry competition and
increase a company's long-term profitability.

6. Maturity Models

A maturity model is a tool that assists people in assessing a person's or group's current effectiveness
and determining what capabilities they need to acquire next in order to improve their performance.
Maturity models are organized as a progression of levels of effectiveness. It is assumed that anyone
working in the field will progress through the levels in order as they gain experience. From the
evolution

35
Application Development
model to the technology model to the team model, a
variety of maturity models can be applied to a business. Every company or department goes through a
maturation process. The typical cycle consists of chaos, reaction, proactivity, service, and value.

Figure 2The Maturity model

It is possible to use any of the methodologies listed above to analyze a problem for the BAUHINIA
clothing company. There is no rule stating that only one methodology can be used to extract the
company's business-related problem. As a result, all of these methods can be used in combination to
analyze and solve the company's business-related problems.
According to the author, it is possible to properly identify a business-related problem by employing a
variety of methodologies. Each method has its own unique feature; by utilizing that feature in each
methodology, it is possible to analyze and discover the company's business- related issues in a valid
manner.

1.5 Analysis of the business-related problem in BAUHINIA clothing company

Several methodologies were used when analyzing the business-related method. Several strengths,
weaknesses, opportunities, and threats to the BAUHINIA clothing company's business were identified
when the problem is analyzed using these methodologies.

36
Application Development
Table 4The Analysis of business-related problem Source

When the BAUHINIA clothing company's business problems are examined, it is discovered that the
company did not keep up with modern technological advancements. They have been subjected to a
method of using traditional paper-based methods for order tracking as a result of this. This manual
process is riddled with flaws. Paper-based traditional methods were phased out in medium-sized
businesses over 5 or 6 years ago. The main issue that was identified was that their requirements were
met in a time-consuming and inefficient manner using a paper- based method. According to the
analysis, they have been able to increase their sales due to the popularity that they have gained from
the internet. According to this, they are having difficulties dealing with the paperwork required to
track each and every order. As a result, they require an application that can efficiently track their
order and improve the accuracy of the order tracking process. Several methods were used to analyze
the BAUHINIA clothing company's business problem. It was able to extract the root of the
BAUHINIA clothing company's problem as a result of this. They will be able to overcome the
problems discovered during the analysis thanks to the system that will be designed.

According to the author, using a variety of methods to extract business-related problems aided in the
extraction of the true problem. This business-related problem of the BAUHINIA clothing company
will be solved by designing and implementing an order tracking system with well- defined user
access.

37
Application Development
1.6 Software Design Document for BAUHINIA

This System Design Document was created to outline BAUHINIA clothing company’s proposed
Inventory Control Application design. This system will assist BAUHINIA clothing company in
properly and efficiently managing their orders. As a result, the company's orders will be more
accurate as a result of this system.

Overview

An application for BAUHINIA clothing company will be developed to manage their orders within
their company. Because of their popularity, their order has increased over the last two years, and they
need to get rid of their paper-based system and implement a new solution. To solve the BAUHINIA
clothing company’s problem, a system will be developed using the C# language along with the
ASP.Net framework. This system will increase the efficiency of order tracking and eliminate the use
of paper, and they will be able to enter previous order details into the system and begin working with
the new system immediately with the previous details. The C# language along with the ASP.Net
framework will be used as the programming language and MSSQL will be used as the database
solution. The system will be designed with few user interfaces as possible. To improve data security,
different levels of user access to the system will be provided. There will be four types of user
accounts. They are the Customer, the Inventory Handling Clerk, the Chief Accountant, and the
Production Manager. The customers will be able to login/ register and registered customers will be
able to browse and order products. This company's production manager will be granted administrative
access. The chief accountant will only be able to view reports in order to complete his finance tasks
and create monthly reports. The inventory handling clerk will be able to insert, update, and delete
products details. These specified access levels will assist BAUHINIA in carrying out their day-to-day
operations in a productive and secure manner. To load data, simple interfaces with few buttons and
forms will be used. It will improve the system's simplicity. The main reason for using a simple
interface and simple functions for this system is that the users should be able to understand it.

38
Application Development
Context

The main reason for implementing a system for BAUHINIA clothing company is that they needed a
better way to manage their orders received through message requests. Inventory handling clerks and
chief accountants should go through thousands of messages and papers to find the exact order when
receiving thousands of orders per day. For example, if a customer asks BAUHINIA for a specific
order status, they will need to go through a number of papers and message requests to find out the
order status, which will take time and energy from the BAUHINIA employees. They can find out the
status of the order in seconds by using this system. This application is becoming important in order to
keep up with the increasing demand of the BAUHINIA clothing company and to keep up with the
technological advancement era. Using a system to manage their orders will allow them to provide
better service to their customers while also increasing their market reputation and allowing them to
rise to the top of the market.

Goals

The main goal after developing the system is to eliminate the need for the company to use paperwork.
The company will save a lot of money and time as a result of this. The expected impact of introducing
this application into the work environment is to eliminate the use of paperwork and to manage orders,
increase the efficiency of order tracking, and increase the security of the data inserted. These are the
primary objectives of developing and implementing this application for the BAUHINIA clothing
company. As a solution provider, the work environment must be studied after the proposed system is
implemented, and analyzing the efficiency, reliability, and accuracy of day-to-day activities is
important. These facts should be considered when determining the application's success. As an
example, consider comparing the time required to track an order using the traditional method and the
new method. By achieving success in that goal, a conclusion about the success of the proposed
solution can be drawn. At the end of the development process, all of the goals will be compared to the
traditional method that they have used. By comparing, it is possible to gain a clear understanding of
the system's effect.

39
Application Development
Milestones

Table 5The Milestones Source

This is a breakdown of the application development project's milestones. The timed checkpoints in the
timeline for the aforementioned milestones will be introduced. By breaking down the development
process into milestones, it is possible to design and develop the system better by focusing on a
specific goal. This will increase the developer's motivation and provide the customer with a better
understanding of work coordination in developers.

Current solution

To track orders, they currently use message requests in conjunction with a paper-based solution.
When dealing with a large number of orders, this method causes problems. This paper-based method
will reduce the efficiency of the company's entire process. User stories can be used to identify issues
with the BAUHINIA clothing company’s current order tracking implementation.
40
Application Development
Table 6The User stories Source

This company has several types of users, and these are the requirements they expect from the new
solution. It is possible to conclude that the paperwork in the current solution meets all of these user
requirements. This will reduce the company's workforce's efficiency. This is the current solution that
the BAUHINIA clothing company is using to track their orders.

41
Application Development
Proposed solution

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.

Use case diagram for the proposed solution

Figure 3The Use case diagram for BAUHINIA Source

42
Application Development
Activity diagram for the proposed solution

Figure 4The Activity diagram for BAUHINIA Source

The activity and use case diagrams provided above can help to understand how the proposed solution
works. It will give the scrum team and the BAUHINIA clothing company’s management an idea of
how their system will work. This proposed solution is capable of meeting all of the BAUHINIA
clothing company’s requirements. The author believes that this is the best solution that can be
provided for BAUHINIA clothing company’s business problem.

43
Application Development
ER Diagram

ER diagram is a type of flowchart that illustrate how entities are related to each other within the
system. ER Diagrams are created to design or debug the relational databases in the field of software
engineering. The following is the ERD for BAHUNIA.

Figure 5ER Diagram

44
Application Development
Class Diagram

Class diagrams defines the structure of a program. They show the attributes stored within each class,
the methods that each class provides and the relationships between the classes.

Figure 6Class Diagram

Discussion

During the selection of a solution for BAUHINIA clothing company’s business problem, a number of
solutions were encountered. The C# ASP.Net framework-based solution can meet all of the
customer's requirements and produce a clean design with minimal functionalities. As a result, this
solution was chosen to develop the application for the BAUHINIA.

45
Application Development
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.

Figure 7Gantt chart Source

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.

46
Application Development
Activity 2
2.1 Software development tools

Any software program or utility that assists software developers or programmers in creating, editing,
debugging, maintaining, and/or performing any programming or development-specific task is referred
to as a software development tool. A programming tool is another name for a software development
tool.

When evaluating software development tools, it is important to choose the appropriate programming
language, IDE, and UI and UX design tool. In today's world, there are numerous tools and techniques
to choose from. There are specialized languages for developing systems that perform specific tasks. It
is important to match the compatibility of the programming language and the defined tasks that
should be carried out when selecting the language used to develop the application for BAUHINIA
clothing company.

When choosing tools for software development, there are two parts to consider:

1. Choosing the appropriate IDE


2. Choosing the appropriate language

This is the most important step in any software development process. Developers can improve the
performance of the proposed system and meet the client's expectations by using the proper language
and IDE. Various abstractions can be used to program modern computers. To increase efficiency, a
programmer will write a program in a programming language such as C, Java, or Python rather than
writing down a program's binary language. Following that, programming tools such as compilers,
assemblers, and linkers convert a programming language into readable source code that can be
executed by a computer.

These programs perform a variety of repetitive tasks that would take far more time and be far more
error-prone if performed by a human. For example, if a developer tries to link to pages without using
software development tools, they will never be able to get the system to work in a reasonable amount
of time. Finally, using software development tools will improve the overall efficiency and
productivity of the software development process.

47
Application Development
2.1.1 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. (computerhope, 2021)

There are numerous programming languages available for application development. It is important to
choose the most appropriate language for the task at hand. Because each language has its own set of
advantages and disadvantages, it is important to be much more cautious about how they are
implemented and used in this project. Some of the programming languages are given below:

1. PHP - A fantastic scripting language that is ideal for web development.


2. NodeJS - V8-based event-driven I/O server-side JavaScript environment.
3. HTML5 - A mark-up language that is the most recent version of XHTML and HTML.
4. Ruby – A programming language that focuses on productivity and ease of use.
5. Python - Allows for faster work and precise system integration.
6. Java - Oracle owns this popular programming language.
7. C# - This is a simple and object-oriented programming language created by Microsoft.
8. Visual Basic - A third-generation event-driven programming language from Microsoft.
9. C / C++ - C++ is a language that incorporates features from the C language.
10. ASP.NET - This is a server-side web application framework that is open source.

In the modern world, these are the most popular programming languages that can be used as
software development tools. When choosing a programming language for a business-related
problem, the advantages and disadvantages of each programming language are considered. Modern
developers use a variety of popular programming languages. Java, C#, Python, PHP,

48
Application Development
and ASP.Net are among them. These are the most popular programming languages used by
developers around the world. As a result, one of the above-mentioned languages should be used, as
it will improve the generatability of the application that is being developed. Before selecting a
programming language for BAUHINIA clothing company’s application, the advantages and
disadvantages of the above- mentioned programming languages should be considered.

1. C# programming language

At its core, C# is an object-oriented, general-purpose, and type-safe programming language. As a cradle for
C#, Microsoft is fully responsible for its development and features, both nice and not that nice. Being
similar to Java syntactically, this programming language is easy to learn, especially for those who know
Java and C and C++.

With the help of C#, programmers are able to build various robust, durable, and secure applications that run
in .Net. It’s known that this framework allows creating multi-platform applications, which is highly helpful
since it saves development time if you need to run apps on different platforms.

Table 7The Advantages and disadvantages of C# Source

49
Application Development
These are the benefits and drawbacks of using the C# programming language during the application
development process. When choosing a programming language for the BAUHINIA clothing
company, it is important to consider these benefits and drawbacks when deciding on a programming
language.

2. Java programming language

Java is a general-purpose, class-based, object-oriented programming language designed for having lesser
implementation dependencies. It is a computing platform for application development. Java is fast, secure,
and reliable, therefore. It is widely used for developing Java applications in laptops, data centers, game
consoles, scientific supercomputers, cell phones, etc.

Table 8The Advantages and disadvantages of Java Source

50
Application Development
Java is used in a variety of industries. In banking, for transaction management, in retail for billing
applications, in android applications, in financial services as server-side applications, and in scientific
and research communities for dealing with massive amounts of data. These are the primary benefits
and drawbacks of the Java programming language. When choosing a programming language for the
BAUHINIA clothing company, it is important to consider these benefits and drawbacks as a resource
when deciding on a programming language.

ASP .Net

ASP.NET is a set of Web development tools offered by Microsoft. Programs like Visual Studio .NET
and Visual Web Developer allow Web developers to create dynamic websites using a visual interface.
Of course, programmers can write their own code and scripts and incorporate it into ASP.NET
websites as well. Though it often seen as a successor to Microsoft's ASP programming technology,
ASP.NET also supports Visual Basic.NET, JScript .NET and open-source languages like Python and
Perl.

ASP.NET is built on the .NET framework, which provides an application program interface (API) for
software programmers. The .NET development tools can be used to create applications for both the
Windows operating system and the Web. Programs like Visual Studio .NET provide a visual interface
for developers to create their applications, which makes .NET a reasonable choice for designing Web-
based interfaces as well.

In order for an ASP.NET website to function correctly, it must be published to a Web server that
supports ASP.NET applications. Microsoft's Internet Information Services (IIS) Web server is by far
the most common platform for ASP.NET websites. While there are some open-source options
available for Linux-based systems, these alternatives often provide less than full support for ASP.NET
applications..

Table 9The Advantages and disadvantages of ASP.Net Source

51
Application Development
52
Application Development
Python programming language

Python was created by Dutch programmer Guido van Rossum and was first released in 1990.
Programming languages are often designed to accomplish one specific task, limiting their use. Python,
however, is a multi-paradigm language. It’s great as an object-oriented programming language, but if
you’d rather write programs in a functional programming style, you can do that too. This flexibility has
led to Python becoming the go-to language for many fields and industries.

Python may not be a new programming language (hard to believe it’s over 30 years old!), but its
continued adoption growth has shown that it has stood the test of time.
Table 10The Advantages and disadvantages of Python Source

PHP programming 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,

53
Application Development
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.

Table 11PHP programming language

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;

54
Application Development
Table 12The Comparison of ASP.Net and PHP Source

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. There are three more
programming languages that should be taken into account. Java, C#, and Python are the three
languages. These programming languages have distinct characteristics. The following is a comparison
of C# and Java languages;

55
Application Development
Table 13The Comparison of C# and Java Source

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;

56
Application Development
Table 14The threemain 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.2 Integrated Development Environment (IDE)

An integrated development environment (IDE) is a software suite that brings together the essential
tools for writing and testing software.
Throughout the development, building, and testing of software code, developers use a variety of tools.
Text editors, code libraries, compilers, and test platforms are all common development tools. A
developer without an IDE must choose, deploy, integrate, and manage each of these tools separately.
An IDE is a framework, application, or service that combines many of these development-related
tools into a single framework, application, or service. The integrated toolset is intended to make
software development easier by detecting and reducing coding errors and typos. Some IDEs are free
and open source, while others are for a fee. An IDE can be purchased separately or as part of a larger
package. An integrated development environment (IDE) typically includes a code editor, a compiler
or interpreter, and a debugger, all of which are accessed through a single graphical user interface
(GUI). In the code editor, the user writes and edits source code. The compiler converts the source
code into a machine-readable language that can be executed. The debugger, on the other hand,
examines the software for any flaws or bugs. Programmable editors, object and data modeling, unit

57
Application Development
testing, a source

58
Application Development
code library, and build automation tools can all be found in an IDE.When choosing an IDE for a
specific task, it's important to consider all of the development requirements. Some of the well-
known IDEs are listed below.

1. NetBeans
2. Visual Studio
3. Dreamweaver

These are some of the most well-known IDEs in today's system development. User interface,
performance, functionality, features, and debugging should all be taken into account when choosing
an IDE.
The project can be started in a good accurate manner after selecting a best IDE with all the features
and performance that is required. The advantages and disadvantages of an IDE should be considered
when choosing one for the software development process. Each and every IDE has its own set of
features. It's important to be able to recognize those features and choose the best IDE for the
development of Inventory Control Application for BAUHINIA.

1. NetBeans IDE

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.

59
Application Development
Table 15The Advantages and disadvantages of NetBeans IDE Source

The advantages and disadvantages mentioned above should be considered when selecting a suitable
IDE for the development of the Inventory Control Application for BAUHINIA.

2. Visual Studio

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

60
Application Development
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.

Table 16The Advantages and disadvantages of Visual Studio IDE Source

3. Dreamweaver IDE

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.

61
Application Development
Table 17The Advantages and disadvantages of Dreamweaver IDE Source

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.

Table 18The Comparison of explained IDEs Source

62
Application Development
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.1.3 Databases

A database is a logically organized collection of structured data stored electronically in a computer


system. A database management system (DBMS) is usually in charge of a database. The data, the
DBMS, and the applications together are referred to as a database system, which is often abbreviated
to just database.

To make processing and data querying efficient, data in the most common types of databases in use
today is typically modeled in rows and columns in a series of tables. Data can then be accessed,
managed, updated, controlled, and organized with ease. For writing and querying data, most databases
use structured query language (SQL).

Some examples of database software are MySQL, Microsoft Access, Microsoft SQL Server,
FileMaker Pro, Oracle Database, and dBASE.

These are the tools that can be used to create an application for BAUHINIA clothing company. In the
previous section, all of the benefits and drawbacks of programming languages and IDEs were
analyzed. It is possible to gain an idea about the tool that will be selected for the development process
of BAUHINIA clothing company’s application based on the comparisons that have been made about
each tool.

63
Application Development
2.2 Software development techniques

In software engineering, a software development technique is a technique used by developers to


structure, plan, and control the process of developing an information system to meet the customer's
needs. Some of the methodologies used by software developers to design and develop software are
listed below.

1. Spiral development methodology


2. Agile software development methodology
3. Lean development methodology
4. Prototyping development methodology
5. Scrum development methodology
6. Rapid development methodology
7. Joint development methodology

Software development methodology is a system of communication that has been codified. These
cutting-edge approaches highlight the software development process at every stage. This is more
about proper planning, and it includes any iteration needed to create highly scalable software. Using
software development methodologies has a number of advantages. They are;

 - Increased flexibility.
 - Collaboration within the team has improved.
 - Release cadence is faster and more efficient.
 - Increased knowledge acquisition.
 - More transparency.

These are the benefits of employing a software development methodology in the development
process.

64
Application Development
1. Spiral development methodology

The spiral model is similar to the incremental development for a system, with more emphasis placed on risk
analysis. The spiral model has four phases: Planning, Design, Construct and Evaluation. A software project
repeatedly passes through these phases in iterations (called Spirals in this model).

 These phases are - Planning: This phase starts with the gathering of business requirements. In the
subsequent spirals as the product matures, identification of system requirements and unit requirements are
done in this phase. This also includes understanding of system requirements by continual communication
between the customer and the analyst. At the end of the spiral the product is deployed.
Design: Design phase starts with the design in the baseline spiral and involves architectural, logical design
of modules, physical product design and final design in the successive spirals. Construct: Construct phase
refers to development of the final software product at every spiral. In the spiral when the product is just
thought and the design is being developed, a Proof of Concept (POC) is developed in this phase to get the
users’ feedback. Then in the successive spirals with higher clarity on requirements and design a working
model of the software called build is developed with a version number. These versions are sent to the users
for feedback.
Evaluation and Risk Analysis: Risk analysis includes identifying, estimating, and observing technical
feasibility such as schedule slippage and cost overrun. After testing the build, at the end of first iteration,
user evaluates the software and provides the feedback. Based on the customer assessment, development
process enters into the next iteration and afterwards follows the linear approach to implement the feedback
provided by the user. The process of iterations along the spiral carries on with throughout the life of the
software.

65
Application Development
Table 19The Advantages and Disadvantages of spiral model Source

2. Agile software development 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 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. 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.

66
Application Development
Figure 8The Basic agile development methodology phases Source:

3. Lean development methodology

Lean development focuses on minimizing wastage and increasing productivity. With fixed principles,
developers avoid any actions that are nonproductive while delivering quality in their tasks. This
Toyota inspired methodology focuses on continuous learning curve and deferment decisions. It
motivated the team to keep an open mind during the project development stage.

Figure 9

lean development is an ideal choice for small project types with a tight budget. Since its main
principle is to minimize wastage and increase efficiency, there will be some great results in the
system.

67
Application Development
Table 20The Advantages and Disadvantages of lean development methodology Source

4. 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 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.

68
Application Development
There are 4 types of prototyping models. They are Rapid Throwaway Prototyping,
Evolutionary Prototyping, Incremental Prototyping and Extreme Prototyping.

Figure 10The Prototyping model Source:

Table 21The Advantages and Disadvantages of prototyping development methodology Source

69
Application Development
5. 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.

Figure 11The SCRUM methodology Source

70
Application Development
Table 22The Advantages and Disadvantages of SCRUM development
methodology Source

6. 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.

Figure 12The Rapid development methodology

71
Application Development
Table 23The Advantages and Disadvantages of rapid development methodology Source

7. 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.

Figure 13The Joint development methodology Source

72
Application Development
Table 24The Advantages and Disadvantages of joint development methodology Source

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 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

73
Application Development
achieved.

74
Application Development
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 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
75
Application Development
quick feedback over long development and testing cycles, as well as rapid application development.

76
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.3 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, 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.

77
Application Development
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.4 Justification of the selection of tools and methodology to develop 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 paper- based 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
78
Application Development
need to keep track of the security of

79
Application Development
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.

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

80
Application Development
and allows for better monitoring of the development process thanks to the presence of a scrum master.
This

81
Application Development
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.

82
Application Development
Activity 3
3.1 Peer review

This is a procedure for checking peer work to ensure that it meets the criteria for which it was created.
This is used in a variety of professional occupations because peers are thought to be able to spot each
other's mistakes quickly and easily because they interact with each other all the time. This procedure
reduces the amount of time it takes to identify and correct errors. Peer review is always used in
software development, where a group of coders will meet and go over the code line by line to look for
and debug errors. The main goal of all peer review processes is to ensure that the work meets the
expectations of the customer. 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. 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 that can be used to evaluate the developers' work. As previously
stated, each methodology has its own distinct feature. As a result, when selecting a peer reviewing
methodology for BAUHINIA's solution, the best methodology should be chosen based on the
situation.

83
Application Development
3.2 Peer review of the BAUHINIA clothing company solution

After the author has proposed a solution to the BAUHINIA clothing company's problem, it is
necessary to have the solution reviewed by peers. The author has chosen the open review
methodology for the purpose of reviewing. During the peer review process, both the reviewer and the
author are familiar with each other in this methodology. A presentation is chosen to review the
BAUHINIA clothing company's proposed solution. This peer review allows to get feedback from the
peers on the proposed solution. This proposed solution is the most ideal solution for this scenario, but
there will be other solutions among peers, so the proposed solution will be subjected to peer review.

Data will be collected in several areas of the proposed solution during the review process. It is
possible to improve the outcome of the proposed solution by receiving different feedback from peers.
This presentation provides information on the business problem, the proposed solution, the
development strategy, and alternative solutions. Peers will gain a clear understanding of the business
problem and the proposed solutions as a result of this presentation. They can provide feedback on the
proposed solution based on that information.

Several peer feedbacks were gathered through the peer review process. One of the most common
suggestions was to use the MSSQL database for the system development process. Another important
piece of feedback received is the use of prototyping methodologies. This was not considered before.
This was not very reasonable because creating a large number of prototypes for such a small system is
a waste of time and energy for the developers, this feedback is discussed and sorted out by peers. It
was possible to extract some useful information from the feedback received from peers. It was
requested that the user friendliness of the system being designed be considered. Because the
employees have a stressful job role, they should have a better and clear interface to help them relax.
This is one of the most significant suggestions feedbacks gathered through the peer review process. It
is expected that the

84
Application Development
peer review process will collect feedback from peers
and inform them about the application that will be developed. The author believes that by using this
presentation, it was able to improve the peer review and data sharing processes among peers.

85
Application Development
3.3 Presentation that reviews the business application

Figure 14Presentation01

Figure 15Presentation02

86
Application Development
Figure 16Presentation03

Figure 17Presentation04

87
Application Development
Figure 18Presentation05

Figure 19Presentation06

88
Application Development
Figure 20Presentation07

Figure 21Presentation08

89
Application Development
Figure 22Presentation09

Figure 23Presentation10

90
Application Development
Figure 24Presentation11

Peer review of the system based on the presentation

At the end of the presentation all viewers were provided with a feedback survey to gain their view on
the system. This is an important step in the presentation process as that we could get a clear idea on
what’s going through the viewers mind and what different ideas they may have to share with the
developers. As mentioned before this communication is a vital step in agile development
methodology.

The following survey was created including a set of questions which focuses on the core concepts of
the system. The results acquired through this short survey will be used in the future development
processes.

91
Application Development
Figure 25Feedback form

Figure 26

92
Application Development
Figure 27

Results of the survey were as below,

Figure 28Results of the survey were as below

93
Application Development
Figure 29Results of the survey were as below

Figure 30Results of the survey were as below

Figure 31Results of the survey were as below

94
Application Development
Figure 32Results of the survey were as below

Figure 33Results of the survey were as below

This feedback given by the users will be a great peer review for the AKL solutions to go through their
planning process and their designing once again. These peer reviews will be documented properly for
future references and in future developments.

3.4 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
95
Application Development
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.

96
Application Development
3.5 Evidence for using the preferred tools, techniques and methodologies

Figure 34Evidence for using the preferred tools, techniques and methodologies

97
Application Development
Figure 35 The Class diagram

This is the database solution that is developed for the BAUHINIA business application.

98
Application Development
3.5.1 Interfaces of the application

Figure 36Login interface

99
Application Development
Figure 37 Registration

10
Application Development 0
Figure 38Inventory handling clerk

Figure 39Inventory handling clerk

10
Application Development 1
Figure 40Customer 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.

10
Application Development 2
Figure 41View cart for customer

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.

10
Application Development 3
Figure 42Customer 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.

Figure 43Production manager daily orders report

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

Figure 44Production manager daily product availability report

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

Figure 45Chief accountant monthly income report

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

10
Application Development 5
3.5.2 Coding

Figure 46Database modelling

10
Application Development 6
Figure 47User login data access layer implementation

Figure 48Error message user control UI implementation

10
Application Development 7
Figure 49Tags and user control initialization and customer registration UI implementation

3.6 New ideas or possible improvements to the system developed and justification

Some improvements that should be made in the BAUHINIA clothing company's system were
discovered during the development of the application for the company. These new ideas, suggestions,
and enhancements to the application will help it become more user-friendly and efficient. The staff of
BAUHINIA will be unable to complete their work efficiently based solely on their company’s
requirements. They must make use of these enhancements in order to improve the system's
performance.

Regarding the products adding page for the inventory handling clerk, initially in the requirements it
was mentioned to add only the add/ update features but it is important to add a delete feature to the
products adding page. The system's featured were improved by applying this to the application and it
is considered as a new improvement taken by the author.

10
Application Development 8
In this application, 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. This can increase the efficiency and ease up
the customer’s overall experience of this system. When it comes to project improvements, the most
important thing that can be done is to improve the Graphical User Interface. The current system is
made up of GUI components that are provided (by default) by the Visual Studio Designer tool and are
a little older in appearance. Thus, by utilizing third-party plugins, libraries, and frameworks such as
‘Bunifu,' the GUI can be improved by giving it a more modern appearance. As a result, the user
experience with the software solution can be enhanced. Another new idea that was discussed but not
implemented was to include a feature that would automatically send an email invoice to the customer
from within the application. The reason for not implementing this feature is that most customers do
not check their emails and instead request paper-based invoices; however, this is a new insight that
can be implemented in the future if customers accept this paper-free methodology.

In a business application, security is a must. As a result, it is important to be well protected against


third-party access, unauthorized access, and the encryption of sensitive data. Hashed passwords must
be used for both login and registration. Password hashing algorithms such as PBKDF2, bcrypt, and
sycrypt can be used to accomplish this. Because these are irreversible cryptographic password hashing
algorithms, sniffing the hash will not aid in password cracking. Although there is a risk of using
dictionaries to brute force passwords. Because a modern PC can check thousands of passwords in
minutes, the hashing, login process must be delayed using iterative methods defined in those hashing
algorithms, requiring the developer to have a thorough understanding of and proper implementation of
the login process.

Another new idea was to include a location tracker for the order, but this was not implemented
because the company's description did not specify the areas where the order moves after it was

placed. This can be accomplished by gathering data from the BAUHINIA clothing company. This
feature isn't included because it isn't much important to the application's operation. The database must
be optimized by properly normalizing it and implementing best practices. And, when querying the
data, the queries must be optimized in order to obtain the best results with the least amount of data,
109
Application Development
and they

110
Application Development
must be improved.
These are the possible enhancements, insights, and ideas that were considered for the application. The
quality of the system designed is expected to improve as a result of these enhancements. With
technological advancements and updates to this application, the ideas that were not implemented in
the past can be implemented in the future. The application has been improved, according to the
author's assessment, as a result of new ideas and insights that were implemented or are expected to be
improved during the development process.

111
Application Development
Activity 4

4.1Critical review regarding the performance of the Inventory Control


application

The application developed for the BAUHINIA clothing company is one that can meet all of the user's
needs. It was able to fulfill all of the BAUHINIA clothing company’s requirements. There were also
additional features added to the initial requirements. The features that have been provided will help to
meet the system's initial requirements.

When reviewing a business application, the first step is to determine whether the solution provided
can solve the business-related problem. This system for BAUHINIA can eliminate the need for old
paper- based methods as well as message requests. Therefore, they'll be able to efficiently manage
their order. As a result, it can be concluded that the business application has provided a solution to the
BAUHINIA’s business-related problem. The old paper-based method has problems sorting data and
has security issues, according to the problem definition statement. User access levels can be used to
manage data security. This will improve data sorting efficiency as well as data security. Another issue
raised in the problem definition statement was the lack of storage space in the BAUHINIA for paper-
based records. 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 requirements, they have requested multiple levels of access as well as multiple
levels of requirements for those access areas. They've requested that a feature be added that allows
registered customers to browse products and place orders for their preferred products. Customers have
been given a special form for this purpose. The registered customer can add the items to their cart and
then proceed to checkout to confirm their billing and purchase. These are the initial requirements that
have been asked to give to the customers. The inventory handling has the access to add and update
products as well as their details. Then, the product manager has the overall access and can create
reports for daily orders and daily product availability. The chief accountant has the access to create
report for the monthly income. These are the users and the access levels. On BAUHINIA's request,
these were the initial requirements that were met. By the use of agile methodologies, the performance
of the software development

112
Application Development
process was improved, but good communication
between the developer and testing teams is essential.

It can be concluded that the developed application performs well by providing the user with all of the
features necessary to increase their productivity. The problem definition statement can be used to
evaluate the performance of this business application. As previously stated, this company's main issue
is getting rid of their old paper-based method. 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.

Analysis of the factors that influence the performance of a business application


and discussion of identified risks

One of the most important factors affecting application performance is application complexity.
Today's applications and services are a mix of components sourced from a variety of sources,
including the data center, the cloud, third parties, and so on. While a customer or employee viewing a
browser window sees a single application, multiple moving parts must work together to provide a
positive end-user experience. Even if the Web server and app server are up and running, the user
experience will suffer if the database is down. The challenge is being able to measure and keep track
of all those moving parts. This was a considered as a technical risk while developing the application
and it was taken into consideration by assessing.

Design is one of the most important factors that affects application performance. Performance has to
be built in. Performance goals, as well as the details of the environment in which the applications will
run, must be defined when applications are specified. Often, development is ignored, and applications
are only monitored, analyzed, and "fixed" after they have been released into production. When
performance is one of the key goals of the application design before a single line of code is written,
this never works as well. So, it’s important to test the whole design of the developed application for
BAUHINIA. Poorly optimized code and infrastructure, such as suboptimal SQL queries, poorly
configured network infrastructure, or inefficient code algorithms at the application layer, are, in the
author's opinion, the most significant factor affecting application performance today. It can be
difficult to isolate any of these issues. As a result, it's important to equip the data center with the tools
it needs to track

113
Application Development
and report on all aspects of a deployed application,
including code level instrumentation, network performance tools, and traditional IT infrastructure
monitoring solutions. These technical risks were taken into consideration when the application for
BAUHINIA was developed to bring out its best performance.

The performance of today's applications is frequently tested in simulation labs rather than on real-
world networks. Transport across today's highly distributed network architectures should be
monitored and optimized before applications are deployed. Performance is impacted by insufficient
testing of the application in the actual production environment and under varying conditions.
Developers and testers must also have a thorough understanding of the non- functional performance
criteria. Agile release cycles — in reality, less than 5% of developers perform performance testing on
their code before pushing it to production. Because most organizations don't have the time, resources,
or budget to replicate production environments in test for every agile release, customers are
increasingly testing in production outside of business hours. When an application's codebase is
updated several times per month, it's easy to see how performance anti-patterns and bottlenecks end
up in production. This factor falls under the previously discussed cost risks and also schedule risks.
To prevent these risks from happening, the solution for this factor which is to test the developed
application was done.

114
Application Development
Table 25

4.2 Strengths and weaknesses of the application developed

The application developed for BAUHINIA is only the first step on a long journey. The first release of
this application showed clear results of what effect such a system has on a business and BAUHINIA
are clearly experiencing it. The potential such an application has on the business is immaculate but
attaining it is one of the challenges the business has to take. There are several ways in which this
application can benefit the business. Therefore, the writer would be discussing the strengths and
weaknesses of this application.

115
Application Development
Strengths

 Easy accessibility by the users – Users can now access a large number of products through a
single site rather than requesting multiple items through messages. This allows the customers
to browse through a large quantity of goods they wish and choose to buy from them.
 Ability to track the order – Users can now track their orders easily through the system
 User accounts – Users have their own accounts from which they can access the system.

Through this they could get news on offers easily before others and many more benefits

 Improved efficiency – the application has a quick load time making it more efficient for the
users to browse through products and put their orders very quick.
 Design – The design of the application is eye catching and the color theme used has attracted
many users to the system.

 Generate reports – employees could generate reports easily based on their access levels. This
was another huge concern for the BAUHINIA company to handle and organize the reports and
documents of the company. This was easily solved through the automation of the inventory
management system in the bauhinia’s new system.
 Add and update products – This is another important strength in the application and one of
the main concerns of the company. With this system the employees can easily add the
products in the system and update them when necessary.

These are the main strengths that can be seen from the new automated system for BAUHINIA

116
Application Development
Weaknesses

 Security – Security is a concern in the present system. This has to be enhanced in the

future updates and this enhancement will include 2FA, mobile confirmation etc.

 Lags and bugs – there are few bugs and lags found in between browsing of the site. This
happens during high stress test of the system.
 Including other pages – There are several other pages that are expected by the user in the
system which will most probably be implemented in the future updates.
 Increase database size and no of site visits – since the large number of requests and site
visits the number of site visits and the database has to be increased.

The above are the weaknesses that were found from the system for now, these will be fixed as
soon as possible.

The above-mentioned strengths and weaknesses are helpful to review the system created for
BAUHINIA. The future improvements for the system can be extracted through these given
points.

117
Application Development
4.3 Opportunities for improvement and further development of the application

Opportunities for future improvements are countless in a web application. BAUHINIA can come up
with different ideas which will help them to bring new users in to the system. Having a close eye on
the competitors and analyzing their steps can help the business to stay ahead on their business league.
However, the following are few immediate improvements that can be added to the system.

• 2 Factor verification
This update in the system can help to improve the security of the system. Here the user will be

given another verification way to confirm the identity of the user.

• My returns page
Adding my returns page can keep the customer updated about the products those were returned

and give them the opportunity to re order it again.

• Confirmation alerts

This feature sends a confirmation alert to the users contact no after every successful order
confirmation. This alerts the customer about the details of the order including an assumed delivery
date.

• Sending alerts during delivery

This feature sends an alert to the customer regarding the delivery of the product. This will include
sending alert when packaging is over, when the delivery is taken by the delivery person etc.

• Sending e – bill

A receipt of the order will be sent to the email of the user. Through this the customer will be informed
regarding all the information of the order, this includes price, order date, quantity, product etc.

• Include a sign in from google option in login page


This is a feature that helps the user to directly register from his/her google account. This will be a

118
Application Development
quick step for the user rather than filling out fields in
the user registration form.

• Providing dashboards with different data for different users

As mentioned before there are several user accesses levels for different users in the system. Under
that category there has to be different types of data shown to different types of users. Ex: sensitive
data of sales inventory and income report wouldn’t be visible to employees but to the relevant staff in
the dashboard.

The above mentioned are few of the opportunities for improvements for the business application
created to bauhinia clothing company.

These opportunities presented above is only a glimpse and there can be several more which can help
the application grow widely. The main reason for building this application was to overcome the
hardships of managing orders and handling paperwork’s. Since that is successfully completed by this
system the next goal of the company has to be to let the system grow from this application. By
applying a proper strategic planning, the company could reach new heights through this system.

In order to find new improvements, the company should analyze the current system and have constant
interaction with the customers to get their feedbacks regarding the system and use that data to find
new improvements.

In the conclusion attaining these opportunities and improving the system through those will definitely
help the company in numerous ways. The ultimate goal of every business which is to increase their
sales and customer satisfaction can be attained through this iterative process.

119
Application Development
Reference

Marty Zwilling, Nine Steps to Effective Business Problem Solving (2020). Available at:
https://www.indeed.com/career-advice/career-development/what-is-a-problem-statement
(Accessed: 12 12 2022).

Shewan, D. (2019). How to Do a SWOT Analysis for Your Small Business (with Examples).
[online]. Available at:

https://performancelabus.com/what-is-uat-for-websites/
(Accessed 16 12 2022).

Dan Shewan. (2020) How to Do a SWOT Analysis for Your Small Business (with Examples) (2020).
Available at: https://www.uptech.team/blog/software-development-methodologies analysis
(Accessed: 15 12 2022).

Olson, D. (2020) VMOST Analysis | Wiki | BAwiki, Bawiki.com. Available at:


https://www.geeksforgeeks.org/software-engineering-phases-prototyping

(Accessed: 17 Aug 2022).


Sharma, L. (2016) WaterFall Model in Software Developement Life Cycle | SDLC, TOOLSQA.
Available at: https://www.toolsqa.com/software-testing/waterfall-model/

(Accessed: 19 12 2022).

Cprime.com (2020) What is AGILE? - What is SCRUM? - Agile FAQ's | Cprime (2020).
Available at: https://www.cprime.com/resources/what-is-agile-what-is-scrum/

(Accessed: 21 12 2022).

120
Application Development
[online] Available at: https://www.cprime.com/resources/what-is-agile-what-is-scrum

(Accessed: 12 12 2022).

Analysis for Your Small Business (with Examples). [online] Wordstream.com.


Available at:https://www.smartinsights.com/marketing-planning/marketing-
models/use- bcg-matrix/

(Accessed 16 12 2022).

[online] Available at: https://studycorgi.com/japanese-animation-industry-and-porters-


five-forces/ analysis

(Accessed: 15 12 2022).

[online] Available at: https://startinfinity.com/project-management-methodologies/scrum

(Accessed: 17 12 2022).

110
Application Development

You might also like