0% found this document useful (0 votes)
10 views

Lecture # 1

Software Engineering Fundamentals

Uploaded by

aleenashahzad03
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

Lecture # 1

Software Engineering Fundamentals

Uploaded by

aleenashahzad03
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Lecture # 1

An overview of software
engineering
Software engineering fundamentals
(CSC-2073)
As a Muslim

‫محمد رسول ہللا صلی ہللا علیہ وسلم‬


‫خاتم النبیین‬

“The best among you is the one who doesn’t harm


others with his tongue and hands.”

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 2
In professionallife

“If you want to live a happy life, tie it to goals,


not to peoples.”

Albert Einstein

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 3
Software are important because world largestcompaniesare the idea based

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 4
Objective of this course

Course Learning Outcomes Bloom's Taxonomy

1- Understanding the professional, ethical, and social responsibility of a software engineer. Knowledge, Understand

2- Students will be able to decompose the given project in various phases of a lifecycle. -

3- Students will be able to choose an appropriate process model depending on the user requirements. Apply

4- Be able to elicit, analyze and specify software requirements through a productive working -
relationship with various stakeholders of a software development project.
5- Be able to use Unified Modeling Language in software specification documents. Apply

6- Understanding the others life cycle activities like implementation, testing and maintenance. Knowledge, Understand

7- Students will be able to know various processes used in all the phases of the product. Analyze

8- Students can apply their knowledge, techniques, and skills in the development of a software product. Apply

9- Be able to convey technical material through oral presentation and interaction with an audience and Apply
able to write reports which satisfy accepted standards for writing style.

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 5
Majorcoursecontents

– Overview of Software engineering


– Development Methodologies
– Software Requirements
– Software Modeling
– Architectural design
– Design and implementation
– Software Testing
– Software evolution
– Project management and quality
– Quiz (3s), assignment (2s) in groups and individually (project & presentation based)

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 6
Learning Outcomes

– To teach and help the students in developing their professional skills that will empower
them to build high quality software that are efficient, reliable, easy to understand,
maintainable and modifiable.
– To motivate the students to successful professional in the software development with
essential knowledge of Software engineering along with patience, professional ethics,
interpersonal and commination skills.

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 7
Five motivations behind why Software Engineer

– First complexity, the world is getting increasingly complex, and it is impossible to invent a
new solution with a single hero. Teamwork is more important than ever, and without
good communication and modeling skills, you cannot realize great software.
– Second innovation. Software developers create solutions for common problems in all
areas and use new technology to simplify the life of people and enable new ways of
working and sharing.

– Third flexibility. There are different areas to specialize in, such as design testing and
management and companies offer flexible working hours. The advancing IT infrastructure
allows software developers to work from home and have a better work-life balance

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 8
Five Motivations behind why Software Engineers

– Fourth recognition. While pure developers are often introverts and prefer private instead
of public recognition, software developers establish a culture where people regularly
express gratitude to co-workers.
– Fifth opportunity. There are many opportunities to grow, innovate, learn new concepts
every day, improve people's lives, achieve something useful, experiment, and use creativity
and ingenuity to create new solutions for the most important problems on the planet.

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 9
How it works

– You learn and apply methodologies, techniques, workflows, and tools to develop software.
– Transform a problem statement given by a customer into two different kinds of consistent UML
models, map these models to source code, and package this code into an application you deliver
to the end-user.

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 10
Regardless of environment and nature of application ?

– This process from the problem statement to the software is suitable for
complex and large software projects independent of the application
domain and independent of the concrete development environment.
– It doesn't matter if you want to develop desktop or mobile applications
or software for embedded devices or web applications.

Embedded Systems Desktop Systems Mobile Applications Websites Web Applications

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 11
Software vs. Software Engineering

“Software is: (1) instructions (computer programs) that when executed provide desired
features, function, and performance; (2) data structures that enable the programs to adequately
manipulate information, and (3) descriptive information in both hard copy and virtual forms
that describes the operation and use of the programs.”
(RogerS.Pressman,Ph.D.)
(BruceR.Maxim,Ph.D.)

“Software engineering a discipline that is concerned with all aspects of software production”

(IanSommervile)

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 12
Software Engineering?

“Software engineering can be thought of as programming integrated over time”


