





























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
An overview of algorithms and their importance in problem-solving within the context of software development. It defines algorithms, discusses their different types (selection, sequence, and looping constructs), and outlines the key characteristics of algorithms, such as exactness, finiteness, and independence. The document also highlights the significance of understanding algorithms for programmers, as it enables them to solve problems more efficiently and effectively. Additionally, it introduces the software development life cycle (sdlc) and its various models, emphasizing the importance of testing and quality assurance in the software development process. Several examples and illustrations to demonstrate the practical application of algorithms in programming, particularly in the context of a virtual book library management system. Overall, this document serves as a comprehensive guide to understanding the role of algorithms in software development and problem-solving.
Typology: Schemes and Mind Maps
1 / 37
This page cannot be seen from the preview
Don't miss anything!
Qualification BTEC Level 5 HND Diploma in Computing Unit number and title Unit 1: Programming Submission date Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Dinh Phan The Bao Student ID GCD Class GCD1104 Assessor name Ly Quynh Chan Student declaration I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that making a false declaration is a form of malpractice. Student’s signature (^) Bao Grading grid P1 M1 D
Grade: Assessor Signature: Date: Lecturer Signature:
CHAPTER I: PROBLEM STATEMENT
I have applied for a post as a trainee with a software development company and have been invited for an interview. To accomplish this, I must write a report on the use of algorithms in problem-solving. I need describe, with the help of examples, how algorithms are utilized to resolve straightforward business issues as well as the procedures that must be followed to provide a usable software solution. My program's underlying premise should be made explicit. Basic procedural programming instructions such as loops and conditional statements, as well as sequence instructions (input, output, and assignment statements), loops, conditional statements. Problems should be analyzed and designed with flowchart and demonstrated by modules (procedures) using a menu-based program.
Understand an algorithm, its properties and apply an algorithm to a problem.The steps for writing an application and the process of programming an application.
CHAPTER II: ALGORITHM 1 Definition An algorithm is a step-by-step technique for solving a collection of issues in general. It is a well-defined approach in computing that allows a machine to solve a mathematical problem or solve another problem. Computation, data processing, and automated reasoning are all activities that algorithms can complete. Figure 1 Example of the algorithm (Flowchart)
3 Characteristics of An Algorithm There are some characteristics that every algorithm should follow and here is the list of some of them which we will see one by one.
The information altered throughout the computation to produce the result is called the input. An algorithm should have at least 0 described inputs all around it. Input precision needs a thorough understanding of the type of data, how much of it there should be, and how it should be organized. Figure 3 Characteristics of An Algorithm
The information obtained because of the computation is the output. At least one all-around described output is required for an algorithm, and the ideal output should be coordinated. Exactness in output also demands knowing what kind of information, how much, and in what format the output should be.
Algorithms must decide each step, and each step must be distinct in all behaviors and lead to a single meaning. As a result, the algorithm should be simple and straightforward. Each step's specifics must also be discussed (counting how to deal with errors). Everything in it should be measurable, not subjective.
The algorithm must be effective, so all the steps required to get the desired result must be achievable with the available resources. It should not include any unnecessary or excessive developments that might render an algorithm ineffective.
Step-by-step instructions should be included in an algorithm, and they should be independent of any programming code. It should be done expecting a sudden increase in demand for any programming language.
At some point, the algorithm will have to stop working. If you stop, you could obtain the typical output. Algorithms must terminate when a certain number of steps have been completed. An algorithm should not be limitless and should always come to a halt after a set number of steps. There is no use in developing an infinite algorithm since it will be useless to humans. Figure 4 Input - Output relation
5 Simple example about algorithm Problem: Create an algorithm that allows users to enter two integers and then print the sum of those two numbers on the screen. Solution: The following is a diagram to demonstrate the above problem-solving algorithm. The algorithm will subsequently be deployed on the Visual Studio 2022 programming platform, as demonstrated below: Figure 7 Flowchart of the problem
Figure 8 Deploy that algorithm on the Visual Studio 2022 CHAPTER II: THE SOFTWARE DEVELOPMENT LIFE CYCLE
1. Definition The Software Development Life Cycle, or SDLC, is a method for producing high-quality, low-cost software in the least amount of time. SDLC is a well-structured flow of stages that enables a company to swiftly develop high-quality software that has been thoroughly tested and is ready for production. As stated in the introduction, the SDLC is divided into six phases. The waterfall model, spiral model, and Agile model are all popular SDLC models. Figure 9 Result of figure 8
System Analysis: System analysis is a feasibility study to see if your idea is viable. The goal is to explore the idea for your software from the lens of a business executive trying to avoid a bad investment. You will have to build out the rest of the idea and find ways to justify its development. System Design: This is where all the design work happens so the development team can work on the project. In many cases, both teams are working at this point since the development team can begin setting up systems for further development and coordinating resources. Implementation: The development stage is where the software is assembled. This involves a variety of processes, including coding, setting up infrastructure, and creating documentation on how the system works. Developers may work with designers to ensure that their work aligns with the designs. If there is a problem, the development team may work with the design to find a solution. Testing and integration: When the bulk of the work is completed, it may be sent for system testing. All software is rigorously tested before being released to the public. The QA team uses tools like automated testers, to rapidly try scenarios so that they can find problems in the software. Maintenance: When everything is in a market-ready condition, the product is launched. During the launch, support teams of designers and developers work together to support. It is important to be reactive while collecting and solving customers issuers; creating an IT help desk that can operate remotely and immediately is often a great option.
CHAPTER III: ANALYSE THE PROBLEM AND DESIGN THE SOLUTIONS
1. Script content A book company needs to create a virtual library to serve the growing needs of students Library Management System is a software built to handle the primary housekeeping functions of a library. Libraries rely on library management systems to manage asset collections and relationships with their members. Library management systems help libraries keep track of the books and their checkouts, as well as members’ subscriptions and profiles. Library management systems also involve maintaining the database for entering new books and recording books that have been borrowed with their respective due dates.
The challenge for me is to write a program that was accessible to all ages, simple to understand for users, and, importantly, profitable for the book company.
We will create a virtual software called a book library. So they can find the documents or books they need. Can log in and save book information they need.
2. Implementation
a. Source code I create 6 field include: ID, Name, Author, Category, Quantity, PublicationDate. Then I create 6 properties. Figure 12 Field in class book
Figure 13 6 properties in class bookbase