Module-1.1 SE&PM (Autosaved)
Module-1.1 SE&PM (Autosaved)
2
Program: B.E. ISE
Course name: SOFTWARE ENGG.
and
PROJECT
MANAGEMENT
Course code: BCS501
VI semester, MODULE -1
Faculty: DR.ABHILASH C N
Professor, Dept.of ISE, SJBIT
TERMINOLOGIES
The Software is a collection of integrated
programs.
Engineering is the application of scientific and
practical knowledge to invent, design, build,
maintain, and improve frameworks, processes, etc.
Definition 1:ware
Software Engineering is an engineering branch
related to the evolution of software product using
well-defined scientific principles, techniques, and
procedures.
The result of software engineering is an effective
and reliable software product.
TERMINOLOGIES
Fundamentals of Software Engg.:ware
Engineering
Software Engg. deals with all aspects of
software production from initial concepts to
working and maintenance.
Software specification, Software development,
Software validation and Software evolution.
Key challenges in Software Engineering:
Increasing diversity, Reduced delivery times
and Trustworthy software.
60% for development cost, 40% testing cost.
TERMINOLOGIES
Definition 2:ware Engineering
Software engineering is an engineering
discipline that’s applied to the development of
software in a systematic approach.
It’s the application of theories, methods, and
tools to design, build a software that meets the
specifications efficiently, cost-effectively, and
ensuring quality.
It also includes activities to manage the
project, develop tools, methods and theories
that support the software production.
Introduction
Why is Software Engineering required?
Need of Software Engineering ?(Where do we
require?)
Huge Programming - measure of programming become extensive
engineering.
Adaptability - simpler to re-create new software than to scale an
existing one.
Cost - huge manufacturing has let down the cost of computer, but
programming remains high.
Dynamic Nature - new upgrades need to be done in the existing
one.
Quality Management - Better software development provides a
quality software product.
For more Scalability, Reliability
Computer Science Vs Software
Engineering
Computer science focuses on the theory and
fundamentals, like algorithms, programming
languages, theories of computing, artificial
intelligence, and hardware design.
while Software Engineering is concerned with the
activities of developing and managing software.
REASONS to Evolve :
1. Communication
2. Planning
3. Modeling
4. Construction
5. Deployment
Generic Framework – Communication &
Planning
1. It is critically important to communicate and
collaborate with the customer and
stakeholders.
It helps to define software features and functions.
2. A software project is a complicated journey,
and the planning activity creates a “map” that
helps guide the team as it makes the journey.
Software project plan—defines the software
engineering work by describing the technical tasks to
be conducted, the risks that are likely involved, the
resources that will be required, the work products to
Generic Framework – Modelling
If you’re a landscaper, a bridge builder, an
aeronautical engineer, a carpenter, or an
architect, you work with models every day.
You need to create a “sketch” of the thing so that
you’ll understand the big picture.
How the constituent parts fit together, and many
other characteristics. If needed refine the sketch with
more detail to solve it.
Software Engineering Practice – 7 Principles
The Fourth Principle: What You Produce,
Others Will Consume So, always specify,
design, and implement knowing someone else
will have to understand what you are doing.
The Fifth Principle: Be Open to the
Future
Never design yourself into a corner.
The Sixth Principle: Plan Ahead for
Reuse
Planning ahead for reuse, reduces the cost
and increases the value of both the
Software Engineering Practice – 7
Principles
The Seventh principle: Think!
Placing clear, complete thought before
action almost always produces better
results.