Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Algorithms and Problem-Solving in Software Development, Schemes and Mind Maps of Mathematical Methods

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

2023/2024

Uploaded on 04/28/2024

minh-ho-6
minh-ho-6 🇻🇳

2 documents

1 / 37

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ASSIGNMENT 1 FRONT SHEET
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 GCD210627
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 D1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25

Partial preview of the text

Download Algorithms and Problem-Solving in Software Development and more Schemes and Mind Maps Mathematical Methods in PDF only on Docsity!

ASSIGNMENT 1 FRONT SHEET

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

 Summative Feedback:  Resubmission Feedback:

Grade: Assessor Signature: Date: Lecturer Signature:

Table of Contents

CHAPTER I: PROBLEM STATEMENT

1 Scenario

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.

2 Report objectives

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.

3.1 Input specified

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

3.2 Output specified

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.

3.3 Clear and Unambiguous

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.

3.4 Feasible

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.

3.5 Independent

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.

3.6 Finiteness

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.

  1. Any library member should be able to search books by their title, author, subject category and by the publication date.
  2. The system should be able to retrieve information like who took a particular book or what are the books checked- out by a specific library member.
  3. User can add books with its information such as: title, author, publication date, category etc and update it.

1.1 Analyzing the problem

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.

1.2 Design Solutions

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

2.1 Class BookBase

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