Asansol Engineering College: Topic: PPT Assignment On "Introduction To Software Engineering"
Asansol Engineering College: Topic: PPT Assignment On "Introduction To Software Engineering"
Asansol Engineering College: Topic: PPT Assignment On "Introduction To Software Engineering"
Department of CSBS
Course Name: Software Engineering
Course Code: ESC(CSBS) 501
Year: 3rd
Semester: 5th
Topic: PPT Assignment on “Introduction to Software Engineering”
Academic Session: Odd-Semester
June 2022 – December 2022
By:
Name : HAIMANTI SADHU
University Roll No : 10831120015
Department: Computer Science and Business Systems (CSBS)
WHAT IS SOFTWARE?
Software is a collection of instructions, data, or computer programmers that are used to run
machines and carry out particular activities. It is the antithesis of hardware, which refers to a
computer's external components. A device's running programmers, scripts, and applications are
collectively referred to as "software" in this context.
The two main categories of software are application software and system software. An application
is software that fulfills a specific need or performs tasks. System software is designed to run a
computer's hardware and provides a platform for applications to run on top of.
Other types of software include programming software, which provides the programming tools
software developers need; middleware, which sits between system software and applications;
and driver software, which operates computer devices and peripherals.
Early software was written for specific computers and sold with the hardware it ran on. In the
1980s, software began to be sold on floppy disks, and later on CDs and DVDs. Today, most software
is purchased and directly downloaded over the internet. Software can be found on vendor websites
or application service provider websites.
DIFFERENT TYPES OF SOFTWARE APPLICATION
• System Software: A collection of programs written to service other programs. Compiler, device
driver, editors, file management.
computer software package that performs a specific function for a user, or in some
cases, for another application. Ex: office suites, graphics software
Driver software: Also known as device drivers, this software is often considered a type
of system software. Device drivers control the devices and peripherals connected to a
computer, enabling them to perform their specific tasks. Ex: special game controllers, as
well as the software that enables standard hardware
Computer Scientist
Engineer
Software Engineer
✩ More and more, individuals and society rely on advanced software systems. We need to be able to
produce reliable and trustworthy systems economically and quickly.
✩ It is usually cheaper, in the long run, to use software engineering methods and techniques for
software systems rather than just write the programs as if it was a personal programming project. For
most types of system, the majority of costs are the costs of changing the software after it has gone into
use.
OBJECTIVES OF SOFTWARE ENGINEERING
1. Maintainability – It should be feasible for the software to evolve to meet changing requirements.
2. Efficiency – The software should not make wasteful use of computing devices such as memory, processor cycles,
etc.
3. Correctness – A software product is correct if the different requirements as specified in the SRS document have
been correctly implemented.
4. Reusability – A software product has good reusability if the different modules of the product can easily be reused
to develop new products.
5. Testability – Here software facilitates both the establishment of test criteria and the evaluation of the software with
respect to those criteria.
6. Reliability – It is an attribute of software quality. The extent to which a program can be expected to perform its
desired function, over an arbitrary time period.
7. Portability – In this case, the software can be transferred from one computer system or environment to another.
8. Adaptability – In this case, the software allows differing system constraints and the user needs to be satisfied by
making changes to the software.
The first layer involves choosing the semi-automated and automated tools that will become the
framework for the project. Some examples may include:
IV. Of course, the actual operating system may be the biggest choice, but any other tools selected will need to integrate
successfully with the OS and with each other.
• Layer 2 — Method
The second layer establishes the methods of developing the software. This includes any
technical knowledge and resources required for development. Some tasks include choosing
methods for:
❑ Communication
❑ Analysis
❑ Modelling
❑ Program construction
❑ Testing and support
It’s good to remember that in the Tools layer, your team will choose the tools you will use
for the project, but in the Method layer, you will be choosing how to use the tools.
• Layer 3 — Process
Layer three focuses on the framework that needs to be established to deliver software effectively. This layer can be broken down into
five sub-layers:
❑ Communication: Various facts of communication are needed at this point, and in fact, they are critical to success. First,
communication with the client is required to understand the needs, demands, criteria, and parameters of the project. Team
communication disseminates this knowledge so that everyone is on the same page. Ongoing communication prevents
misunderstanding and wasted man-hours.
❑ Planning: This sub-layer involves making a map or blueprint to break down the process of development and document goals,
milestones, and plans.
❑ Modelling: For this part of the process, developers create a model so the client can visualize the finished product.
❑ Construction: This sub-layer refers to the actual coding and testing of the product.
❑ Deployment: This differs from modelling. Rather than just providing the client with a model, the team delivers an actual version of
the software for testing, evaluation, and feedback.
At this point, the software is developed and refined to a point, but it is critical to apply quality control to the finished product. Besides
testing the end product to ensure that it meets the client’s specifications, it also needs real-world testing to determine how efficient,
usable, and reusable it will be, and it needs to explore how many resources maintenance will require. If it is replacing an older software
or platform, quality control will ensure the new software will meet the needs.
MAJOR GOALS OF SOFTWARE ENGINEERING
➢ To increase software productivity and quality.
➢ To effectively control software schedule and planning.
➢ To reduce the cost of software development.
➢ To meet the customers' needs and requirements.
➢ To enhance the conduction of software engineering process.
➢ To improve the current software engineering practice.
➢ To support the engineers' activities in a systematic and efficient manner
COMPONENTS OF SOFTWARE ENGINEERING
There are three components of the software: These are : Program, Documentation, and Operating
Procedures.
1. Program –
A computer program is a list of instructions that tell a computer what to do.
2. Documentation –
Source information about the product contained in design documents, detailed code comments, etc.
3. Operating Procedures –
Set of step-by-step instructions compiled by an organization to help workers carry out complex routine
operations.