(Software Engineering at Google)

”Software engineering involves not just the act of writing code, but all the tools and processes
an organization uses to build and maintain that code over time.
(Wikipedia)

“It involves creating high-quality, reliable programs in a systematic, controlled, and efficient
manner using formal methods for specification, evaluation, analysis and design,
implementation, testing and maintenance.”
http://ccecc.acm.org/

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 13
Software Engineeringis not only writing code?

“It is branch of computer science that deals with the design, implementation, and maintenance
of complex computer programs”

“It is an application of a systematic, disciplined, quantifiable approach to the development,


operation, and maintenance of software”
(IEEEStandardGlossaryof SoftwareEngineeringTerminology)

“It is the systematic application of scientific and technological knowledge, methods, and
experience to the design, implementation, testing, and documentation of software“

(IEEESystemsandsoftwareengineering.)

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 14
Software Engineeringis not only writing code?

“The establishment and use of sound engineering principles in order to economically


obtain software that is reliable and works efficiently on real machines”
(Fritz Bauer)
Otherwise, slow and unreliable
systems/software has a social cost, this is
because the people become frustrated
when they are not capable of doing
what they are required to.

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 15
Reliabilityand efficiencyimportant?

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 16
The reason of failure?

Increasing system complexity Failure to use software engineering


methods

– Software engineering techniques help us to – It is easy to write computer programs


build larger, more complex systems. Systems without using software engineering methods
must be built and delivered more quickly and and techniques. Many companies have drifted
systems must have new capabilities that were into software development as their products
previously thought to be impossible. and services have evolved. They do not use
software engineering methods in their
everyday work. Consequently, their software
is often more expensive and less reliable than
it should be.

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 17
Softwarenever wearout likeclothsor hardware

– Undiscovered defects will cause high failure – Bathtub curve indicates that hardware exhibits
rates early in the life of a program. During relatively high failure rates early in its life as time
its life, software will undergo change. As changes pass the failure rate rises again as hardware
are made, it is likely that errors will be introduced, components suffer from the cumulative effects of
causing the failure rate curve to spike as shown dust, vibration, abuse, temperature extremes, and
in the “actual curve”. many other environmental maladies.

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 18
Thanks

Any question ?

Dr.CMNadeemFaisal www.hci.uniovi.es/en-members.htm 19
Reference

1. Sommerville, I. (2016). Software Engineering GE. Pearson Australia Pty Limited.


2. Course/Section 1 Project Organization and Management/Introduction, Software Engineering Essentials, TUMx SEECx, edx.org [accessed date: October
01, 2022]
3. Roger, S. P., & Bruce, R. M. (2015). Software engineering: a practitioner’s approach. McGraw-Hill Education.
4. Roger S. Pressman, Software Engineering: A Practitioner’s Approach, 7/e, 1996, 2001, 2005, 2009
5. Luca Ventura, World’s Largest Companies 2020, https://www.gfmag.com/global-data/economic-data/largest-companies [accessed date: March 28, 2021]
6. Wikipedia, Software engineering, https://en.wikipedia.org/wiki/Software_engineering, [accessed date: March 28, 2021]
7. Software, https://web.stanford.edu/class/cs101/software [accessed date: March 28, 2021]
8. Sankar, Cloud based Secured Password Less and Card less ATM machine interaction using
http://www.techielabs.in/?p=121 [accessed date: March 28, 2021]
9. Tag: Secure Coding, https://www.checkmarx.com/tag/secure-coding/ [accessed date: March 28, 2021]
10. https://www.graphicsprings.com/logographics/financial-money-plant [accessed date: March 28, 2021]
11. https://www.spaceotechnologies.com/blog/web-app-vs-website/ [accessed date: October 01, 2022]
12. https://www.correcttechno.com/software/mobile-applications-development/ [accessed date: October 01, 2022]
13. https://www.applicationnexus.com/services/web-development/desktop-application-development/ [accessed date: October 01, 2022]
14. https://www.arcweb.com/blog/embedded-systems-trends-technologies [accessed date: October 01, 2022]

Dr.CMNadeemFaisal BEST FOR You www.hci.uniovi.es/en-members.htm 20


O R G A N I C S C O M P A N Y

You might also like