You are on page 1of 6

SEMESTER II BSE2201 (3 CU) FORMAL METHODS In this course students learn how to represent computing systems with both

state-based and process algebra models. They specify computing systems formally, reason about specifications, and verify their properties. Objectives Connect specifications to programs through refinement and decomposition. Use theorem proving and model checking tools. Learning outcomes Be able describe the fundamental principles including the laws and theorems arising from the concepts covered in the course. SEMESTER II BSE2201 (3 CU) FORMAL METHODS In this course students learn how to represent computing systems with both state-based and process algebra models. They specify computing systems formally, reason about specifications, and verify their properties. Objectives Connect specifications to programs through refinement and decomposition. Use theorem proving and model checking tools. Learning outcomes Be able describe the fundamental principles including the laws and theorems arising from the concepts covered in the course. Be able to apply course material along with techniques and procedures covered in this course to solve practical problems. Demonstrate factual knowledge including the mathematical notation and terminology used in the course. Demonstrate programming skills by writing numerical programs, such as Mat lab programs, to solve the above problems. (3 hours) (3 hours) (3 hours) (3 hours) (3 hours) (6 hours)

Course outline Introduction to formal specification Transformational development Specification analysis and proof Program verification Objects and types Sets and set types

Tuples and Cartesian product types Bindings and schema types Relations and functions Properties and schemas Generic constructions Generics, Sequential Systems

(6 hours) (3 hours) (6 hours) (3 hours) (3 hours) (3 hours)

http://www.scribd.com/doc/54998573/The-Z-Notation-A-Reference-Manual Reference Modern Formal Methods and Applications by Hossam A. Gabbar, SpringerVerlag 2006. System Development using VDM by Jones, C. B. (Year of Publication)

BSE22O2

(3 CU)

SYSTEM REQUIREMENTS ENGINEERING This course is a prerequisite to introduction to software engineering. It intends to prepare students to understand Issues in Requirements Engineering and getting an understanding of the difficulties involved in requirements engineering. The course also intends to meet the following objectives as outlined below. Objectives To understand and apply Requirements Engineering Process To understand and use Requirements Elicitation and Specification To understand and use Formal Techniques To understand modeling and analysis of Non-Functional Requirements. Learning outcomes Students will be able to know the roles of systems requirements engineering in system development. Be able to modeling behavioral goals and objectives for requirements engineering. Be able to understand how to manage inconsistency and conflict. Be able to understand requirements engineering risks and quality goals. Course content Outline Definition of requirements engineering and role in system development 3HRS

Fundamental concepts and activities of requirements engineering 3HRS Information elicitation techniques and Modeling scenarios 3HRS Fundamentals of goal-oriented requirements engineering and Modeling behavioral goals. 3HRS Modeling quality goals, Goal modeling heuristics 3HRS Object modeling for requirements engineering 3HRS Object modeling notations, object modeling heuristics 3HRS Identifying objects from goals 3HRS Modeling use cases and state machines 3HRS Deriving operational requirements from goals 3HRS Requirements specification, verification and validation 3HRS Management of inconsistency and conflict 3HRS Requirements engineering risks 3HRS The role of quality goals in the requirements selection process 3HRS Techniques for requirements evaluation, selection and prioritization 3HRS Requirements management 3HRS

Requirements traceability and impact analysis 3HRS Reference Material


Hull, Jackson, and Dick, Requirements Engineering, 2004, Springer Karl E. Wiegers, Software Requirements, 2nd Edition, 2003, Microsoft Press Loucopoulos and Karakostas, System Requirements Engineering, McGraw-Hill, 1995. Kotonya and Sommerville, Requirements Engineering: Processes and Techniques, John Wiley Sons, 1998.

Be able to apply course material along with techniques and procedures covered in this course to solve practical problems. Demonstrate factual knowledge including the mathematical notation and terminology used in the course. Demonstrate programming skills by writing numerical programs, such as Mat lab programs, to solve the above problems. (3 hours) (3 hours) (3 hours) (3 hours) (3 hours) (6 hours) (6 hours) (3 hours) (6 hours) (3 hours) (3 hours) (3 hours)

Course outline Introduction to formal specification Transformational development Specification analysis and proof Program verification Objects and types Sets and set types Tuples and Cartesian product types Bindings and schema types Relations and functions Properties and schemas Generic constructions Generics, Sequential Systems

Reference Modern Formal Methods and Applications by Hossam A. Gabbar, SpringerVerlag 2006. System Development using VDM by Jones, C. B. (Year of Publication)

BSE22O2

(3 CU)

SYSTEM REQUIREMENTS ENGINEERING

This course is a prerequisite to introduction to software engineering. It intends to prepare students to understand Issues in Requirements Engineering and getting an understanding of the difficulties involved in requirements engineering. The course also intends to meet the following objectives as outlined below. Objectives To understand and apply Requirements Engineering Process To understand and use Requirements Elicitation and Specification To understand and use Formal Techniques To understand modeling and analysis of Non-Functional Requirements. Learning outcomes Students will be able to know the roles of systems requirements engineering in system development. Be able to modeling behavioral goals and objectives for requirements engineering. Be able to understand how to manage inconsistency and conflict. Be able to understand requirements engineering risks and quality goals. Course content Outline Definition of requirements engineering and role in system development 3HRS Fundamental concepts and activities of requirements engineering 3HRS Information elicitation techniques and Modeling scenarios 3HRS Fundamentals of goal-oriented requirements engineering and Modeling behavioral goals. 3HRS Modeling quality goals, Goal modeling heuristics 3HRS Object modeling for requirements engineering 3HRS Object modeling notations, object modeling heuristics 3HRS Identifying objects from goals 3HRS

Modeling use cases and state machines 3HRS Deriving operational requirements from goals 3HRS Requirements specification, verification and validation 3HRS Management of inconsistency and conflict 3HRS Requirements engineering risks 3HRS The role of quality goals in the requirements selection process 3HRS Techniques for requirements evaluation, selection and prioritization 3HRS Requirements management 3HRS Requirements traceability and impact analysis 3HRS Reference Material

Hull, Jackson, and Dick, Requirements Engineering, 2004, Springer Karl E. Wiegers, Software Requirements, 2nd Edition, 2003, Microsoft Press Loucopoulos and Karakostas, System Requirements Engineering, McGraw-Hill, 1995. Kotonya and Sommerville, Requirements Engineering: Processes and Techniques, John Wiley Sons, 1998.

You might also like