Professional Documents
Culture Documents
4bdd33c1-92d5-4d21-b707-f2c2faf7b988
4bdd33c1-92d5-4d21-b707-f2c2faf7b988
2
Program: B.E. ISE
Course name: SOFTWARE ENGG. and
PROJECT
MANAGEMENT
Course code: 21CS61
VI semester, MODULE - 1
Faculty: DR.ABHILASH C N
Professor, Dept.of ISE, SJBIT
Syllabus overview
Contd…
Contd…
Contd…
TERMINOLOGIES
Definition 1:ware Engineering
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.
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
To decrease time, Effectiveness
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.
Not Limited to, there are many more challenges for software engineer in this fast
growing industry with new technology changes.
REASONS to Evolve :
• The software must be adapted to meet the needs of new computing environments or
technology.
• The software must be enhanced to implement new business requirements.
• The software must be extended to make it interoperable with other more
modern systems or databases.
• The software must be re-architected to make it viable within a network
Environment.
Attributes for Web Apps
1. Network intensiveness. A WebApp resides on a network and must serve the
needs of a diverse community of clients.
2. Concurrency. A large number of users may access the WebApp at one time.
3. Unpredictable load. The number of users of the WebApp may vary by orders
of magnitude from day to day.
4. Performance. If a WebApp user must not wait too long (for access, for server-
side processing, for client-side formatting and display), he or she may decide
to go elsewhere.
5. Availability. Although expectation of 100 percent availability is unreasonable,
users of popular WebApps often demand access on a 24/7/365 basis.
Attributes for Web Apps
6. Data driven. The primary function of many WebApps is to use hypermedia to
present text, graphics, audio, and video content to the end user.
7. Content sensitive. The quality and aesthetic nature of content remains an
important determinant of the quality of a WebApp.
8. Continuous evolution. Unlike conventional application software that evolves
over a series of planned, chronologically spaced releases, Web applications
evolve continuously. It is not to be independently computed for each request.
9. Immediacy. the compelling need to get software to market quickly—is a
characteristic of many application domains.
10. Security. Because WebApps are available via network access, it is difficult to
limit the population of end users who may access the application. In order to
protect sensitive content and provide secure modes of data transmission,
strong security measures must be implemented.
To Build a Software - Reality checks for Software Engineering
Communication
Planning
Modeling
Construction
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 be produced, and a work schedule.
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 project tracking & control – assess progress & take action
Risk management – assess the risk to get quality product
Software quality assurance – required activity conduction
Technical reviews – assess SE & debug errors before proceeding
Measurement – assist team in software delivery to customer needs
Software configuration management – manage the changes in S/w
Reusability management – criteria & mechanism for product reuse
Work product preparation and production – models, logs, forms,
documents and lists required.
Software Engineering – How to make it as a Practice ?
He was a professor of mathematics from 1914 to 1940 at ETH Zürich and
from 1940 to 1953 at Stanford University. He made fundamental
contributions to combinatorics, number theory, numerical analysis and
probability theory.