Académique Documents
Professionnel Documents
Culture Documents
FUTATSUGI, Kokichi
(二木 厚吉)
JAIST
(Japan Advanced Institute of Science and Technology)
What I am going to talk today
What is software?
-- What is its nature? –
What is software engineering?
DUT 161022 2
What is software?
Run-time of a computer
Total number of cases:
2 time
2100 210000
One case determines
lift or death
… … …
(discrete systems)
DUT 161022 5
Software is open and liberal
- Software promotes openness -
DUT 161022 6
What is software engineering?
Science/technology/engineering for
development/operation/disengagement of
software
Text books on software engineering (1)
1st Edition 1982
2nd Edition 1984
3rd Edition 1989
4th Edition 1992
5th Edition 1995
6th Edition 2001
7th Edition 2004
8th Edition 2007
9th Edition 2010
10th Edition 2015
DUT 161022 8
Contents of Sommerville’s text book (ver 8) (2007)
http://www.comp.lancs.ac.uk/computing/resources/IanS/SE8/
DUT 161022 9
Contents of Sommerville’s text book (ver9)(2010)
http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/
DUT 161022 10
Contents of Sommerville’s text book (ver10)(2015)
http://iansommerville.com/software-engineering-book/
DUT 161022 11
Software engineering amounts to be
generic “systems engineering”
Programming/coding gradually forms an independent
technical area; SE is more than that
DUT 161022 12
Text books on software engineering (2)
DUT 161022 13
Dines Bjorner’s text books (2006)
www2.imm.dtu.dk/~db/Software_Engineering/
DUT 161022 16
Basic facts on computer and software
Software engineering (or formal method) is an
discipline for studying model/theory/technique/
method to translate problem domain (i.e. semantics)
into machine (i.e. forms).
DUT 161022 17
What are formal methods?
technologyçèscience
practiceçètheory
Formal methods
♦ Software development methods based on
mathematical logics and discrete math.
• Specification/program/verification are
constructed based on math models like set,
function, algebra
♦ Software development methods based on formal
specifications
• Verification can be done based on formal
specifications
DUT 161022 19
Problems, Specifications, Machines
Requirements
Environment Phenomena World
Application Env./Aria
Spec interface
Machine Specification
by Michael Jackson
Machine phenomena
Programs
DUT 161022 20
Specification is better to be refutable, consistent,
complete, unambiguous, and transparent
DUT 161022 21
Informal Specification
DUT 161022 22
Formal Specification
DUT 161022 23
Formal specification languages and
programming languages
DUT 161022 24
Primary use of formal specifications
DUT 161022 25
Contrasting uses of formal methods (1)
DUT 161022 26
Contrasting uses of formal methods (2)
♦ Modeling/spec/verification of problems/systems
(pre-coding or without-coding)
interactive verification with formal spec language system
Specification and verification of
• requirement and domain
• security policy and business rules
• Social systems
• Bio-systems
DUT 161022 28
CafeOBJ (2)
https://cafeobj.org
DUT 161022 29
CafeOBJ (3)
https://cafeobj.org
DUT 161022 30
J. Wing’s Computational Thinking
https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
DUT 161022 32
Overview (2)
https://en.wikipedia.org/wiki/Computational_thinking
DUT 161022 33
Characteristics (1)
https://en.wikipedia.org/wiki/Computational_thinking
DUT 161022 34
Characteristics (2)
https://en.wikipedia.org/wiki/Computational_thinking
DUT 161022 35
Quotations (1)
from https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
DUT 161022 36
Quotations (2)
from https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
DUT 161022 37
Quotations (3)
from https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
DUT 161022 38
Quotations (4)
from https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
DUT 161022 39
What is to be competent in software?
畑数
村
洋強
太
郎
( )
著
(
岩
波
新
書
)
abstract world <-> concrete world
abstract world
230×3=690
competent in programming
(competent in calculus)
competent in software
(competent in math)
DUT 161022 42
ACM Code of Ethics and Professional Conduct
(ACM: Association for Computing Machinery)
https://www.acm.org/about-acm/acm-code-of-ethics-and-professional-conduct
DUT 161022 44
2. MORE SPECIFIC PROFESSIONAL RESPONSIBILITIES
As an ACM computing professional I will ....
DUT 161022 45
3. ORGANIZATIONAL LEADERSHIP IMPERATIVES
As an ACM member and an organizational leader, I will ....
DUT 161022 47