0% found this document useful (0 votes)
10 views28 pages

Chapter 1 Introduction To SE-2023

MSc. Pok Leakmony is a lecturer at RUPP, teaching various IT subjects including Software Engineering and IT Project Management. The document outlines the curriculum for Software Engineering, covering topics such as software project management, analysis concepts, and software testing techniques, along with reference texts. It also discusses the history, concepts, and characteristics of software engineering, emphasizing the importance of quality and systematic processes in software development.

Uploaded by

mis2021190009
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 views28 pages

Chapter 1 Introduction To SE-2023

MSc. Pok Leakmony is a lecturer at RUPP, teaching various IT subjects including Software Engineering and IT Project Management. The document outlines the curriculum for Software Engineering, covering topics such as software project management, analysis concepts, and software testing techniques, along with reference texts. It also discusses the history, concepts, and characteristics of software engineering, emphasizing the importance of quality and systematic processes in software development.

Uploaded by

mis2021190009
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/ 28

MSc.

Pok Leakmony (ប៉ុក លក្សម៉ុនី)


Lecturer of CSD, RUPP
Teaching Subjects:
- Software Engineering (Bachelor class,Y4)
- IT Project Management (Bachelor class, Y4)
- .NET Programming (Bachelor class, Y3)
- C, C++ Programming (Bachelor class, Y1)
- Distributed Database Systems (Master class)
Semester 1
Software Engineering(SE)
 Chapter 1: Introduction to SE ([1], [2])
 Chapter 2: The Process ([1], [3], [6], [7])
 Chapter 3: Software Project Management
Metrics ([1], [4])
 Chapter 4: Measuring Effort for Software Project
([1], [4], [6], [9])
 Chapter 5: Analysis Concepts and Principles
([1], [7])
 Chapter 6: Analysis Modeling ([1], [7])
 Chapter 7: Software Testing Techniques and
Strategies ([1], [5], [7], [8])
Semester 1
Software Engineering(SE)
Reference Text Books
 [1] Software Engineering: A Practitioner’s Approach, Roger.S.Pressman,
Fifth Edition 2001
 [2] Object-Oriented Software Engineering: Practical software development
using UML and Java, Timothy C. Lethbridge and Robert Laganière,
International Edition, 2002
 [3] Software Engineering, Ian Sommerville, 6th Edition, 2000
 [4] Basic of Software Project Management, NIIT, Eastern Economy Edition,
2004
 [5] Software Testing Techniques, Boris Beizer, 2nd Edition, 2003
 [6] Software Project Management, Bob Hughes and Mike Cotterell, 2001
 [7] Software System Development: A Gentle Introduction, Carol Britton &
Jill Doake, Third Edition, 2003
 [8] Software Testing as a Service, Ashfaque Ahmed, 2010 (E-book)
 [9] Software Engineering Best Practices: Lessons from Successful Projects
in the Top Companies, Capers Jones, 2010 (E-book)
Chapter 1
Introduction to SE ([1], [2])
1.1 The History of SE
Some of the reasons to which you can
attribute the software crisis include:
 Software developers used multiple
programming languages
 Software developers used multiple variations of
standard programming languages
 Most of the requirements were complex with
regard to the existing capabilities
 Users, who had little or no experience of
developing or even using software, formulated
requirements
1.1.The History of SE
 Software developers poorly mapped
requirements to the actual product
 Software developed had low interoperability
 Software maintenance was costly
 Hardware developed at a faster rate than
software(better hardware requires better
software to operate it)
1.1.The History of SE
 cជារួម នៅទសវត្សទី៦០ បណ្ត្ប្បនទសរីកចនប្មើន
ជួបនូវស្ថ្នភាពរួមមួយ ដែលនេចាត់ទុកថាជា
វិបតតិ SW (SW Crisis) េឺ: 70% ននេនប្ោងពាក់
ព័នធនឹងព័ត៌ោនវិទ្ាប្តូវបរាជ័យ។
 NATO បាននរៀបចំសននិសីទវិទ្ាស្ស្រសតនៅទីប្កុង
