1.29k likes | 1.52k Views
Requirements Analysis. Section Three Version: 1.0 Mehr 1383. نگاه اجمال ي. ب ي ان مفهوم تحل ي ل ن ي ازها بررس ي نقشها ي مختلف در تحل ي ل ن ي ازها معرف ي و ي ژگ ي ها ي تحل ي لگر موفق بررس ي وظا ي ف و جا ي گاه و مهارتها ي مورد ن ي از تحل ي لگران مختلف
E N D
Requirements Analysis Section Three Version: 1.0 Mehr 1383 Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
نگاه اجمالي • بيان مفهوم تحليل نيازها • بررسي نقشهاي مختلف در تحليل نيازها • معرفي ويژگيهاي تحليلگر موفق • بررسي وظايف و جايگاه و مهارتهاي مورد نياز تحليلگران مختلف • معرفي مدلهاي مختلف به عنوان ابزارهاي تحليل • بررسي ديدگاه و روشهاي تحليل شي گرا • معرفي اجماليUML به عنوان ابزار مدلسازي Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
مجموعه پرسشها • علت تحليل نيازهاي سيستم چيست؟ • ويژگيهاييک تحليلگر موفق چيست؟ • چه افرادي در تيم تحليل حضور دارند و وظايف، جايگاه و مهارتهاي مورد نياز براي هر يک از آنها چيست؟ • تحليل در ديدگاه شي گرا شامل چه گامهايي است؟ • فرآيند مدلسازي موارد کاربرد شامل چه گامهايي است؟ Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
راهنماي مدرس ( اسلايدهاي 5-20) مجموعه اسلايدهاي اين بخش بطور کلي به بررسي تعاريف و مفاهيم پايه در تحليل نيازمنديها مي پردازد. بدين منظور • اسلايدهاي 5و6 : به تعريف تحليل نيازمنديها و اهميت آن مي پردازد. • اسلايدهاي 7-13: به تعريف سيستم و مشخصات آن، مفاهيم مورد توجه در آن و اهميت آن مي پردازد. • در اسلايدهاي 14-15 دو مثال مطرح شده اند. • در اسلايدهاي 16-20، نقش تحليل گر سيستم و وظايفش مورد بررسي قرار مي گيرند. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
What Requirements Analysis: Definition • A modeling activity in which system analyst uses and refines elicited requirements and builds models of data, functional and behavioral domains of software system. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Why Why Requirements Analysis • Provides necessary artifacts for customer reviews and understanding the system. • Provides appropriate inputs for the Design and Test phases. • Provides the developer and the customer with the means to assess quality once software is built. • Checks completeness, correctness and consistency of the requirements. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
What Systems Thinking • System • A system is an interrelated set of business procedures used within one business unit working together for a purpose • A system has nine characteristics • A system exists within an environment • A boundary separates a system from its environment Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
What Characteristics of a System • Components • Interrelated Components • Boundary • Purpose • Environment • Interfaces • Input • Output • Constraints Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
What Characteristics of a System Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
What Systems ThinkingImportant System Concepts • Decomposition • The process of breaking down a system into smaller components • Allows the systems analyst to: • Break a system into small, manageable subsystems • Focus on one area at a time • Concentrate on component pertinent to one group of users • Build different components at independent times Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
What Systems ThinkingImportant System Concepts • Modularity • Process of dividing a system into modules of a relatively uniform size • Modules simplify system design • Coupling • Subsystems that are dependent upon each other are coupled • Cohesion • Extent to which a subsystem performs a single function Which is better: More or less modularity? High or low coupling? High or low cohesion? Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
What Systems ThinkingImportant System Concepts • Logical vs. Physical Modeling • Logical System Description • Portrays the purpose and function of the system • Does not tie the description to a specific physical implementation • Physical System Description • Focuses on how the system will be materially constructed Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Why Systems Thinking • Benefits • Identification of a system leads to abstraction • From abstraction you can think about essential characteristics of specific system • Abstraction allows analyst to gain insights into specific system, to question assumptions, provide documentation and manipulate the system without disrupting the real situation Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Decomposition Example Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
The systems analyst A typical IS department Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Why Role of a systems analyst • Study problems and needs of an organization • Determine best approach to improving organization through use of: • People • Methods • Information technology • Help system users and managers define their requirements for new or enhanced systems Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
What Role of a Systems Analyst • Assess options for system implementation • In-house development • Outsourced development • Outsourced development and operations • Commercial application • For in-house projects, work with a team of analysts and developers Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Who A Successful Systems Analyst • Analytical • Understanding of organizations • Problem solving skills • System thinking • Ability to see organizations and information systems as systems • Technical • Understanding of potential and limitations of technology Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Who A Successful Systems Analyst • Managerial • Ability to manage projects, resources, risk and change • Interpersonal • Effective written and oral communication skills Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Who A Successful Systems Analyst • Works in teams • Project Based • Includes • IS Manager • Systems analysts • Programmers • Users • Other specialists Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
راهنماي مدرس ( اسلايدهاي 22-41) در اين قسمت، تحليل گران مختلف مورد بررسي قرار مي گيرند. بدين منظور • ابتدا نقشهاي مطرح در Business Modeling در RUP مطرح شده و در حين آن • مهارتهاي مورد نياز تحليل گران مختلف بررسي شده • وظايف تحليل گران بيان شده و • جايگاه آنها مورد بررسي قرار مي گيرد. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Roles for Business Modeling (RUP) • Business-Process Analyst • Business Designer Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Business-Process Analyst (RUP) • The business process analyst leads and coordinates business use-case modeling by outlining and delimiting the organization being modeled. • The business-process analyst is responsible for the business architecture, outlining and delimiting the organization being modeled. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Skills of Business-Process Analyst • A good facilitator • Excellent communication skills • Knowledge of the business domain Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Tasks of Business-Process Analyst • assess the situation of the target organization where the project's end-product will be deployed • understand customer and user requirements, their strategies, and their goals • facilitate modeling of the target organization • discuss and facilitate a business engineering effort, if needed • perform a cost/benefit analysis for any suggested changes in the target organization • discuss and support those who market and sell the end-product of the project Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Role Assignment for Business-Process Analyst • Assign the Business-Process Analyst and Business Designer roles to the same person. • Assign the Business-Process Analyst and System Analyst roles to the same person. When the business context needs to be understood, but the organization doesn't have existing Business-Process Analyst skills. • Assign the Business-Process Analyst and Test Analyst roles to the same person. Where customers are actively involved in the project definition and ongoing assessment. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Business Designer Role (RUP) • Specifies the workflow of business use cases in terms of business workers and business entities. • It also distributes the behavior to these business workers and business entities - defining their responsibilities, operations, attributes, and relationships. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Business Designer Skills (RUP) • A good facilitator • Adequate communication skills • Knowledge of the business domain is helpful but not necessary for everyone acting in this role. • Needs to be familiar with the tools used to capture the business models. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Business Designer Tasks (RUP) • understand customer and user requirements, their strategies, and their goals • facilitate modeling of the target organization • discuss and facilitate a business engineering effort, if needed • take part in defining requirements on the end-product of the project Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Role Assignment for Business Designer • Consider assigning the Business-Process Analyst and Business Designer roles to the same person. These roles interact a lot, so it can be more efficient to have a single person responsible for both roles. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Analyst Role Set in RUP • System Analyst • Requirements Specifier • Additional Roles • Reviewer • Reviewer Coordinator • Technical Reviewer • Stakeholder Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Role of a System Analyst in RUP • Leads and coordinates requirements elicitation and use-case modeling by outlining the system's functionality and delimiting the system. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Skills of a System Analyst (RUP) • An expert in identifying and understanding problems and opportunities. • Ability to articulate the needs that are associated with the key problem to be solved or opportunity to be realized. • A good facilitator • Above-average communication skills. • Knowledge of the business and technology domains • Ability to absorb and understand new information quickly. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
System Analyst Role Assignment (RUP) • Assign one or more staff member to perform the System Analyst role only: Suitable for large teams or where the requirements are particularly complex, difficult to elicit or where the Vision is particularly challenging to define and manage. • Assign one staff member to perform both the System Analyst and Test Manager or Deployment Manager roles: A good option for smaller or resource constrained test teams. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Requirements Specifier Role (RUP) • Specifies the details of one or more a parts of the system's functionality by describing one or the aspects of the requirements Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Requirements Specifier Skills (RUP) • Good communication skills, both in terms of expressing themselves verbally and in writing. • Knowledge of the business and technology domain. • Familiar with the productivity tools used to capture the results of the requirements work. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Role Assignment for Requirements Specifier • Assign one or more staff members to perform the Requirements Specifier role only. • In large teams • Where there are domain experts available who have significant domain knowledge to specify appropriate requirements. • Assign one or more staff members to perform both the Requirements Specifier and Test Analyst roles: • Small to mid-sized test teams • Where domain experts are available to play both roles. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Additional Analyst Roles (1/2) • Reviewer: Responsible for providing timely feedback to project team members on the artifacts they have produced. • Review Coordinator: Responsible for facilitating formal reviews and inspections, and ensuring that they occur when required and are conducted to a satisfactory standard. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Additional Analyst Roles (2/2) • Technical Reviewer: Responsible for contributing feedback to the review process. This role is involved in the category of review that deals with the technical review of project artifacts. • Stakeholder: Responsible for representing an interest group whose needs must be satisfied by the project. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Technical Reviewer • Domain knowledge or subjective matter expertise appropriate to the artifact being reviewed • Either: • the skills required to produce the artifact being reviewed • the responsibility for other artifacts, the content of which this artifact is a transformation of or otherwise reflects in some manner. • the responsibility for subsequent activities in which this artifact will be consumed Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Role Assignment for Technical Reviewer • The Technical Reviewer role is assigned to one or more individuals on a case-by-case basis, according to the artifact(s) being reviewed, the teams involved and the availability of staff members to take part in the review. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
راهنماي مدرس ( اسلايدهاي 43-58) در اين مجموعه، مفاهيم مدلسازي و استفاده از آن در مهندسي نرم افزار و روشهاي تحليل مورد بررسي قرار مي گيرند. بدين منظور • ابتدا مدل و مدلسازي تعريف مي شود. • پس از آن، مدلهاي مختلف به عنوان ابزارهاي تحليل بررسي شده و • مدلسازي در مهندسي نرم افزار تعريف مي شود. • سپس روشهاي آناليز ساختيافته معرفي شده وبطور کلي روشهاي آناليز نيازمنديها بررسي مي شوند. • ديدگاهها و روشهاي تحليل شيء گرا معرفي مي شوند. • و در آخر روشهايFormal مطرح مي شوند. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
What What is Modeling? • Model: A simplified representation of reality. • Why simplification? • Reality is complex. • Many aspects of complexity are unrelated to our problem solving task. • An abstractionof a real-world problem that can be represented and manipulated with a computing system. • Modeling is a sound and proven technique in engineering. • Modeling is one of the key activities in building high quality systems. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Which Types of Models • Iconic: Like the system in a smaller scale. • Analog: Behave like the system like an organization chart, diagram, map,… • Mathematical (Quantitative) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Example of a model Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Some modeling techniques Sketches and drawings Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory http://www.design4plastics.com/case-study.html
Some modeling techniques CAD drawings and models Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Payload Lift Pressure Lift Pressure Some modeling techniques • Analytic models (equations) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Some modeling techniques Analytical (Matlab) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
Some modeling techniques Finite Element Analysis / Computational Fluid Dynamics etc Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory