[SE]Software Engineering
ppt form :
1. team members(who is the boss?)
- programmers, designers, clients
2. topic
- explain why this topic is interesting
3. time schedule
SW란 무엇인가?
: key component : describe O.
O의 description
(Specification language)
programmer <--------------------------> client
<
O의 description
(Programming Languages)
>
computer
- 대화를 나눈다는 관점에서 client는 성인 / computer는 유아
- Specification languages : state transition machine, petri-net, UML, logic, Z, ETC
(많은 언어가 있는이유 : 정답이 없기때문)
ex) even = {0, 2, 4, 6... }
- even의 specification : 짝수의 집합
- even의 programming :
rule1. even(0) is true.
rule2. if even(n), then even(n+2)
exercise :
add(n, m, z)의 programing
rule1. odd(1) is true.
rule2. if odd(n), then odd(n+2)
rule1. for all n, add(n,0,n)
rule2. if add(n, m-1, z-1) then add(n, m, z)
add(3, 0, 3) -> add(3, 1, 4) -> add(3, 2, 5)
multiplication(n, m, z)의 programming
rule1. for every n, mul(n, 1, n)
rule2. if mul(n, m, z) and add(z, n, y), then mul(n, m+1, y)
Lets get to the bottom of the matter.
Suppose we have an organization O.
Then what are we interested in
1. tasks that O can do.
2. tasks we cannot do with O.
3. perform some task if O can do T.
claim O = the set of tasks O can do.
what is algorithm(programming)?
algorithm = <O, T>
Organization
Task
where O is an organization and T is a task.
사람
흑O백 백T흑
(조직, (업무)
명령어의
집합)
컴퓨터
O를 사용하여 T를 수행가능하면 컴퓨터의 승리
O = {a1:T1, , an:Tn}
what is a task a computer can do?
p where p is a relation
ex)MJ is a singer.
T pand S : can do T and S in parallel.
T por S : can do at least one of T and.
T seqand S : can do T and S.