Uploaded by angelo.fernando2pac

Application Development

advertisement
Higher Nationals
Internal verification of assessment decisions – BTEC (RQF)
INTERNAL VERIFICATION – ASSESSMENT DECISIONS
Programme title
Higher National Diploma in Computing
Assessor
Unit(s)
Internal Verifier
Unit 30 – Application Development
Assignment title
Student’s name
R.Praveen
Pass
List which assessment criteria
the Assessor has awarded.
Merit
Distinction
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
student work?
Y/N
Has the work been assessed
accurately?
Y/N
Is the feedback to the student:
Give details:
• Constructive?
• Linked to relevant assessment criteria?
• Identifying opportunities for
improved performance?
• Agreeing actions?
Y/N
Y/N
Y/N
Does the assessment decision need
amending?
Y/N
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
Unit 30 – Application Development
Unit Title
Assignment Number
Assessor
Submission Date
Date Received
1st submission
Re-submission Date
Date Received 2nd
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
Descripts
Grade:
P6
M4
Assessor Signature:
D3
Date:
Resubmission Feedback:
Grade:
Assessor Signature:
Date:
Internal Verifier’s Comments:
Signature & Date:
* Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has taken place and grades
decisions have been agreed at the assessment board.
All rights reserved ©ESOFT Metro Campus, Sri Lanka
Page 2 of 92
Assignment Feedback
Formative Feedback: Assessor to Student
Action Plan
Summative feedback
Feedback: Student to Assessor
Assessor
signature
Date
Student signature
Date
All rights reserved ©ESOFT Metro Campus, Sri Lanka
Page 3 of 92
Pearson Higher Nationals in
Computing
Unit 30 – Application Development
All rights reserved ©ESOFT Metro Campus, Sri Lanka
Page 4 of 92
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.
2.
3.
4.
The font size should be 12 point, and should be in the style of Time New Roman.
Use 1.5 line spacing. Left justify all paragraphs.
Ensure that all the headings are consistent in terms of the font size and font style.
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. Carefully check the hand in date and the instructions given in the assignment. Late submissions will
not be accepted.
2. Ensure that you give yourself enough time to complete the assignment by the due date.
3. Excuses of any nature will not be accepted for failure to hand in the work on time.
4. You must take responsibility for managing your own time effectively.
5. 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.
6. Failure to achieve at least PASS criteria will result in a REFERRAL grade .
7. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will then
be asked to complete an alternative assignment.
8. 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.
9. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be
reduced to A REFERRAL or at worst you could be expelled from the course
All rights reserved ©ESOFT Metro Campus, Sri Lanka
Page 5 of 92
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.
rajendiranpraveen4@gmail.com
Student’s Signature:
(Provide E-mail ID)
All rights reserved ©ESOFT Metro Campus, Sri Lanka
Date:
(Provide Submission Date)
Page 6 of 92
Higher National Diploma in Business
Assignment Brief
Student Name /ID Number
Unit Number and Title
Unit 30: Application Development
Academic Year
2018/19
Unit Tutor
Assignment Title
Issue Date
Submission Date
IV Name & Date
Submission format
The submission should be in the form of an individual written report. This should be written in a
concise, formal business style using single spacing and font size 12. You are required to make use
of headings, paragraphs and subsections as appropriate, and all work must be supported with
research. You must provide in-text citations and the reference list using Harvard referencing
system.
The recommended word count is 4,000–4,500 words excluding annexures..
Minimum word count – 4,000
Maximum word count – 4,500
All rights reserved ©ESOFT Metro Campus, Sri Lanka
Page 7 of 92
PC World(PCW) is a medium-sized company that sells over 50 different types of computer products. The
company has grown steadily in the last 2 years mainly due its popularity over the Internet. They are
finding it increasingly difficult to cope up with all of the paperwork associated with tracking orders due to
the increase of number of orders. The Managing Director is frustrated by the problems associated with
previous traditional 'waterfall' projects. He has decided that PCW will use a company with Agile
development experience to develop the software for a new order tracking system.
JJLP Software (JJLP) is a software development consultant. JJLP is located on the same industrial estate as
PCW. JJLP has purpose built rooms for Facilitated Workshops and Agile software development projects.
The Managing Director of PCW has decided to contract JJLP, on “time and materials” basis, for the
development of the new order tracking system using an Agile development approach.
The new order tracking system will replace the old paper based system and is likely to include some of
the following functionalities:
•
•
•
•
•
•
•
•
Receive a sales order via telephone, fax, post or email – carried out by an Order Handling Clerk;
Create an acknowledgement copy of the sales order with a delivery date after the order has been
confirmed with the warehouse – carried out by a Warehouse Operative ;
Create an acknowledgement copy of the sales order stating the item is out of stock and the date
it will be available after the order has been confirmed with the warehouse – carried out by a
Warehouse Operative;
Credit-check new customers and reject them if they are not creditworthy – carried out by an
Order Handling clerk
Create a daily report of orders that have been dispatched – carried out by the Production
Manager;
Create an invoice for business customers after the delivery – carried out by the Chief Accountant
(M)
Accept credit card payment from domestic customers after the order has been confirmed with
the warehouse - carried out by an Order Handling Clerk;
Create a final demand if a business customer has not paid an invoice after 30 days – carried out
by the Chief Accountant;
The new order tracking system should have the following levels of access:
• report only;
• update only;
• update and delete;
• complete system access;
• All acknowledgement copies of sales orders, invoices and final demands must be printed on
the relevant company headed forms;
• The new order tracking system should be able to print acknowledgement copies of sales orders,
invoices and final demands at a rate of 1 in every 5 seconds. However, an upper limit of 10
seconds would be acceptable.
All rights reserved ©ESOFT Metro Campus, Sri Lanka
Page 8 of 92
Activity 1Produce a Software Design Document by analysing a business-related problem and deduce an
appropriate solution including a set of initial requirements
1.1 Explore a business related problem and produce a well-defined Problem definition statement
supported by a set of user and System requirements.
1.2 Determine any areas of risk related to the successful completion of your application.
1.3 Analyse a business related problem using appropriate methods and produce a well-structured
Software Design Document that defines a proposed solution. Include relevant details on requirements,
system analysis, system design. (propose a suitable language)
Activity 2
LO2 Use design and development methodologies with tools and techniques associated with the
creation of a business application
2.1 Research the use of software development tools and techniques and identify any suitable tool or
technique that you may select for the development of this application.
2.2 Compare the differences between various software development tools and techniques researched.
Justify your preferred selection and preferred software development methodology.
2.3 Justify the tools and techniques chosen to realize a custom built website. Justify your preferred
selection of tools and techniques in deducing an appropriate solution to a business related problem.
Activity 3
LO3 Work individually and as part of a team to plan and produce a functional business application with
support documentation
3.1 Create a formal presentation that effectively reviews your business application, problem definition
statement, proposed solution and the development strategy. Use this presentation as a part of a peerreview and document any feedback given.
3.2 Develop a functional business application based on a specific Software Design Document with
supportive evidence for using the preferred tools, techniques and methodologies.
3.3 Evaluate any new insights, ideas or potential improvements to your system and justify the reasons for
including/not including them as a part of this business application.
All rights reserved ©ESOFT Metro Campus, Sri Lanka
Page 9 of 92
Activity 4
LO4 Evaluate the performance of a business application against its Software Design Document and
initial requirements
4.1 Review the performance of your business application against the Problem Definition Statement and
initial requirements.
4.2 Critically evaluate the strengths and weaknesses of your business application and justify
opportunities for improvement and further development.
All rights reserved ©ESOFT Metro Campus, Sri Lanka
Page 10 of 92
Observation Sheet
Activity
No
Activity
Learning
Outcom
e
LO1
1
Produce a Software Design Document by analysing
a business-related problem and deduce an
appropriate solution including a set of initial
requirements
2
Use design and development methodologies with
tools and techniques associated with the creation
of a business application.
LO2
3
Work individually and as part of a team to plan
and produce a functional business application with
support documentation
LO3
4
Evaluate the performance of a business
application against its Software Design Document
and initial requirements.
LO4
Feedback
(Pass/ Redo)
Comments:
Assessor Name
:…………………………………………….
Date
:…………………………………………….
Assessor Signature :…………………………………………….
All rights reserved ©ESOFT Metro Campus, Sri Lanka
Page 11 of 92
Assessment Criteria (Students are not authorized to modify or write anything on below)
Outcomes/Criteria
P1Explore 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 . Include relevant details on
requirements, system analysis, system
design. (propose a suitable language)
P3 Research the use of software
development tools and techniques and
identify any suitable tool or technique
that you may select for the development
of this application.
M2 Compare the differences between
various software development tools and
techniques researched. Justify your
preferred selection and preferred
software development methodology.
D1 Justify the tools and techniques
chosen to realize a custom built website.
Justify your preferred selection of tools
and techniques in deducing an
appropriate solution to a business
related problem.
Page
Feedback
P4 Create a formal presentation that
effectively reviews your business
application, problem definition
statement, proposed solution and the
development strategy. Use this
presentation as a part of a peer-review
and document any feedback given.
M3 Develop a functional business
application based on a specific Software
Design Document with supportive
evidence for using the preferred tools,
techniques and methodologies.
D2 Evaluate any new insights, ideas or
potential improvements to your system
and justify the reasons for including/not
including them as a part of this business
application.
M4 Review the performance of your
business application against the Problem
Definition Statement and initial
requirements.
D3 Critically evaluate the strengths and
weaknesses of your business application
and justify opportunities for
improvement and further development.
Strengths:
Weaknesses:
Future Improvements & Assessor Comment:
Signature:
Assessor:
Date: ____/____/______
Internal Verifier’s Comments:
Internal Verifier:
Date: ____/____/______
Signature:
Acknowledgment
Web Design & Development is most interesting subject. My heartfelt thanks must go to Mr.
Lahiru Sir the lecturer of E-soft Metro campus Negombo branch. Lahiru Sir help me lot in this
assignment work.
I would also like to thank my class mates who helped me in this assignment. Finally, I
want to thank my parents and friends because of their support only I’ll did my whole
assignment and some websites and books which I referred for required details its help lot with
this assignment.
Praveen (HND in computing & system development)
[Blank Kept intentionally]
Contents
Acknowledgment .......................................................................................................................... 15
Activity 1- ...................................................................................................................................... 20
Produce a Software Design Document by analysing a business-related problem and deduce
an appropriate solution including a set of initial requirements .............................................. 20
1.1 Explore a business related problem and produce a well-defined Problem definition
statement supported by a set of user and System requirements. ....................................... 20
Agile Methodology and System Analysis ...................................................................................... 21
21
Introduction: Agile Methodology.......................................................................................... 21
22
Agile Scrum methodology VS Kanban method VS Scrumban ............................................... 24
Agile model for improving The Software (System) Development Life Cycle ........................ 25
1.2
Determine any areas of risk related to the successful completion of your application.
27
1.3 Analyse a business related problem using appropriate methods and produce a wellstructured Software Design Document that defines a proposed solution. Include relevant
details on requirements, system analysis, system design. (propose a suitable language) .. 28
Activity 2........................................................................................................................................ 34
LO2 Use design and development methodologies with tools and techniques associated with
the creation of a business application ...................................................................................... 34
2.1 Research the use of software development tools and techniques and identify any
suitable tool or technique that you may select for the development of this application. .. 34
History of Bootstrap .................................................................................................................. 35
Features of bootstrap ............................................................................................................... 36
Easy to use............................................................................................................................. 36
Responsive features .............................................................................................................. 36
Mobile-Friendly ..................................................................................................................... 36
Simple Integration ................................................................................................................. 36
Pre-styled Components......................................................................................................... 36
Customizable Bootstrap ........................................................................................................ 36
Browser compatibility ........................................................................................................... 36
Great grid system .................................................................................................................. 37
Bundled JavaScript plugins.................................................................................................... 37
Extensive list of components ................................................................................................ 37
Base styling for most HTML elements .................................................................................. 37
Good documentation ............................................................................................................ 37
C# Language .............................................................................................................................. 37
History of C# .......................................................................................................................... 38
The MVC pattern of application programming is the current way developers work with
applications. Web forms are still found in some older, legacy applications, but you won't see
them as much as MVC. MVC is considered the most powerful version of the .NET framework.
It's also considered a much more easily coded application. MVC also has a stronger
foundation on object-oriented programming (OOP). Other languages use the MVC pattern, so
it's useful to learn it to ensure that your skills can span several areas of development. ........ 41
SQL Server Management Studio ............................................................................................... 41
Introduction to C# ......................................................................................................................... 42
A bit about .Net Framework ..................................................................................................... 43
Why C#? .................................................................................................................................... 43
Explanation............................................................................................................................ 44
2.2 Compare the differences between various software development tools and techniques
researched. Justify your preferred selection and preferred software development
methodology. ........................................................................................................................ 45
2.3 Justify the tools and techniques chosen to realize a custom built website. Justify your
preferred selection of tools and techniques in deducing an appropriate solution to a
business related problem. .................................................................................................... 47
Activity 3........................................................................................................................................ 48
3.1 Create a formal presentation that effectively reviews your business application, problem
definition statement, proposed solution and the development strategy. Use this presentation
as a part of a peerreview and document any feedback given. ................................................ 48
3.2 Develop a functional business application based on a specific Software Design Document
with supportive evidence for using the preferred tools, techniques and methodologies. ...... 55
Use case Diagram .................................................................................................................. 55
UML Diagram ........................................................................................................................ 56
Add new products ................................................................................................................. 60
Add new Customer................................................................................................................ 62
New Job ................................................................................................................................. 64
Payments ............................................................................................................................... 69
Background code:.................................................................................................................. 72
3.3 Evaluate any new insights, ideas or potential improvements to your system and justify the
reasons for including/not including them as a part of this business application. .................... 88
Activity 4........................................................................................................................................ 89
LO4 Evaluate the performance of a business application against its Software Design
Document and initial requirements.......................................................................................... 89
4.1 Review the performance of your business application against the Problem Definition
Statement and initial requirements...................................................................................... 89
4.2 Critically evaluate the strengths and weaknesses of your business application and
justify opportunities for improvement and further development. ...................................... 89
Gantt chart .................................................................................................................................... 91
References..................................................................................................................................... 92
Table of figures
Figure 1 Agile methodology ......................................................................................................... 21
Figure 2 Agile values ..................................................................................................................... 22
Figure 3 Four values of Agile ......................................................................................................... 22
Figure 4 12 Agile Principals .......................................................................................................... 23
Figure 5 Scrumban Methodology ................................................................................................. 24
Figure 6 Team Trail Head .............................................................................................................. 25
Figure 7 Development Life cycle .................................................................................................. 25
Figure 8 Order Purchase Process ................................................................................................. 33
Figure 9 Verify Order .................................................................................................................... 33
Figure 10 Check Credit ................................................................................................................. 34
Figure 11 SQL Server Management Studious............................................................................... 41
Figure 12........................................................................................................................................ 48
Figure 13........................................................................................................................................ 49
Figure 14........................................................................................................................................ 50
Figure 15........................................................................................................................................ 51
Figure 16........................................................................................................................................ 52
Figure 17........................................................................................................................................ 53
Figure 18 Use case Diagram .......................................................................................................... 55
Figure 19 UML Diagram ................................................................................................................ 56
Figure 20 splash screen ................................................................................................................. 57
Figure 21 Login Window............................................................................................................... 57
Figure 22 Main Menu ................................................................................................................... 58
Figure 23 Warehouse login .......................................................................................................... 59
Figure 24 add new products......................................................................................................... 60
Figure 25 add new customer ........................................................................................................ 62
Figure 26 Add new customer ....................................................................................................... 63
Figure 27 new order ..................................................................................................................... 65
Figure 28 Warehouse approval .................................................................................................... 66
Figure 29 Payments ....................................................................................................................... 69
Figure 30 payments ...................................................................................................................... 71
Activity 1Produce a Software Design Document by analysing a business-related
problem and deduce an appropriate solution including a set of initial
requirements
1.1 Explore a business related problem and produce a well-defined Problem definition
statement supported by a set of user and System requirements.
1.1.1 Problem statement of PCW
. PCW is in need of the order tracking system soon. The old paper work doesn’t eligible for the
increase in the popularity of the company. There too many problems arising form the old
paper work method and if it continues with the current popularity it will become a huge loss
to the company and the popularity and goodwill become useless. The efficiency of the work is
reducing due to the heavy work load to the employees.
1.1.1.1 User requirements.
• The customers should be able gain quick access to the products they order and going to
order.
• The order process should not take too long.
• The user can be able get the required documents straight from the system
1.1.1.2 System requirements.
• The system should be able to handle the traffic of the maximum uses.
• The system should be able to provide necessary source documents to the required parties
without taking too much time.
Agile Methodology and System Analysis
Figure 1 Agile methodology
Introduction: Agile Methodology
Among thousands and thousands of Software Development Methodologies in ever-changing
technology and software world, after the fall of Waterfall, Agile stands out for system analysis
projects and Software development life cycle (SDLC) analysis. "The literal meaning of Agile is
“Able to move quickly and easily", in terms of software development Agile would imply
“flexible” process to respond to changes quickly and the same is true, allowing a developer to
go back to a previous stage and carry out necessary changes there by refining the software
without much delay as compared to the convention plan driven Software development methods
However in terms of system analysis, I can’t agree more with the statement of “Agile is a
mindset defined by values, guided by principles, and manifested through many different
practices”
Figure 2 Agile values
Let’s take a look at principals of Agile Methodology which really eased some consequences of
industry frustration in the 1990s. At that time the software development models which were led
by the Waterfall model were not meeting the requirements and customers’ needs for on time
delivery or meeting the budget or making quick adjustments to the changes of the technology
and software.
Figure 3 Four values of Agile
Unlike linear Waterfall methodology, Agile methodology in system analysis focuses on
flexibility, continuous improvement,managing uncertainty and speed. The four values of Agile
methodology guaranteed to the clients on change is always welcomed, evolving requirements
can easily be adapted. Faster and high-quality delivery is highlight along with strong agile team
interaction, continuous feedback from users. Furthur more,, customers will have all the
opportunities to see the smaller chunk of work being delivered in the process, to share their
input, and to have a real impact on the end product without worrying about jargons from
developers or piles of documentation given to them as a whole in the very end of project before
system design and implementation. Besides the four values, we can’t ignore the 12 Agile
principles involved in Agile methodology as follows:
Figure 4 12 Agile Principals
Agile Scrum methodology VS Kanban method VS Scrumban
Figure 5 Scrumban Methodology
Scrum is an agile method for project management or framework used primarily for software
development projects.Its goal is to dramatically improve productivity in teams and to deliver
new software every 2-4 weeks. Agile Scrum methodology involves forming teams with
diversity, strong communicative teamwork, frequent feedbacks from clients, a lot of
participates of users etc.
Figure 6 Team Trail Head
Kanban is one of the most popular software development methodologies adopted by agile
teams today. Like Scrum, Kanban is a process designed to help teams work together more
effectively.However there are some differences that you can not ignore as an Agile lover.
Agile model for improving The Software (System) Development Life Cycle
Figure 7 Development Life cycle
When talking about system development life cycle (SDLC), we certainly mean a series of
stages or phases which provide a systematic model for the creation and management of a
software application.(Fig. 4). Additionally, as system analysts, we make a detailed plan after
problem analysis , solution requirement analysis and design analysis before the software
development processes such as implement, test, maintenance and replacement will take place.
There are several important development models in general use.In terms of what’s required of
the application, and how costs and resources are allocated, correctly applied model will enable
SDLC to keep all clients and users in a software project on the same page and to deliver work
without delay. A well-documented and performed SDLC can also ensure high levels of product
quality, application security, and management control. The most common models are listed as
follows:
1. Waterfall model : sequential, linear development model.It is the oldest SDLC model
following a straight line path from one phase of the process to another, as each completed
phase “waterfalls” into the next. A lot of delays at any stage can seriously hamper the
entire process.
2. V-shaped model: an extension of the waterfall model, featuring a testing round at each
development stage; (mainly focus on verification and validation);
3. The Big Bang Model: a higher-risk SDLC model which focuses mostly on the coding
stage, and places little emphasis on a system analysis.
4. Spiral model:the most flexible of the SDLC models, achieving software optimization
through a repetitive process where planning, design, building and test phases are run over
and over again, with little improvement or progress at each repetition.
5. Agile model (Figure 8): produces a succession of releases; allows a working phase to be
delivered very quickly. The testing of each release provides feedback for improving the
next release.Agel model has three main attributes: “ Software is developed in fact,
incremental cycles; Each version is tested to ensure product quality; It is used for
applications that must be completed in a critical time frame.
1.2 Determine any areas of risk related to the successful completion of your application.
1. Estimation and scheduling
•
The unique nature of individual software projects creates problems for developers and
managers in estimating and scheduling development time. Always monitor existing
projects so that you apply lessons learnt in the future.
2. Sudden growth in requirements
•
As a project progresses, issues that are not identified earlier can create a last-minute
hurdle to meeting deadlines. Try to think big early on in the project, and anticipate the
worst case or heaviest-use scenario.
3. Employee turnover
•
Every project has a number of developers working on it. When a developer leaves, he
or she may take critical information with him/her. This can delay, and sometimes derail
an entire project. Ensure you have resources where team members can collaborate
and share knowledge.
4. Breakdown of specification
•
During the initial phases of integration and coding, requirements might conflict.
Moreover, developers may find that even the specification is unclear or incomplete.
5. Productivity issues
•
On projects involving long timelines, developers tend to take things easy to begin with.
As a result, sometimes, they lose significant time to complete the project. Set a
realistic schedule, and stick to it.
6. Compromising on designs
In order to get stuck into the next ‘real’ tasks, developers tend to rush the design-process.
This is a waste of programming hours, as designing is the most critical part of software
development.
7. Gold plating
•
Developers sometimes like to show off their skills by adding unnecessary features. For
instance, a developer might add Flash to a basic login module to make it look ‘stylish’.
Again, this is a waste of programming hours.
8. Procedural risks
•
Day-to-day operational activities might hamper due to improper process
implementation, conflicting priorities, or a lack of clarity in responsibilities
9. Technical risks
•
Sometimes software development firms reduce the functionality of the software to
compensate for overruns pertaining to high budgets and scheduling. There is always a
conflict between achieving maximum functionality of the software and peak
performance. In order to compensate for excessive budget and schedule overruns,
companies sometimes reduce the functionality of the software.
10. Unavoidable risks
•
These include changes in government policy, the obsolescence of software or other
risks that cannot be controlled or estimated. As the field of software development
becomes more and more complex, the risks associated with it have intensified. It is
vital that development firms focus on strategic planning to mitigate such risks.
1.3 Analyse a business related problem using appropriate methods and produce a wellstructured Software Design Document that defines a proposed solution. Include relevant
details on requirements, system analysis, system design. (propose a suitable language)
1.3.1 Introduction:
The proposed PCW project will introduce a new way of tracking orders in a better mechanism
which will help not only keeping track of orders but also help in generating the reports and
maintaining the stock supply.
1.3.2 Purpose:
The purpose of this project is to deliver user friendly software which will be make the
company capable of handling thousands of orders daily and generate the reports to keep track
of company’s performance in the market.
1.3.3 Background:
When the companies keep track of daily orders on papers, it become difficult to manage the
records when the company grows. The orders increase and the employees find it difficult to
generate reports, counts etc for the orders. This project system will provide an software
solution to this problem and keep track of orders and reports online without errors.
1.3.4 Goals: The main goals of the system are listed as below:
• Receive the orders from the customer via various ways e.g. phone, fax, email, post or online
system and track the same on single platform
• Perform the verification of the customer’s order
• Generate an acknowledgment once the order is accepted
• Accept the credit card payments from the customers
• Generating final demands on certain conditions
• Generate the sales, orders, stock reports
• Imposing access level on the system to access the generated reports
1.3.5 System analysis: The purposed system with create the environment for the
company to use the interface to provide the input and get the output as per the
data provided
• System Inputs: The system will have the input data for the customers, orders and their
payment details.
• System Output: The system will generate acknowledgement per order. Along with
acknowledgement, reports will get generated by the system having details of orders made in
the company, billings and demands made in the business processes.
• System Actors: The system will handle different type of users in it. The access will be
controlled as per the user types. It will have access on the basis of below
users:
i.
Order Handling Clerk
II. Warehouse Operatives
III. Chief Accountant
IV. Production Manager
V. Admin Level User
1.3.6 Project Requirements: The system will have below requirements:
1.3.6.1 Functional requirements: The purposed system is expected to have below
requirements
1. Handling User Types and access level
The system will be able to handle different types of users in the systems. The logged in user
should only be able to user allowed functionality on reports. E.g. Admin user will be R.Praveen
10499 AD Project able to perform add, delete, update the reports whereas Order handling
clerk type user will only be able to view the reports
2. Sign-up and login
The system will provide the sign-up functionality the user type will be selected while signup
along with email address, password. Once sign-up, the user will be able to login after
providing the correct details.
3. Add new order
The Oder Handling Clerk user will be able to add the new orders which are received from
customers through telephone, email, fax, post etc. The user will provide the order details and
product details in the order which will be sent to Warehouse Operative user.
4. Acknowledgment per order
The new order will be verified by the warehouse operative; the system will generate an
acknowledgment will expect delivery date if the product is available in the stock and the order
will be saved in the database.
5. Acknowledgment for out of stock item
The new order will be verified by warehouse operative user and the product ordered is out of
stock, an acknowledgment will be generated stating that the product is out of stock along with
the date on which the product is expected to be restored in the stock.
6. Credit Check of customer
The order handling clerk user will perform the credit check of the new customer. If the
customer is worth with his credit limit, the order will be processed else the order will be
rejected by order handling clerk user.
7. Daily Orders Report Generation
The system will have the functionality to generate the daily report on the orders placed along
with billing information and final demands.
8. Generate invoice after product delivery Once the product has been delivered, the system
will generate an invoice for the customer having the order details and billing details in it.
9. Accept Payment
The system will make the order handling clerk capable of accepting the credit card payments
online.
10. Generate Demand
Once the order is delivered and invoice is generated. A demand will be generated if the billing
is not done within 30 days.
1.3.6.2 Non-functional Requirements:
Other than the above functional requirements, the system will have below non-functional
requirements in it:
1. Handling bulk records: The system should be able to handle bulk records without any
performance issue.
2. Security requirements: The access level will be imposed as per the user type. Only the
authorized user will be able to perform the required action on the reports.
3. Generating Acknowledgment performance time: Once the order is made, the system will
be able to generate the acknowledgment within 5 seconds. The acknowledgment generation
will be completed within 10 seconds
1.3.6.3 Software language and framework specifications:
The software will have below specifications:
Language: C#
Database: MYSQL
Framework: MVC
Supported OS: Windows
1.3.6.4 Design and Interface: The system will have below interface and design in
it: New order Interface:
Figure 8 Order Purchase Process
1.3.6.5 Verify Order: The Added order will be verified to check if the product is
available in the stock:
Figure 9 Verify Order
1.3.6.6 Check Credit and accept Credit Card Payment Interface:
This interface will have below stages in it:
Figure 10 Check Credit
Activity 2
LO2 Use design and development methodologies with tools and techniques
associated with the creation of a business application
2.1 Research the use of software development tools and techniques and identify any
suitable tool or technique that you may select for the development of this application.
Bootstrap
Bootstrap is the best HTML, CSS and JavaScript framework for any web developer. It will help
you quickly produce responsive, clean looking websites. It does this simply by providing you
with a ton of pre-built CSS and JavaScript for lists, navigation bars, forms and lots of other web
elements.
With Bootstrap you can focus more on the website you wanted, and spend less time wrestling
with some of the CSS issues, media queries, and cross-browser compatibility.
Since Bootstrap is basically just a collection of CSS and JavaScript files, you can always
customize any of it as much as you want. All you have to do is just to implement it and modify it
to your website features and needs.
History of Bootstrap
Bootstrap, originally named Twitter Blueprint, was developed by Mark Otto and Jacob Thornton
at Twitter as a framework to encourage consistency across internal tools. Before Bootstrap,
various libraries were used for interface development, which led to inconsistencies and a high
maintenance burden. According to Twitter developer Mark Otto:
"A super small group of developers and I got together to design and build a new internal tool and
saw an opportunity to do something more. Through that process, we saw ourselves build
something much more substantial than another internal tool. Months later, we ended up with an
early version of Bootstrap as a way to document and share common design patterns and assets
within the company.
After a few months of development by a small group, many developers at Twitter began to
contribute to the project as a part of Hack Week, a hackathonstyle week for the Twitter
development team. It was renamed from Twitter Blueprint to Bootstrap, and released as an open
source project on August 19, 2011. It has continued to be maintained by Mark Otto, Jacob
Thornton, and a small group of core developers, as well as a large community of contributors.
On January 31, 2012, Bootstrap 2 was announced. This release added the twelvecolumn grid
layout and responsive design components, as well as changes to many of the existing
components. The Bootstrap 3 release was announced on 19 August 2013, moving to a mobile
first approach and using a flat design.
On October 29, 2014, Mark Otto announced Bootstrap 4 was in development. The first alpha
version of Bootstrap 4 was deployed on August 19, 2015.
Features of bootstrap
Easy to use
Anybody with just basic knowledge of HTML and CSS can start using Bootstrap
Responsive features
Bootstrap's responsive CSS adjusts to phones, tablets, and desktops
Mobile-Friendly
Mobile-first approach: In Bootstrap 3, mobile-first styles are part of the core framework
Simple Integration
Bootstrap can be simply integrated along with distinct other platforms and frameworks, on
existing sites and new ones too and one more things you can also utilize particular elements
of Bootstrap along with your current CSS.
Pre-styled Components
Bootstrap approaches with pre-styled components for alerts, dropdowns, nav bars, etc.
Customizable Bootstrap
The Bootstrap can be customized as per the designs of your project.
Browser compatibility
Bootstrap is compatible with all modern browsers (Chrome, Firefox, Internet Explorer, Safari,
and Opera)
Great grid system
Bootstrap is built on responsive 12-column grids, layouts and components. Whether you need
a fixed grid or a responsive, it's only a matter of a few changes.
Bundled JavaScript plugins
The components such as drop down menu are made interactive with the numerous JavaScript
plugins bundled in the bootstrap package.
Extensive list of components
Whether you need drop down menus, pagination or alert boxes, Bootstrap has got your
covered. Some of the components pre styled are; Dropdowns, Button Groups, Navigation Bar,
Breadcrumbs, Labels & Badges, Alerts, Progress Bar, And many others.
Base styling for most HTML elements
A website has many different elements such as headings, lists, tables, buttons, forms, etc. The
HTML elements for which styles are provided are; Typography Code, Tables, Forms,
Buttons, Images, Icons
Good documentation
Not only does Bootstrap offer styling for almost every element a typical website or web
application requires, it also provides a great documentation with examples and demo that only
make it more easier for even someone new. (Source: (bootstrap-features-of-bootstrap))
C# Language
C# is a Windows programmer go-to language. It's the preferred language for any desktop or
web application that runs on a Windows computer. C# is a part of the ASP.NET framework, so
you'll hear it mentioned along with VB.NET. You have these two language options when you
decide to learn Windows platform development. If you prefer C-style language syntax, C# is
the direction you should go when learning Windows development.
History of C#
C# is one of the newer languages on the market. You'll run into plenty of JavaScript libraries
popping up in certain programming circles, but these aren't languages – they are add-on libraries
to the JavaScript language. Disregarding all of those JavaScript libraries, C# is one of the newest
languages developed by Microsoft.
Originally, Microsoft developed and deployed the ASP (Active Server Pages) language. This
language is now called Classic ASP, and its support has been discontinued. ASP let programmers
create VB-like scripts to develop dynamic web pages. These web pages ran on older Internet
Information Services (IIS) servers running Windows. Some Linux providers also supported
Classic ASP, but it was usually a non-standard way to create web pages.
In the late 1990s, Microsoft decided to create a language that would compete with Java. During
this time, Java was the most common language, and its popularity was rising. Classic ASP had
its place, but the software needed to create the product was a paid application. Java was used to
create web applications, and it was preferred among developers who understood C and C++.
In 2000, Microsoft released its first version of C# as a part of the .NET framework. VB.NET was
also an option, but VB.NET followed the standard Microsoft Visual Basic syntax while C# was
similar to Java, which is also a C-style language.
Initially, C# was not as popular as VB.NET. Since many Windows desktop applications were
written in Visual Basic and web applications were written in Classic ASP, the language of choice
for developers at the time was VB.NET. VB.NET was an easier language to migrate to when
changing to the newer framework. However, the language of choice started to shift as more
people realized the similarities between Java, C and C#.
The name given to C# was originally "Cool." Microsoft knew that it was working with a
language very close to C++, so they wanted to indicate that its new language was one step above
C++. Instead of naming the new language C+++, they decided to go with the name C#
(pronounced C sharp), which references the musical notation that a note should be higher in
pitch.
Through the years, C# finally gained traction as a preferred Microsoft language. What makes C#
different than most popular coding languages on the web is that the code is closed-source. Opensource coders claim that C# and other closed source languages are too difficult to work with, but
closed source has its advantages.
First, working with any Microsoft platforms is much easier with the company's own language
and frameworks. You could run open-source languages such as PHP or even Java on Microsoft
web servers, but it's much more cumbersome and includes more overhead than just using
Microsoft's natural language used in Windows applications. C# also works well with Microsoft's
SQL Server database backend. In most companies that run C#, the database choice is Microsoft
SQL Server. Both the language and the database work seamlessly together. You can also work
with open-source database solutions with C#, but it's more common to keep the platforms related
when working with high-end enterprise solutions.
Second, closed source applications could be considered more secure. If a hacker is able to gain
access to a web server with open-source coding, the hacker now has access to the entire source
code for the application. With C#, the language is compiled and DLLs stored on the web server.
If a hacker gains access to the web server, he only has compiled binary files. This still isn't a
guarantee that the hacker can gain access to the source code. There are plenty of decompilers on
the market, but it makes it much harder for a hacker to view the source code. The C# language
even lets you encrypt the password stored in the site's web.config file, which is where many of
the sites settings are found.
Another advantage of C# is that these sites are not the main target for hackers. Hackers prefer
out-of-the-box solutions such as WordPress and Joomla. These sites become targets, and are
much more easily scanned and breached.
Interested in learning more? Why not take an online class in C# Programming?
Finally, C# works well with the Visual Studio environment. Microsoft assumes that its code is
used by small and large application design shops. With larger shops, the need for collaboration
tools requires an environment that allows coders to check in, check out, merge, and roll back
code. The Visual Studio environment along with Team Foundation server gives developers this
option.
C# and ASP.NET in general have gone through a different style of coding. The original
framework required developers to work with web forms. Web forms are a framework that lets
the developer control all aspects and events of a page including when the page loaded, the way
elements rendered on the page, and when the page stopped loading. Developers could also
change the habits of a page that was unloaded from the server. These web forms remained the
standard style of .NET programming until a few years ago.
In 2009, Microsoft released an entirely new framework from which developers could create web
applications. The MVC (model-view-controller) pattern is a way for coders to create web
applications without the cumbersome way web forms required coders to control the way pages
load. MVC was a complete overhaul to the way coders were used to creating C# applications.
With MVC, the developer does not need to worry about the way a page loads or how it unloads.
Elements are not controlled through events, and they don't need rendering from the standard web
form interface. Instead, coders created models, views, and controllers. A model represents the
way a data object is laid out. A view is the HTML page (named CSHTML in MVC) displays on
the browser. The controller contains the business logic and code workflow for the frontend
design.
The MVC pattern of application programming is the current way developers
work with applications. Web forms are still found in some older, legacy
applications, but you won't see them as much as MVC. MVC is considered
the most powerful version of the .NET framework. It's also considered a
much more easily coded application. MVC also has a stronger foundation on
object-oriented programming (OOP). Other languages use the MVC pattern,
so it's useful to learn it to ensure that your skills can span several areas of
development.
SQL Server Management Studio
Figure 11 SQL Server Management Studious
SQL Server Management Studio(SSMS) is a software introduced by Microsoft used for managing
and administrating Microsoft SQL Server. It consists of many features and attributes that helps
working with the Microsoft Server. One of the most highlighted feature of SSMS is the Object
Explorer allowing the user to work upon any of the objects residing inside the server. SSMS
provides user with both the script editing and GUI platform for working with the objects in the
server simplifying the process as a whole.
Some of the features of SSMS comes from
•
Enterprise Manager
•
Query Analyzer
•
Analysis Manager
And not to forget the features in previous version of SQL Serve r is also included.
Furthermore, SSMS comes with many components with the single, integrated
environment.
Some of them are
•
Object Explorer: manage objects in SQL Server
•
Template Explorer: manage text files
•
Solution Explorer: manage administrative items like queries and scripts
SSMS operates only on the Windows Operating System. But, it can even be remotely connected
to Linux SQL Server Instances.
Introduction to C#
C# is a general-purpose, modern and object-oriented programming language pronounced as “C
sharp”. It was developed by Microsoft led by Anders Hejlsberg and his team within the .Net
initiative and was approved by the European Computer Manufacturers Association (ECMA) and
International Standards Organization (ISO). C# is among the languages for Common Language
Infrastructure and the current version of C# is version 7.2. C# is a lot similar to Java syntactically
and is easy for the users who have knowledge of C, C++ or Java.
A bit about .Net Framework
.Net applications are multi-platform applications and framework can be used from languages like
C++, C#, Visual Basic, COBOL etc. It is designed in a manner so that other languages can use it.
know more about .Net Framework
Why C#?
C# has many other reasons for being popular and in demand. Few of the reasons are mentioned
below:
1. Easy to start: C# is a high-level language so it is closer to other popular programming
languages like C, C++, and Java and thus becomes easy to learn for anyone.
2. Widely used for developing Desktop and Web Application: C# is widely used for
developing web applications and Desktop applications. It is one of the most popular
languages that is used in professional desktop. If anyone wants to create Microsoft apps,
C# is their first choice.
3. Community:The larger the community the better it is as new tools and software will be
developing to make it better. C# has a large community so the developments are done to
make it exist in the system and not become extinct.
4. Game Development: C# is widely used in game development and will continue to
dominate. C# integrates with Microsoft and thus has a large target audience. The C#
features such as Automatic Garbage Collection, interfaces, object-oriented, etc. make C# a
popular game developing language.
Beginning with C# programming:
Finding a Compiler:
There are various online IDEs such as GeeksforGeeks ide, CodeChef ide etc. which can be used
to run C# programs without installing.
Windows: Since the C# is developed within .Net framework initiative by Microsoft, it provide
various IDEs to run C# programs: Microsoft Visual Studio, Visual Studio Express, Visual Web
Developer
Linux: Mono can be used to run C# programs on Linux.
Programming in C#:
Since the C# is a lot similar to other widely used languages syntactically, it is easier to code and
learn in C#.
Programs can be written in C# in any of the widely used text editors like Notepad++, gedit, etc.
or on any of the compilers. After writing the program save the file with the extension .cs.
Explanation:
1. Comments: Comments are used for explaining code and are used in similar manner as in Java
or C or C++. Compilers ignore the comment entries and does not execute them. Comments can
be of single line or multiple lines.
Single line Comments:
Syntax:
// Single line comment
Multi line comments:
Syntax:
/* Multi line comments*/
2. using System: using keyword is used to include the System namespace in the program.
namespace declaration: A namespace is a collection of classes. The Hello World App
namespace contains the class Helloworld.
3. class: The class contains the data and methods to be used in the program. Methods define the
behavior of the class. Class Helloworld has only one method Main similar to JAVA.
2.2 Compare the differences between various software development tools and techniques
researched. Justify your preferred selection and preferred software development
methodology.
2.2.1 The Agile Software Development Method Uses an Iterative and TeamBased Approach
One main difference between the traditional and agile methodologies is the sequence of the
phases in which the software development project is completed. The traditional method uses
a linear approach, where the stages of the software development process must be completed
in a sequential order. This means that a stage must be completed before the next one begins.
These stages usually comprise the following:
1. Requirements gathering and documentation
2. System design
3. Code and unit testing
4. System testing
5. User acceptance testing
6. Bug fixes
7. Product delivery
On the other hand, the agile methodology uses an iterative and team-based approach. Its
main objective is to quickly deliver the application with complete and functional components.
Instead of completing the software development tasks in sequence, they are completed in
sprints that run from around one to four weeks and where a list of deliverables is completed
in each sprint. The tasks that do not get completed within the sprint are then reprioritized and
included in future sprints. This also means that the different stages of the software
development life cycle can be revisited as needed.
The typical agile approach involves the following stages:
1. Project initiation
2. Sprint planning
3. Demos
With the traditional method, the details of the entire project have been visualized and defined
before the project starts. In contrast, the agile methodology allows for more flexibility in that
changes can more easily be made even after the project starts. It is best employed if the scope
of the project cannot be clearly defined in advance. This also means that making unplanned
software development changes with the traditional method is costlier than with agile.
The Agile Method Requires More Customer Involvement Customers are highly involved in the
early stages of the software development process when employing the traditional
methodology. More specifically, their input is needed during the requirements gathering
phase, as they must provide a detailed description of what their requirements are with
regards to the software application to be developed and how they envision it to function.
(dzone.com, 2020)
However, they have limited involvement after the software development process starts, aside
from attending status meetings, doing reviews, and providing approvals. The Admin usually
get to see the product in its entirety after a software development life cycle is completed.
In contrast, the customers are highly involved in every stage when employing the agile
development process. They can review the application at every phase and make suggestions
for improvement. As a result, the customers are more engaged in the entire software
development process, in turn ensuring that they are satisfied with the finished product. The
Traditional Method Has a More Formal Documentation and Review Process Each phase of the
development process is properly documented and reviewed when using the traditional
approach. On the other hand, due to the quick delivery time required with the agile method,
changes are usually made directly on the code, with the developers just adding comments and
annotations. (dzone.com, 2020)
2.3 Justify the tools and techniques chosen to realize a custom built website. Justify your
preferred selection of tools and techniques in deducing an appropriate solution to a
business related problem.
2.3.1 Browsers
Browsers are the interpreters of the web. They request information and then when they
receive it, they show us on the page in a format we can see and understand.
Google Chrome - Currently, the most popular browser brought to you by Google
Safari - Apple’s web browser
Firefox - Open-source browser supported by the Mozilla Foundation
Internet Explorer - Microsoft’s browser. You will most often hear web developers complain
about this one
Source:(Differential.com, 2020)
2.3.4 Programming Languages Programming languages are ways to communicate to
computers and tell them what to do. There are many different programming languages just
like there are many different lingual languages (English, Spanish, French, Chinese, etc). One is
not better than the other. Developers typically are just proficient at a couple so they promote
those more than others. Below are just some of the languages and links to their homepages
1. Javascript - used by all web browsers, Meteor, and lots of other frameworks
2. Coffee script - is a kind of “dialect” of Javascript. It is viewed as simpler and easier on your
eyes as a developer but it complies (converts) back into Javascript
3. Python -used by the Django framework and used in a lot of mathematical calculations
4. Ruby - used by the Ruby on Rails framework
5. PHP - used by Wordpress
6. Go - newer language, built for speed.
7. Objective-C - the programming language behind iOS (your iPhone), led by Apple
8. Swift - Apple’s newest programming language
9. Java - Used by Android (Google) and a lot of desktop applications.
Activity 3
3.1 Create a formal presentation that effectively reviews your business
application, problem definition statement, proposed solution and the
development strategy. Use this presentation as a part of a peerreview and
document any feedback given.
Figure 12
Figure 13
[Space left intentionally]
Figure 14
[Space left intentionally]
Figure 15
[Space left intentionally]
Figure 16
[Space left intentionally]
Figure 17
[Space left intentionally]
[Space left intentionally]
3.2 Develop a functional business application based on a specific Software
Design Document with supportive evidence for using the preferred tools,
techniques and methodologies.
Use case Diagram
Figure 18 Use case Diagram
UML Diagram
Figure 19 UML Diagram
[Space left intentionally]
As in the system when the user first opens the application as for the first screen this splash
screen will appear for 30 seconds and the splash screen as follow
Figure 20 splash screen
After the splash screen the login window will appear as follow
Login
User Type
Figure 21 Login Window
Password
Exit
In the login page you can select the user type and enter the password and click login button
to login and the user name will be displayed in the main menu window and for the ware
house operator and accountant will have less access in the system for them the admin have
given limited access to the system the ware house operator can’t access the accountant page
and the accountant can’t access the warehouse window
Figure 22 Main Menu
User Name
Ware house Button
Disabled
Figure 23 Warehouse login
Ware house Login
Admin Login
Full System Access
As for the admin can access all the actions in the main menu window admin can add new
products add new customers , new orders , ware house approval account access and also view
reports
Add new products
Product details
Product image
Add button
Browse Button
Figure 24 add new products
Main menu Button
In this window you can add new products to the data base just fill in the blanks and select the
product image and click on the add product button to add product to the system and a
message box will appear that says product added successfully
And press the main menu button to navigate to the Home page .
[Space left intentionally]
Add new Customer
Customer details
Customer image
Add Button
Browse button
Figure 25 add new customer
In this window you can add new customers to the system all you need to do is to fill in the
fields in the form and select a picture of that customer and click on the add customer button
to add the customer to the system
[Space left intentionally]
Figure 26 Add new customer
[Space left intentionally]
New Job
Select Option
Order id
Product
details
Customer
details
Button
Warehouse
approval
Credit worthy
Delivery Date
In this window you can add new job transition first of all you may need to select the order
receiving method and the job id will automatically generated all you need to do is to fill in the
product id textbox and the product details will be automatically generated by the system after
that enter the customer id in the customer id text box and the customer details will be
generated automatically by the system as follow.
Figure 27 new order
After verifying the details click on the approve button to give warehouse approval and a
message box will appear that saying warehouse approved as follow
[Space left intentionally]
Figure 28 Warehouse approval
After the ware house approval this order is moved into the chief accountant to get approved.
The accountant will check customer whether he is credit worthy or not as follow
[Space left intentionally]
Accountant
In this window all you need to do is to just enter the order id in the order id text box and all
other details will be automatically generated
[Space left intentionally]
To check is the customer credit worthy click on the button as above and a message box will
appear and say approval success . so now warehouse and the accountant verification has been
completed so next is the payment as for the payment there can be cash payment or the card
payment either one transaction can be done so the payment page as follow
[Space left intentionally]
Payments
Order Id
Payment
Type
Cash
payments
Order status
Figure 29 Payments
Pay with cash button
Pay with card button
In this form first of all user is need select the transaction method if the user select cash
payments the card payments group box and its aliments will be un editable as follow
[Space left intentionally]
as you can see card payment group is un editable similarly if the user select card payments the
cash payment group will be visible false and the card payment panel will be visible true as
follow
[Space left intentionally]
Figure 30 payments
After selecting the payment method enter the order id in the text box and the order details
will be automatically generated by the system .
And enter the require details for the payment and click on the pay with cash or either by card
to complete the transaction process
[Space left intentionally]
Background code:
Login
using
using
using
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Threading.Tasks;
System.Windows.Forms;
System.Data.SqlClient;
namespace PcWorld_2
{
public partial class Login : Form
{
public static string passingtext;
public Login()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void button1_Click(object sender, EventArgs e)
{
passingtext = comboBox1.Text;
SqlConnection con = new SqlConnection(@"Data Source=DESKTOPILN8C1S\SQLEXPRESS;Initial Catalog=PcWorld2;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter("select count(*)from Users where
user_name='" + comboBox1.Text + "'and password='" + textBox1.Text + "'", con);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows[0][0].ToString() == "1")
{
if (comboBox1.Text == "Order_handling_Cleark")
{
Form1 f1 = new Form1();
f1.Show();
this.Hide();
}
else if (comboBox1.Text == "Warehouse_Operator")
{
Form1 f1 = new Form1();
f1.Show();
this.Hide();
}
else if (comboBox1.Text == "Production_Manager")
{
Form1 f1 = new Form1();
f1.Show();
this.Hide();
}
else if (comboBox1.Text == "Chief_Accountant")
{
Form1 f1 = new Form1();
f1.Show();
this.Hide();
}
}
}
public static int i = 0;
private void timer1_Tick(object sender, EventArgs e)
{
i++;
if (i == 85)
{
this.Dispose(false);
Form2 f2 = new Form2();
f2.Show();
}
}
}
}
[Space left intentionally]
Add new products
using
using
using
using
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Threading.Tasks;
System.Windows.Forms;
System.Data.SqlClient;
System.IO;
namespace PcWorld_2
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
}
string imglocation = "";
private void button3_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
this.Hide();
}
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "png files (*.png)|*.png|jpg
files(*.jpg)|*.jpg|allfiles(*.*)|*.*";
if (dialog.ShowDialog() == DialogResult.OK)
{
imglocation = dialog.FileName.ToString();
pictureBox1.ImageLocation = imglocation;
textBox1.Text = string.Format("{0}", dialog.FileName);
}
}
private void button2_Click(object sender, EventArgs e)
{
SqlConnection sqlcon = new SqlConnection(@"Data Source=DESKTOPILN8C1S\SQLEXPRESS;Initial Catalog=PcWorld2;Integrated Security=True");
try
{
byte[] image = null;
pictureBox1.ImageLocation = textBox1.Text;
string filepath = textBox1.Text;
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
image = br.ReadBytes((int)fs.Length);
string sql = "INSERT INTO Product3 VALUES ('" + textBox2.Text + "','" +
textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text +
"','" + textBox7.Text + "',@imgg,'" + textBox8.Text + "')";
SqlDataAdapter sda = new SqlDataAdapter(sql, sqlcon);
if (sqlcon.State != ConnectionState.Open)
sqlcon.Open();
SqlCommand cmd = new SqlCommand(sql, sqlcon);
cmd.Parameters.Add(new SqlParameter("@imgg", image));
int x = cmd.ExecuteNonQuery();
sqlcon.Close();
MessageBox.Show(x.ToString() + " Product Added Sucessfully");
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
textBox5.Text = "";
textBox6.Text = "";
textBox7.Text = "";
textBox8.Text = "";
}
catch (Exception x)
{
MessageBox.Show(x.Message);
}
finally
{
if (sqlcon.State == ConnectionState.Open)
{
sqlcon.Close();
}
}
}
}
}
[Space left intentionally]
Add new Customer
using
using
using
using
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Threading.Tasks;
System.Windows.Forms;
System.Data.SqlClient;
System.IO;
namespace PcWorld_2
{
public partial class Form5 : Form
{
public Form5()
{
InitializeComponent();
}
string imglocation = "";
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "png files (*.png)|*.png|jpg
files(*.jpg)|*.jpg|allfiles(*.*)|*.*";
if (dialog.ShowDialog() == DialogResult.OK)
{
imglocation = dialog.FileName.ToString();
pictureBox1.ImageLocation = imglocation;
textBox1.Text = string.Format("{0}", dialog.FileName);
}
}
private void button2_Click(object sender, EventArgs e)
{
SqlConnection sqlcon = new SqlConnection(@"Data Source=DESKTOPILN8C1S\SQLEXPRESS;Initial Catalog=PcWorld2;Integrated Security=True");
try
{
byte[] image = null;
pictureBox1.ImageLocation = textBox1.Text;
string filepath = textBox1.Text;
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
image = br.ReadBytes((int)fs.Length);
string sql = "INSERT INTO Customer VALUES ('" + textBox2.Text + "','" +
textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text +
"',@imgg)";
SqlDataAdapter sda = new SqlDataAdapter(sql, sqlcon);
if (sqlcon.State != ConnectionState.Open)
sqlcon.Open();
SqlCommand cmd = new SqlCommand(sql, sqlcon);
cmd.Parameters.Add(new SqlParameter("@imgg", image));
int x = cmd.ExecuteNonQuery();
sqlcon.Close();
MessageBox.Show(x.ToString() + " Customer Added Sucessfully");
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
textBox5.Text = "";
textBox6.Text = "";
}
catch (Exception x)
{
MessageBox.Show(x.Message);
}
finally
{
if (sqlcon.State == ConnectionState.Open)
{
sqlcon.Close();
}
}
}
}
}
[Space left intentionally]
New order
using
using
using
using
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Threading.Tasks;
System.Windows.Forms;
System.Data.SqlClient;
System.IO;
namespace PcWorld_2
{
public partial class Form6 : Form
{
public Form6()
{
InitializeComponent();
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
string connection = @"Data Source=DESKTOP-ILN8C1S\SQLEXPRESS;Initial
Catalog=PcWorld2;Integrated Security=True";
SqlConnection con = new SqlConnection(connection);
con.Open();
SqlCommand cmd = new SqlCommand("Select *from Product3 where Product_id like
'%" + textBox2.Text + "%'", con);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adp.Fill(dt);
dataGridView1.DataSource = dt;
textBox3.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
textBox4.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
textBox5.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
textBox6.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
textBox7.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();
textBox8.Text = dataGridView1.CurrentRow.Cells[7].Value.ToString();
con.Close();
SqlCommand cmd1 = new SqlCommand(@"SELECT image
Product_id='" + textBox2.Text + "'", con);
cmd1.CommandType = CommandType.Text;
SqlDataAdapter adp1 = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adp1.Fill(ds, "image");
try
{
if (con.State == ConnectionState.Closed)
con.Open();
FROM Product3 WHERE
if (ds.Tables[0].Rows.Count > 0)
{
if (ds.Tables[0].Rows[0][0] != System.DBNull.Value)
{
// byte[] photo_aray = (byte[])ds.Tables[0].Rows[0][2];
//System.Drawing.ImageConverter converter = new
System.Drawing.ImageConverter();
//Image img = (Image)converter.ConvertFrom(photo_aray);
string s = (string)ds.Tables[0].Rows[0][2];
byte[] data = System.Text.Encoding.ASCII.GetBytes(s);
MS = new MemoryStream(data);
pictureBox1.Image = Image.FromStream(MS);
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.Refresh();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void textBox9_TextChanged(object sender, EventArgs e)
{
}
private void textBox12_TextChanged_1(object sender, EventArgs e)
{
string connection2 = @"Data Source=DESKTOP-ILN8C1S\SQLEXPRESS;Initial
Catalog=PcWorld2;Integrated Security=True";
SqlConnection con2 = new SqlConnection(connection2);
con2.Open();
SqlCommand cmd2 = new SqlCommand("Select *from Customer where customer_id
like '%" + textBox12.Text + "%'",con2);
SqlDataAdapter adp2 = new SqlDataAdapter(cmd2);
DataTable dt2 = new DataTable();
adp2.Fill(dt2);
dataGridView2.DataSource = dt2;
con2.Close();
textBox10.Text = dataGridView2.CurrentRow.Cells[1].Value.ToString();
textBox11.Text = dataGridView2.CurrentRow.Cells[2].Value.ToString();
textBox9.Text = dataGridView2.CurrentRow.Cells[3].Value.ToString();
textBox1.Text = dataGridView2.CurrentRow.Cells[4].Value.ToString();
SqlCommand cmd3 = new SqlCommand(@"SELECT image
customer_id='" + textBox12.Text + "'",con2);
cmd3.CommandType = CommandType.Text;
FROM Customer WHERE
SqlDataAdapter adp3 = new SqlDataAdapter(cmd3);
DataSet ds3 = new DataSet();
adp3.Fill(ds3, "image");
try
{
if (con2.State == ConnectionState.Closed)
con2.Open();
if (ds3.Tables[0].Rows.Count > 0)
{
if (ds3.Tables[0].Rows[0][0] != System.DBNull.Value)
{
// byte[] photo_aray = (byte[])ds3.Tables[0].Rows[0][2];
//System.Drawing.ImageConverter converter = new
System.Drawing.ImageConverter();
//Image img = (Image)converter.ConvertFrom(photo_aray);
pictureBox2.Image = Image.FromStream(MS);
pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox2.Refresh();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void textBox2_TextChanged_1(object sender, EventArgs e)
{
string connection = @"Data Source=DESKTOP-ILN8C1S\SQLEXPRESS;Initial
Catalog=PcWorld2;Integrated Security=True";
SqlConnection con = new SqlConnection(connection);
con.Open();
SqlCommand cmd = new SqlCommand("Select *from Product3 where Product_id like
'%" + textBox2.Text + "%'", con);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adp.Fill(dt);
// dataGridView1.DataSource = dt;
dataGridView1.DataSource = dt;
con.Close();
textBox3.Text
textBox4.Text
textBox5.Text
textBox6.Text
textBox7.Text
textBox8.Text
=
=
=
=
=
=
dataGridView1.CurrentRow.Cells[1].Value.ToString();
dataGridView1.CurrentRow.Cells[2].Value.ToString();
dataGridView1.CurrentRow.Cells[3].Value.ToString();
dataGridView1.CurrentRow.Cells[4].Value.ToString();
dataGridView1.CurrentRow.Cells[5].Value.ToString();
dataGridView1.CurrentRow.Cells[7].Value.ToString();
SqlCommand cmd1 = new SqlCommand(@"SELECT image
Product_id='" + textBox2.Text + "'", con);
FROM Product3 WHERE
cmd1.CommandType = CommandType.Text;
SqlDataAdapter adp1 = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adp1.Fill(ds, "image");
try
{
if (con.State == ConnectionState.Closed)
con.Open();
if (ds.Tables[0].Rows.Count > 0)
{
if (ds.Tables[0].Rows[0][0] != System.DBNull.Value)
{
byte[] photo_aray = (byte[])ds.Tables[0].Rows[0][2];
System.Drawing.ImageConverter converter = new
System.Drawing.ImageConverter();
Image img = (Image)converter.ConvertFrom(photo_aray);
pictureBox1.Image = img;// Image.FromStream(mst);
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.Refresh();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void Form6_Load(object sender, EventArgs e)
{
try
{
string connection = @"Data Source=DESKTOP-ILN8C1S\SQLEXPRESS;Initial
Catalog=PcWorld2;Integrated Security=True";
SqlConnection con = new SqlConnection(connection);
con.Open();
textBox1.Enabled = false;
SqlCommand getmax = new SqlCommand("select max (order_id)from warehouse",
con);
int maxno = Convert.ToInt32(getmax.ExecuteScalar());
textBox13.Text = maxno.ToString();
textBox13.Text = (maxno + 1).ToString();
con.Close();
}
catch (SqlException x)
{
MessageBox.Show(x.Message);
}
// TODO: This line of code loads data into the 'pcWorld2DataSet2.Customer'
table. You can move, or remove it, as needed.
this.customerTableAdapter.Fill(this.pcWorld2DataSet2.Customer);
// TODO: This line of code loads data into the 'pcWorld2DataSet1.Users'
table. You can move, or remove it, as needed.
this.usersTableAdapter.Fill(this.pcWorld2DataSet1.Users);
// TODO: This line of code loads data into the 'pcWorld2DataSet.Product3'
table. You can move, or remove it, as needed.
this.product3TableAdapter.Fill(this.pcWorld2DataSet.Product3);
}
public MemoryStream MS { get; set; }
private void button1_Click(object sender, EventArgs e)
{
string date;
date = dateTimePicker1.Value.Date.ToString();
textBox14.Text = "Approved";
string connection = @"Data Source=DESKTOP-ILN8C1S\SQLEXPRESS;Initial
Catalog=PcWorld2;Integrated Security=True";
SqlConnection con = new SqlConnection(connection);
con.Open();
string insert = "insert into warehouse values ('" + textBox13.Text + "','" +
comboBox1.Text + "','" + textBox2.Text + "','" + textBox12.Text + "','" + textBox14.Text
+ "','" + textBox15.Text + "','" + date + "') ";
SqlCommand cmd = new SqlCommand(insert, con);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("WareHouse Approved", "Operater", MessageBoxButtons.OK,
MessageBoxIcon.Information);
Form2 f2 = new Form2();
f2.Show();
this.Hide();
}
}
}
[Space left intentionally]
Accountant
using
using
using
using
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Threading.Tasks;
System.Windows.Forms;
System.Data.SqlClient;
System.IO;
namespace PcWorld_2
{
public partial class Form7 : Form
{
public Form7()
{
InitializeComponent();
}
private void groupBox1_Enter(object sender, EventArgs e)
{
}
private void Form7_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'pcWorld2DataSet5.Customer'
table. You can move, or remove it, as needed.
this.customerTableAdapter.Fill(this.pcWorld2DataSet5.Customer);
// TODO: This line of code loads data into the 'pcWorld2DataSet4.Product3'
table. You can move, or remove it, as needed.
this.product3TableAdapter.Fill(this.pcWorld2DataSet4.Product3);
// TODO: This line of code loads data into the 'pcWorld2DataSet3.warehouse'
table. You can move, or remove it, as needed.
this.warehouseTableAdapter.Fill(this.pcWorld2DataSet3.warehouse);
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
string connection = @"Data Source=DESKTOP-ILN8C1S\SQLEXPRESS;Initial
Catalog=PcWorld2;Integrated Security=True";
SqlConnection con = new SqlConnection(connection);
con.Open();
SqlCommand cmd = new SqlCommand("Select *from warehouse where order_id like
'%" + textBox1.Text + "%'", con);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adp.Fill(dt);
dataGridView1.DataSource = dt;
textBox2.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
textBox3.Text
textBox4.Text
textBox5.Text
textBox6.Text
textBox7.Text
con.Close();
=
=
=
=
=
dataGridView1.CurrentRow.Cells[2].Value.ToString();
dataGridView1.CurrentRow.Cells[3].Value.ToString();
dataGridView1.CurrentRow.Cells[4].Value.ToString();
dataGridView1.CurrentRow.Cells[5].Value.ToString();
dataGridView1.CurrentRow.Cells[6].Value.ToString();
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
string connection = @"Data Source=DESKTOP-ILN8C1S\SQLEXPRESS;Initial
Catalog=PcWorld2;Integrated Security=True";
SqlConnection con = new SqlConnection(connection);
con.Open();
SqlCommand cmd = new SqlCommand("Select *from Product3 where Product_id like
'%" + textBox3.Text + "%'", con);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adp.Fill(dt);
dataGridView2.DataSource = dt;
textBox8.Text = dataGridView2.CurrentRow.Cells[1].Value.ToString();
textBox9.Text = dataGridView2.CurrentRow.Cells[2].Value.ToString();
textBox10.Text = dataGridView2.CurrentRow.Cells[3].Value.ToString();
textBox11.Text = dataGridView2.CurrentRow.Cells[4].Value.ToString();
textBox12.Text = dataGridView2.CurrentRow.Cells[5].Value.ToString();
textBox13.Text = dataGridView2.CurrentRow.Cells[7].Value.ToString();
con.Close();
}
private void textBox4_TextChanged(object sender, EventArgs e)
{
string connection = @"Data Source=DESKTOP-ILN8C1S\SQLEXPRESS;Initial
Catalog=PcWorld2;Integrated Security=True";
SqlConnection con = new SqlConnection(connection);
con.Open();
SqlCommand cmd = new SqlCommand("Select *from Customer where customer_id like
'%" + textBox4.Text + "%'", con);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adp.Fill(dt);
dataGridView3.DataSource = dt;
textBox14.Text
textBox15.Text
textBox16.Text
textBox17.Text
con.Close();
=
=
=
=
dataGridView3.CurrentRow.Cells[1].Value.ToString();
dataGridView3.CurrentRow.Cells[2].Value.ToString();
dataGridView3.CurrentRow.Cells[3].Value.ToString();
dataGridView3.CurrentRow.Cells[4].Value.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
string connection = @"Data Source=DESKTOP-ILN8C1S\SQLEXPRESS;Initial
Catalog=PcWorld2;Integrated Security=True";
SqlConnection con = new SqlConnection(connection);
con.Open();
SqlCommand cmd = new SqlCommand("Select *from Credit where customer_id
like '%" + textBox4.Text + "%'", con);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adp.Fill(dt);
con.Close();
if (dt.Rows.Count >= 1)
{
MessageBox.Show("Customer Already Have a Creadit to pay ",
"Operater", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
textBox18.Text = "Approved";
con.Open();
string insert = "insert into Approved_orders values ('" +
textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text +
"','" + textBox5.Text + "','" + textBox18.Text + "','" + textBox7.Text + "') ";
SqlCommand cmd1 = new SqlCommand(insert, con);
cmd1.ExecuteNonQuery();
con.Close();
MessageBox.Show("Approval Success", "Operater", MessageBoxButtons.OK,
MessageBoxIcon.Information);
Form8 f8 = new Form8();
f8.Show();
this.Hide();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
Payments
using
using
using
using
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Threading.Tasks;
System.Windows.Forms;
System.Data.SqlClient;
System.IO;
namespace PcWorld_2
{
public partial class Form8 : Form
{
public Form8()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
string connection = @"Data Source=DESKTOP-ILN8C1S\SQLEXPRESS;Initial
Catalog=PcWorld2;Integrated Security=True";
SqlConnection con = new SqlConnection(connection);
con.Open();
SqlCommand cmd = new SqlCommand("Select *from Approved_orders where order_id
like '%" + textBox1.Text + "%'", con);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adp.Fill(dt);
dataGridView1.DataSource = dt;
textBox2.Text
textBox3.Text
textBox4.Text
textBox5.Text
textBox6.Text
textBox7.Text
con.Close();
=
=
=
=
=
=
dataGridView1.CurrentRow.Cells[1].Value.ToString();
dataGridView1.CurrentRow.Cells[2].Value.ToString();
dataGridView1.CurrentRow.Cells[3].Value.ToString();
dataGridView1.CurrentRow.Cells[4].Value.ToString();
dataGridView1.CurrentRow.Cells[5].Value.ToString();
dataGridView1.CurrentRow.Cells[6].Value.ToString();
}
private void Form8_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the
'pcWorld2DataSet6.Approved_orders' table. You can move, or remove it, as needed.
this.approved_ordersTableAdapter.Fill(this.pcWorld2DataSet6.Approved_orders);
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.Text == "Cash payment")
{
textBox14.ReadOnly = true;
textBox11.ReadOnly = true;
textBox12.ReadOnly = true;
textBox13.ReadOnly = true;
comboBox2.Visible = false;
comboBox3.Visible = false;
comboBox4.Visible = false;
}
else
{
textBox8.ReadOnly = true;
textBox9.ReadOnly = true;
textBox10.ReadOnly = true;
textBox14.ReadOnly = false;
textBox11.ReadOnly = false;
textBox12.ReadOnly = false;
textBox13.ReadOnly = false;
comboBox2.Visible = true;
comboBox3.Visible = true;
comboBox4.Visible = true;
}
}
private void button1_Click(object sender, EventArgs e)
{
string connection = @"Data Source=DESKTOP-ILN8C1S\SQLEXPRESS;Initial
Catalog=PcWorld2;Integrated Security=True";
SqlConnection con = new SqlConnection(connection);
con.Open();
string insert = "insert into Approved_orders values ('" + textBox1.Text +
"','" + textBox8.Text + "','" + textBox9.Text + "','" + textBox10.Text + "') ";
SqlCommand cmd1 = new SqlCommand(insert, con);
cmd1.ExecuteNonQuery();
con.Close();
MessageBox.Show("Payment Success", "Operater", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
}
}
3.3 Evaluate any new insights, ideas or potential improvements to your
system and justify the reasons for including/not including them as a part of
this business application.
Apart from the functions requested in the scenario there can be more features we can include
in the proposed system .
1. Online ordering by the customers. By this customer don’t have to come to the physical
place to order and buy the product.
2. Invoices can be sent to the customer by e-mail. From this, dealing with paper is fully
reduced and the customers will be able to review their invoices at home or wherever they are.
3. Thee can be a customer profile section where customers can; By implementing this
customer can be able to monitor what they have ordered and when will they be able to collect
those from the PCW.
a. View their profile.
b. Order products.
c. View newly added products
4.Admin can have access to almost entire system to go through and track the company’s
status. By thus manager can know how much the company performs in specific time periods.
[Space left intentionally]
Activity 4
LO4 Evaluate the performance of a business application against its Software
Design Document and initial requirements
4.1 Review the performance of your business application against the Problem Definition
Statement and initial requirements.
The performance of the application developed will diminish the problems stated in the
problem definition statement and all the initial requirements are covered. This
implementation will be a huge upgrade to the current system of order tracking.
4.2 Critically evaluate the strengths and weaknesses of your business application and
justify opportunities for improvement and further development.
Order tracking system refers to a system which provides information about the status of the
order placed by a consumer. This particular system facilitates the customer's effort in
inquiring the position of their order at any given point of time. It provides detailed
information with respect to the journey of a product from the warehouse to its customer.
With the advent of technology, the traditional paper-based system of keeping a track of the
orders has been substituted by the modern online order tracking mechanism. PC world (PCW)
wants to shift from the conventional mode of tracking order to online order tracking system.
The company has contracted with a software consultant company to develop an app for the
new order tracking system. The potential risks involved in the completion of the development
of the application is enumerated in the explanation part.
Explanation:
Order tracking system refers to a system which provides insights into the status of the order
placed by a consumer. This particular system facilitates the customer's effort in inquiring as to
where their order is at any given point of time. Till the order is delivered to the doorsteps of
the customers they can track their order With the advent of technology, the traditional paperbased system of keeping a track of the orders has been substituted by the modern online
order tracking mechanism. PC world (PCW) wants to shift from the conventional mode of
tracking order to online order tracking system. The company has contracted with a software
consultant company to develop an app for the new order tracking system.
With the sudden shift, there arises risks with respect to the successful implementation of the
application (order tracking system).
1. The new system requires visibility across the various systems and processes. The
transparency must now be manifested online. The people handling the system might not be
efficient enough to handle the same.
2. Earlier, the order tracking system was based on paper tracking. The company might not
have professionals who are adept at operating the new app developed for tracking orders.
They might not know how to operate the same on a computer.
3. The company might even face the paucity of professionals to operate the new order
tracking system. There might arise the need to hire more people who have proper training to
operate the new online tracking system in order to work efficiently.
Therefore, the company should have these risks in contemplation before rolling out the new
app for tracking orders
[Space left intentionally]
Gantt chart
References.
Writer, S. (2020). Top 10 Software Development Risks. [online] ITProPortal. Available at:
https://www.itproportal.com/2010/06/14/top-ten-software-development-risks/ [Accessed 29
June. 2020].
dzone.com. (2020). Traditional vs. Agile Software Development Method: Which One is Right
for Your Project? - DZone Agile. [online] Available at: https://dzone.com/articles/traditionalvs-agile-software-development-method-w [Accessed 20 July. 2020].
Differential.com. (2020). 14 Technologies Every Web Developer Should Be Able to Explain.
[online] Available at: https://www.differential.com/posts/14-technologiesevery-webdeveloper-should-be-able-to-explain [Accessed 29 July. 2020].
bootstrap-features-of-bootstrap. n.d. https://www.sitesbay.com/bootstrap/bootstrap-featuresof-bootstrap.
Download