Domain expert Hao zhong Shanghai Jiao Tong University
Domain Expert Hao Zhong Shanghai Jiao Tong University
Last class Introduction Science and research pen source Software engineering data Code analysis Compiler Partial program analysis WALA. SOOT
Last class • Introduction • Science and research • Open source Software engineering data • Code analysis Compiler Partial program analysis WALA, SOOT
ole The term domain expert is frequently used in expert systems software development, and there the term always refers to the domain other than the software domain. a domain expert is a person with special knowledge or skills in a particular area of endeavor. (an accountant is an expert in the domain of accountancy, for example
Role • The term domain expert is frequently used in expert systems software development, and there the term always refers to the domain other than the software domain. A domain expert is a person with special knowledge or skills in a particular area of endeavor. (An accountant is an expert in the domain of accountancy, for example.)
Requirement RUP: A requirement describes a condition or capability to which a system must conform; either derived directly from user needs, or stated in a contract, standard, specification, or other formally imposed document UML: a desired feature, property or behavior of the system Rational un ified process(统一开发过程) ·UML(统一建模语言) Phases Disciplines Inception Elaboration ConstructionTransition Business modeler Analysis Design Implementation Deployment Change Mgmt Initial Eab #1 Bab #2 Iterations
Requirement • RUP: A requirement describes a condition or capability to which a system must conform; either derived directly from user needs, or stated in a contract, standard, specification, or other formally imposed document. • UML: A desired feature, property or behavior of the system. • Rational Unified Process (统一开发过程) • UML (统一建模语言)
Types of requirements Functional What is the system supposed to do Mapping from input to output Non-functional (quality Performance Resource consumption Usability Reliability Robustness Portability
Types of Requirements • Functional What is the system supposed to do Mapping from input to output • Non-functional (quality) Performance Resource Consumption Usability Reliability Robustness Portability …
Requirements engineering First stage of software life cycle Produces a document, software requirements specification(srs) Customers provide a high level ideas Software developers need a more detailed specification Requirements are bridging the gap between the minds of customers and developers Customers "know what the system shall do Developers"know"what they are going to build Requirements are means of communication with customer and many other stakeholders by Helene wong, Phd thesis, 1994
Requirements Engineering • First stage of software life cycle • Produces a document, software requirements specification (SRS) • Customers provide a high level ideas • Software developers need a more detailed specification • Requirements are bridging the gap between the minds of customers and developers Customers “know” what the system shall do Developers “know” what they are going to build • “Requirements are means of communication with customer and many other stakeholders” • -- by Helene Wong, PhD thesis, 1994
Stakeholders People who support, benefit from, or affected by a software project Stakeholders may include Customers Users Final beneficiaries System administrators Supervisors
Stakeholders • People who support, benefit from, or affected by a software project • Stakeholders may include Customers Users Final beneficiaries System administrators Supervisors
Stakeholders(example) Name Represents Role IT Executive IT Department and Wylie Responsible for project funding approval. Monitors College as whole project progress Registrar The office of the registrar, Ensures that the system will meet the needs of the registrar, who has to manage the course registration administrative and data data, including professor and student databases entry personnel Student Students Ensures that the system will meet the needs of students Professor Professors Represents the interests of the faculty(professors)
Stakeholders (Example) Name Represents Role IT Executive IT Department and Wylie College as whole. Responsible for project funding approval. Monitors project progress. Registrar The office of the registrar, administrative and data entry personnel. Ensures that the system will meet the needs of the registrar, who has to manage the course registration data, including professor and student databases. Student Students Ensures that the system will meet the needs of students. Professor Professors Represents the interests of the faculty (professors)
Requirements analysis ls hard Major causes of project failures Incomplete requirements Changing requirements Poor user input
Requirements Analysis Is Hard • Major causes of project failures Incomplete requirements Changing requirements Poor user input
The cost to fix a problem Requirements Time 25 Design Stage discovered Relative repair cost (pday) Requirements 0.1-02 Cod Desian 05 10 Unit Test Coding Unit test 25 Acceptance Test Acceptance test Maintenance Maintenance
The cost to fix a problem Stage discovered Relative repair cost (p.day) Requirements 0.1 – 0.2 Design 0.5 Coding 1 Unit test 2 Acceptance test 5 Maintenance 20 100 2.5 5 10 25 .5 - 1 Requirements Time Design Coding Unit Test Acceptance Test Maintenance Stage