code | SE494 |

credit_hours | 3 |

title | Formal Methods in Software Engineering |

arbic title | Ø§Ù„Ø·Ø±Ù‚ Ø§Ù„Ø±Ø³Ù…ÙŠØ© ÙÙŠ Ù‡Ù†Ø¯Ø³Ø© Ø§Ù„Ø¨Ø±Ù…Ø¬ÙŠØ§Øª |

prequisites | SE291 |

credit hours | 3 |

Description/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 Description/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 | |