code | SE494 |

credit_hours | 3 |

title | Formal Methods in Software Engineering |

arbic title | الطرق الرسمية في هندسة البرمجيات |

prequisites | SE291 |

credit hours | 3 |

Describtion/Outcomes | This course introduces the use of formal mathematical notation and reasoning in the software development process. These methods have applications in requirements specification, design, and verification. Course topics include mathematical foundations, predicates, preconditions and post conditions, alternative notations, types of formal models, and the strengths and limitations of formal methods. |

arabic Describtion/Outcomes | |

objectives | Students will be able to demonstrate knowledge of:rnK12.Understanding essential facts, concepts, principles and theories relevant to software engineering.rnK15.Demonstrate strong knowledge of software systems analysis & design, data and Information Management, software project management, and software development models.rnK20.Modeling organizational processes and data, defining and implementing technical and process solutions, managing projects, and integrating software systemsrnWhat are formal methods? When are they useful? How can we use formal methods?rn The pros and cons of using formal methodrn Work in stages, gathering Requirements, and validating formal specifications.rn Introduce the z methos in formal methodsrn Informal requirements, data flow diagramrn State transition diagram ans state transition tablern Basic types and abbreviation definitions, Axiomatic descriptions,state schemas and operation schemasrn Sets and types, declarations, and variables.rn Expressions and operatorsrn Predicates, equations, and lawsrn Tuples and records, Relations, tables and databases, pairs andrnbinary relationsrn Basic predicates, relations as predicates, Logicalrnconnectivesrn Using schema types and bindingrn Calculation and proof, laws, checking specifications,rnand Precondition calculationrn Subsystems, conditions, and modes. |

arabic objectives | |

ref. books | 1. Ian Sommerville, Software Engineering, 9th Edition, Pearson Education, 2010.rn2. A. Diller, Z: An Introduction to Formal Methods, 2nd Edition, Wiley, 1994. |

arabic ref. books | |

textbook | Jonathan Jacky, The Way of Z: Practical Programming with Formal Methods, Cambridge University Press, 1997. |

arabic textbook | |

objective set | |

content set | |