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.