1 / 128

Requirements Analysis

Requirements Analysis. Section Three Version: 1.0 Mehr 1383. نگاه اجمال ي. ب ي ان مفهوم تحل ي ل ن ي ازها بررس ي نقشها ي مختلف در تحل ي ل ن ي ازها معرف ي و ي ژگ ي ها ي تحل ي لگر موفق بررس ي وظا ي ف و جا ي گاه و مهارتها ي مورد ن ي از تحل ي لگران مختلف

lexi
Télécharger la présentation

Requirements Analysis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Requirements Analysis Section Three Version: 1.0 Mehr 1383 Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  2. نگاه اجمالي • بيان مفهوم تحليل نيازها • بررسي نقشهاي مختلف در تحليل نيازها • معرفي ويژگيهاي تحليلگر موفق • بررسي وظايف و جايگاه و مهارتهاي مورد نياز تحليلگران مختلف • معرفي مدلهاي مختلف به عنوان ابزارهاي تحليل • بررسي ديدگاه و روشهاي تحليل شي گرا • معرفي اجماليUML به عنوان ابزار مدلسازي Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  3. مجموعه پرسشها • علت تحليل نيازهاي سيستم چيست؟ • ويژگيهاييک تحليلگر موفق چيست؟ • چه افرادي در تيم تحليل حضور دارند و وظايف، جايگاه و مهارتهاي مورد نياز براي هر يک از آنها چيست؟ • تحليل در ديدگاه شي گرا شامل چه گامهايي است؟ • فرآيند مدلسازي موارد کاربرد شامل چه گامهايي است؟ Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  4. راهنماي مدرس ( اسلايدهاي 5-20) مجموعه اسلايدهاي اين بخش بطور کلي به بررسي تعاريف و مفاهيم پايه در تحليل نيازمنديها مي پردازد. بدين منظور • اسلايدهاي 5و6 : به تعريف تحليل نيازمنديها و اهميت آن مي پردازد. • اسلايدهاي 7-13: به تعريف سيستم و مشخصات آن، مفاهيم مورد توجه در آن و اهميت آن مي پردازد. • در اسلايدهاي 14-15 دو مثال مطرح شده اند. • در اسلايدهاي 16-20، نقش تحليل گر سيستم و وظايفش مورد بررسي قرار مي گيرند. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  5. 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

  6. 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

  7. 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

  8. 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

  9. What Characteristics of a System Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  10. 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

  11. 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

  12. 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

  13. 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

  14. Decomposition Example Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  15. The systems analyst A typical IS department Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. راهنماي مدرس ( اسلايدهاي 22-41) در اين قسمت، تحليل گران مختلف مورد بررسي قرار مي گيرند. بدين منظور • ابتدا نقشهاي مطرح در Business Modeling در RUP مطرح شده و در حين آن • مهارتهاي مورد نياز تحليل گران مختلف بررسي شده • وظايف تحليل گران بيان شده و • جايگاه آنها مورد بررسي قرار مي گيرد. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  22. Roles for Business Modeling (RUP) • Business-Process Analyst • Business Designer Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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

  40. 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

  41. 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

  42. راهنماي مدرس ( اسلايدهاي 43-58) در اين مجموعه، مفاهيم مدلسازي و استفاده از آن در مهندسي نرم افزار و روشهاي تحليل مورد بررسي قرار مي گيرند. بدين منظور • ابتدا مدل و مدلسازي تعريف مي شود. • پس از آن، مدلهاي مختلف به عنوان ابزارهاي تحليل بررسي شده و • مدلسازي در مهندسي نرم افزار تعريف مي شود. • سپس روشهاي آناليز ساختيافته معرفي شده وبطور کلي روشهاي آناليز نيازمنديها بررسي مي شوند. • ديدگاهها و روشهاي تحليل شيء گرا معرفي مي شوند. • و در آخر روشهايFormal مطرح مي شوند. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  43. 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

  44. 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

  45. Example of a model Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  46. Some modeling techniques Sketches and drawings Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory http://www.design4plastics.com/case-study.html

  47. Some modeling techniques CAD drawings and models Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  48. Payload Lift Pressure Lift Pressure Some modeling techniques • Analytic models (equations) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  49. Some modeling techniques Analytical (Matlab) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

  50. Some modeling techniques Finite Element Analysis / Computational Fluid Dynamics etc Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory

More Related