Introduction to Software Development, Lecture notes of Web Application Development

What software is and its categories, and introduces the System Development Life Cycle (SDLC) and its six stages. It also lists some commonly implemented SDLC models and software development methodologies, including their advantages and disadvantages. useful for students studying computer science, software engineering, or related fields, who want to learn about software development and SDLC.

Typology: Lecture notes

2020/2021

Available from 04/27/2023

myles-balabis
myles-balabis 🇵🇭

1 document

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Introduction to Software Development
What is Computer Software
Software is a set of instructions, data or program used to operate computers and execute specific task.
It is the inverse of hardware, which describes the physical aspects of a computer. Software is a broad phrase
that refers to apps, scripts, and programs that operate on a device. It is the changeable component of a
computer, whereas hardware is the invariable component.
The 2 main categories of software
Application software – an application software fulfils a specific need or performs tasks such as:
Web browsers
Word processors
Graphics software.
System software System software is designed to run a computer’s hardware and provide a platform for
applications to run such as:
Operating System
Device Drivers
What is System Development Life Cycle?
Known as SDLC, is the industry standard approach in managing phases in developing software projects
in 6 steps.
6 Stages of SDLC
1. Planning
Planning and Business prerequisites are acknowledge in this phase.
2. Requirement Analysis
All possible requirements of the system to be developed are captured in this phase and documented in
a requirement specification document design
The design phase is where the development team decides the software architectural design like
possible UI/UX and diagrams according to the gathered data in requirements analysis and planning.
3. System Design
OUTPUT
PROCESS
INPUT
pf3
pf4
pf5

Partial preview of the text

Download Introduction to Software Development and more Lecture notes Web Application Development in PDF only on Docsity!

Introduction to Software Development What is Computer Software Software is a set of instructions, data or program used to operate computers and execute specific task. It is the inverse of hardware, which describes the physical aspects of a computer. Software is a broad phrase that refers to apps, scripts, and programs that operate on a device. It is the changeable component of a computer, whereas hardware is the invariable component. The 2 main categories of software Application software – an application software fulfils a specific need or performs tasks such as:

  • Web browsers
  • Word processors
  • Graphics software. System software – System software is designed to run a computer’s hardware and provide a platform for applications to run such as:
  • Operating System
  • Device Drivers What is System Development Life Cycle? Known as SDLC, is the industry standard approach in managing phases in developing software projects in 6 steps. **6 Stages of SDLC
  1. Planning** Planning and Business prerequisites are acknowledge in this phase. 2. Requirement Analysis All possible requirements of the system to be developed are captured in this phase and documented in a requirement specification document design The design phase is where the development team decides the software architectural design like possible UI/UX and diagrams according to the gathered data in requirements analysis and planning. 3. System Design

INPUT PROCESS^ OUTPUT

The requirement specifications from previous phase are studied in this phase and the system design is prepared. This system design helps in specifying hardware and system requirements and helps in defining the overall system architecture.

4. System Development / Implementation With inputs from the system design, the system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality, which is referred to as Unit Testing. The complexity of this phase heavily depends on the outcome of the previous two stages. The better the SRS and SDS, the easier it is for the software engineers to develop the required software modules. Quality also depends on the analytics capabilities of each individuals taking part in the coding process. 5. Testing and Integration All the units developed in the implementation phase are integrated into a system after testing of each unit. Post integration the entire system is tested for any faults and failures. Although this phase is called testing, in real life the errors and bugs found during testing can lead back to development phase and then back to testing phase in circle until the software finally reaches the necessary quality to deploy. 6. Maintenance There are some issues which come up in the client environment. To fix those issues, patches are released. Also, to enhance the product some better versions are released. Maintenance is done to deliver these changes in the customer environment. SDLC models Here are some SDLC models that is commonly implemented in industry. 1. Agile 2. Waterfall 3. Extreme Programming 4. Prototype Model 5. Spiral 6. Rapid Application Development **Software Development Methodologies List

  1. Agile Development Methodology Gist:** The project/product is the primary emphasis of this technique. As a result, it necessitates a number of ongoing modifications based on user and customer input, as well as internal changes linked to engineer work. On the one hand, agile software development technique is free of inflexible
  1. Extreme Programming Gist : A perfect approach for unstable projects, as it implies involving the customer as much as possible. What is more, it presupposes considerable flexibility. Extreme programming methodology is believed to boost the quality of software owing to its ability to adapt to dynamic changing demands. In addition to that, constant feedback and communication is the key to efficient and happy team environment. 4. Prototype Model

Gist : When clients do not know the specific project needs ahead of time, this method is utilized. In this approach, a prototype of the ultimate product is created, tested, and improved based on consumer input until a final acceptable prototype is obtained, which serves as the foundation for producing the final product. Advantages Disadvantages This model is flexible in design. This model is costly It is easy to detect errors. It has poor documentation because of continuously changing customer requirements. We can find missing functionality easily. There may be too much variation in requirements. There is scope of refinement, it means new requirements can be easily accommodated. Customers sometimes demand the actual product to be delivered soon after seeing an early prototype. It can be reused by the developer for more complicated projects in the future. There may be incomplete or inadequate problem analysis. It is ideal for online system. There may increase the complexity of the system.

5. Spiral Model