[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.