Munich (1968) នែើម្បីន ោះប្ស្យវិបតតិទំងន។ោះ។

  នកើតនចញជា Software Engineering (SE)


ននោះន ើង។
Why SE?

 Build it correct the first time


 Reduce development cost
 Reduce development time
 Repeat previous successes
 Learn from previous failures
Goal of SE

 To improve the quality of the software


products.

 To increase the productivity &

 To give job satisfaction to the software


engineers.
1.2.Concept

a) What is Software?
- Software is:
 Instructions (computer programs) that when executed
provide desired function and performance.
 Data structure that enable the programs to adequately
manipulate information
 Documents that describe the operation and use of the
programs
* Software: is a set of instructions, written by one
or more programming language to perform
automatically some functions in solving any
problem.
1.2.Concept

a) What is Software?

Technical,
methodological
group

Programming Document
group group

Experience of engineer
know-how
1.2.Concept
b) What is Software Engineering?
- Engineering: គឺជារបបៀបប្បើ្ាស់នូវរាល់ឧបករណ៍ បបចេកបេសកនុងរបបៀបប ោះ្ាយ
បញ្ហាណាមួយ។
- Engineering is the systematic application of scientific
knowledge in creating and building cost-effective solutions to
practical problems in the service of mankind.
- Engineering in general employs the following sequence of
steps:
 Problem identification
 Analysis of the problem
 A search for possible alternative solutions
 Evaluation and then choice of the most appropriate solution
 Design and implementation of the solution
1.2.Concept
b) What is Software Engineering?
- Software Engineering:
* The term Software Engineering was introduced in the late
1960s at a conference held to discuss the software crisis.
 An original definition:
“ Software engineering is the establishment and use of sound
engineering principles in order to obtain economically
software that is reliable and works efficiently on real
machines”, Fritz Bauer, seminal conference of SE, 1968
1.2.Concept
b) What is Software Engineering?

 “ SE: (1) The application of a systematic, disciplined,


quantifiable approach to the development, operation, and
maintenance of software; that is, the application of
engineering to software. (2) The study of approaches as in
(1).”, IEEE[1993]
 "SE is the process of solving customer's problems by the
systematic development and evolution of large, high-quality
software systems within cost, time and other constraints",
Timothy C. Lethbridge and Robert Laganière[2001]
1.2.Concept
b) What is Software Engineering?
 Solving customer's problem
 Systematic development and evolution
 Large, high-quality SW system
 Cost, time, and constraints
* “Software Engineering is a scientific field to deal
with methodologies, techniques and tools integrated
in software production-maintenance process to obtain
software with desired qualities”.
1.2.Concept
c) SW Quality

Customer: User:
Solves problems at easy to learn;
an acceptable cost efficient to use;
in terms of money helps get work
paid and resources
done
used Quality
SW

Developer: Development manager:


easy to design; sells more and pleases
easy to maintain; customer while costing
easy to reuse its less to develop and
maintain
parts
1.2.Concept

c) SW Quality
* Attributes of SW Quality
 Correctness(): the degree to which a program operates
according to specification
 Maintainability(): the degree to which a program is amenable
to change
 Integrity (): the degree to which a program is impervious to
outside attack
 Usability: the degree to which a program is easy to use
 Efficiency: the degree to which a program uses less CPU-time,
memory, disk space, network bandwidth and other resources
 Reliability: the degree to which a program has a fewer failures
 Reusability: the degree to which a SW component is reusable if
it can be used in several different system with little or no
modification
1.2.Concept

c) SW Quality
* Attributes of SW Quality

 Usability
Conflict (ប្បឆំងគ្ន)្
 Efficiency
1.2.Concept
d) What is the difference between SE and computer science?
 CS is concerned with theory and fundamentals
 SE is concerned with the practicalities of the developing and
