Prof. Dr. Amir Tomer is the head of the Software Engineering department at Kinneret College on the Sea of Galilee, Israel. He obtained his B.Sc. (cum laude) and M.Sc. in computer science from the Technion, Israel, and his Ph.D. in computing from Imperial College, London UK. Between 1982 and 2009 Amir was employed at Rafael – Advanced Defense Systems Ltd., Israel, as a software engineer, software manager, systems engineer and as the corporate director for Systems and Software Engineering Processes. Prof. Tomer has over 20 years of experience as a lecturer in the Technion and in other Israeli academic institutes, developing and teaching both undergraduate and graduate-level courses in Software Engineering, Software Project Management, Software Architecture, and more. He has awarded 3 times the Technion's Excellence in Teaching. Amir's research interests are software and system modeling and Software and Systems Engineering Education. He has obtained several international professional certifications, including Project Management Professional (PMP, by PMI), Certified Systems Engineering Professional (CSEP, by INCOSE) and Certified Software Quality Engineer (CSQE, by ASQ).
Keynote: The Functionality behind Non-functional Requirements
Functional requirements usually specify WHAT a system should do, and therefore they are expressed by the customer is a relatively clear and straightforward way. Non-functional requirements, aka Quality Attributes (QAs), usually constrain the functional requirements by imposing measures over the functions, specifying HOW WELL these functions has to operate. QAs are also those that make the difference between systems of the same nature: Most cars, for example, are functionally identical but differ greatly in their performance, safety, comfort and more. Non-functional requirements are often vaguely expressed and, even worse, are not explicitly said at all, causing expectation conflicts upon final testing or after delivery.
Structural solutions, e.g. using redundant servers to resolve availability issues, are not sufficient by themselves, because they require additional functions, such as backup, synchronization, recovery, hand-off etc.
This talk proposes a practical and simple method to reveal relevant non-functional requirements early in the projects. This is followed by designing a solution which includes both modified structure and additional behaviour, using software architecture techniques.
Reference: Tomer, Amir (2019), Functional Angels and Quality Devils: Incorporating Quality Scenarios into Functional Scenarios for Software-intensive System Architecture. International Journal of Computer and Software Engineering, 4(144). doi:10.15344/2456-4451/2019/144.