delivering useful software (Ian Sommerville).
e) What is the difference between SE and system
engineering?
 System engineering is concerned with all aspects of computer-
based systems development, including hardware, software
and process engineering.
 SE is part of this process (Ian Sommerville).
1.2.Concept
f) What is a SW Process? (Ian Sommerville)
 SW Process is a set of activities whose goal is the
development or evolution of software. These activities are:
 SW Specification: The functionality of the software and constraints
on its operation must be defined.
 SW Development: The software to meet the specification must be
produced.
 SW Validation: The software must be validated to ensure that it
does what the customer wants.
 SW Evolution: The software must evolve to meet changing
customer needs.
1.2.Concept
g) SW Characteristics
 Software is developed or engineered, it is not manufactured in the
classical sense.
 Most software is custom-built, rather than being assembled from
existing components

 SW េឺជាទំនិញដែលគ្ម្នរូប នមើលមិនន ើញ

 SW doesn't "wear out": ពុំោនសំណឹក។ េុណភាពរបស់វាោននិ។ន្ការ


លអន ើង នប្កាយពីោនកំហុសមតងៗប្តូវបានរកន ើញ និងដកតប្មូវ។

 SW ដតងោនកំហុសបងកប់នៅកនុងន។ោះតាមប្ទង់ប្ទយកាន់ដតធំលទធភាព
ផ្ទុកកំហុសក៏កាន់ដតធំដែរ។
1.2.Concept

g) SW Characteristics

 កំហុសនន SW ងាយប្បទោះន ើញន យអ្នកមកពីខាងនប្ៅ។

 SW ដតងដតផ្ទុកន យេំនិត និងការនននប្បឌិតននអ្នកសរនសរ ឬប្កុម

បនងកើតវា។

 អាចនធវើការ Copy ន យស្មញ្ញបំផ្ុត។


1.2.Concept
g) SW Characteristics
SW HW

ា “ទន់”
- និយាយពីបញ្ហ - និយាយពីបញ្ហ
ា “រង”
ឹ (វតុ )ថ

- បច្ចក
េ ច្ទសច្្ប្ាស
ើ ់ - ច្ោហធាតុ

- មនមមនរ
ិ ូបធាតុ - រូបធាតុ

- គ្មានរូប មនអាចចាប
ិ ់ាន - មានរូប អាចចាប់ាន

ំ ន់
- ផលិតច្ោយមនុសសជាសខា - ផលិតជាលកណ
ខ :ឧសាហកម ា

ច្ោយច្្រឿងមា៉ាសុីនជាសខា
ំ ន់;

ំ ឹ ក
- គ្មានសណ - ខូចបង់ មានសណ
ំ ឹ ក
1.3.Software Applications
នេអាចដចក SW application ។បចចុប្បនននចញជា៨ ប្បនេទ:
1) System Software
2) Real-Time Software
3) Business Software
4) Engineering and Scientific Software
5) Embedded Software
6) Personal Computer Software
7) Artificial Intelligence Software
8) Web-based Software

(Homework 1)
Correctness ()
នតើនេបានអ្វនី ធវជា
ើ រងាវស
្ ់?
ខ្ពស់(អ្ត់ល)

ចំនួន Defects/KLOC

ទប(លអ)

 KLOC: Kilo Line of Codes

 Error ជាកំហុសនកើតន ើងមុននពល SW យកនៅនប្បើ

 Defect ជាកំហុសនកើតន ើងនប្កាយនពល SW យកនៅនប្បើ


Maintainability ()
នតើនេបានអ្វនី ធវជា
ើ រងាវស
្ ់?

ខ្ពស់(អ្ត់ល)

MTTC: Mean-Time To Change

ទប(លអ)
Integrity ()

នតើការវាយលុកពីខាងនប្ៅចូល SW តាម
រយៈអ្វខ្
ី លោះ?

- Virus
- Hacker

You might also like