SlideShare una empresa de Scribd logo
1 de 103
Descargar para leer sin conexión
Structured vs. Object Orient Analysis and DesignSAD vs. OOSAD Motaz K. Saad  May 2010
Outline  Бүтэцлэгдсэн шинжилгээний үе Обьект хандалтат шинжилгээний үе Бүтэцлэгдсэн шинжилгээний хөгжүүлэлт болон ОХШЗ-оор  програм хангамж хөгжүүлэх Ашигласан номууд UML-ийн хэрэглээ Дүгнэлт & үнэлгээ 2
Textbooks Modern Systems Analysisand Design6th Edition Jeffrey Hoffer Joey GeorgeJoseph Valacich 3 Object Oriented Systems  Analysis and Design  2nd   edition  Joey George Dinesh Batra Joseph Valacich Jeffrey Hoffer Software Engineering 8th , 9th edition  Lan Summerville Learning UML 2.0,  By Kim Hamilton, Russell Miles, O'Reilly, 2006. Visual Modeling with Rational Rose 2002 and UML, 3/E, by Terry Quatrani
Key Differences Between Structured and Object-Oriented Analysis and Design 4
SW Project phases	 Any project in the world has the following phases: Planning Analysis: system requirements are studied and structured Design: recommended solution is converted into logical and then physical system specifications Logical design – all functional features of the system chosen for development in analysis are described independently of any computer platform  Physical design – the logical specifications of the system from logical design are transformed into the technology-specific details from which all programming and system construction can be accomplished Implementation Testing  Maintenance  5
Structured Analysis and design (SAD) A. Шинжилгээний үе Системийн шаардлага тодорхойлох Бүтэцлэгдсэн процессийн шаардлага тодорхойлох Логик шаардлагууд(logical modeling) Бүтэцлэгдсэн системийн өгөгдлийн шаардлагууд B. Зохиомжын үе Өгөгдлийн баазын дизайн Формууд болон тайлангийн загварууд  6
Structured Analysis and design (SAD) A. Шинжилгээний үе Системийн шаардлагуудыг тодорхойлох: Ярилцлага: Ганцаарчилсан эсвэл группээр Бүтэцлэгдсэн процессийн шаардлага тодорхойлох: Data Flow Diagram (DFD) – логик процессийн загвар DFD levels (процессийн задралууд) Context diagram-ерөнхий диаграмм  4 type of DFD Физик урсгал: элементэд тохирсон Логик урсгал:системийн урсгалуудыг тодорхойлох 7
DFD Symbols Comparison of DeMarco and Yourdon and Gane and Sarson DFD symbol sets 8 Process-процесс Data store- өгөгдлийн файл Source/sink-эх сурвалж Data flow- өгөгдлийн урсгал
Өгөгдлийн урсгалын диаграм Context-level data flow diagram showing project scope for Purchasing Fulfillment System (Pine Valley Furniture) 9
10 Suppliers-нийлүүлэгчид Production schedulers-бүтээгдэхүүн хуваарилагчид Purchasing fulfillment system- бөөний худалдааны систем Quotes-Үнэлгээ, тоо хэмжээ Shipment-бараа нийлүүлэх
Context Diagram-Ерөнхий диаграм Context diagram of Hoosier Burger’s food-ordering system 11
Developing DFDs (Cont.) Level-0 diagram нь системийн үндсэн процессыг үзүүлдэг ба үүнд өгөгдлийн урсгалууд, өгөгдөл хадгалах дээд түвшний элементүүд байна.  Processes are labeled 1.0, 2.0, etc. These will be decomposed into more primitive (lower-level) DFDs. 12
Level-0 Diagram 13 Level-0 DFD of Hoosier Burger’s food-ordering system
Sold-зарагдсан Inventory-бараа материал, нөөц Transform-өөрчлөх Depletion-дууссан 14
Data Flow Diagramming Rules 15 ªãºãäëèéíÓðñãàëûíÄèàãðàìì (ªÓÄ) íüîðøèíáóéáîäèòñèñòåìýñâýëøèíýíýâòð¿¿ëýõãýæáóéáîäèòñèñòåìèéíàëèíûõíü÷á¿ðýíòºãñèëýðõèéëýëáîëæ÷àäàõã¿é. Ó÷èðíüçàãâàðò ºãºãäëèéãõàäãàëàõáîëîí 纺õ ôèçèêïðîöåññ, ïðîöåññèéãã¿éöýòãýíèëýðõèéëýõõ¿íìàøèí, ºãºãäºëõàäãàëàõõýðýãñýëáîëîíÿìàðíýãàëäààøàëãàõïðîöåññóóäûãòóñãàäàãã¿é. Ãýòýëáîäèòñèñòåìäýäãýýð õ¿÷èíç¿éë¿¿ä çàéëøã¿éõýðýãòýé. ªãºãäëèéíÓðñãàëûíÄèàãðàìì (ªÓÄ)-èéí ¿ð ä¿íäãàðàõýíýîíöãîéçàãâàðíüçºâõºí ÞÓ õèéãäýõ ¸ñòîéã ¿ç¿¿ëýõýýñáóñ ÕÝÐÕÝÍ õèéõèéãàâ÷ ¿çýõã¿é.
Level-1 DFD Level-1 diagram showing the decomposition of Process 4.0 from the level-0 diagram for Hoosier Burger’s food-ordering system Level-1 DFD shows the sub-processes of one of the processes in the Level-0 DFD. This is a Level-1 DFD for Process 4.0. Processes are labeled 4.1, 4.2, etc. These can be further decomposed in more primitive (lower-level) DFDs if necessary. 16
Aggregate-иж бүрдэл, нийт дүн 17
18 Level-n DFD Level-2 diagram showing the decomposition of Process 4.3 from the level-1 diagram for Process 4.0 for Hoosier Burger’s food-ordering system Level-n DFD shows the sub-processes of one of the processes in the Level n-1 DFD. This is a Level-2 DFD for Process 4.3. Processes are labeled 4.3.1, 4.3.2, etc. If this is the lowest level of the hierarchy, it is called a primitive DFD. Format-Хэлбэр, хэмжээ
ӨУД-ийн 2 төрөл Физик урсгал Процессийн түвшинүүд нь  тодорхой дараалалтай бөгөөд энэ нь өгөгдлийг боловсруулдаг. Өгөгдлийн урсгалууд болон өгөгдөл хадгалах хэрэгсэлүүдийг физик нэрээр нь тодорхойлж болдог.  Логик урсгал Өгөгдөл болон процессуудын мэдээлэл нь системийн урсгалаар тодорхойлогдсон байдаг. 19
SAD – Analysis phase (Cont.) Логик шаардлагууд (logical modeling) Шийдвэрийн хүснэгт болон шийдвэрийн мод хэрэглэх Бүтэцлэгдсэн системийн өгөгдлийн шаардлагууд ER diagram-обьектийн холбоосын диаграм 20
SAD – Analysis phase (Cont.) B. Загварчилгааны үе Өгөгдлийн баазын загвар (DB normalization) Формууд болон тайлангийн загвар (GUI design) 21
DB Normalization-ӨБ-ийг энгийн хэлбэрт шилжүүлэх ,[object Object]
ÎÕ øèíæèëãýýíü ªÑÑ-èéãäýýðýýñäîîøíü (Top-Down) çàäëàæøèíæëýõàðãà
ýõëýýäñèñòåìèéíîáúåêò¿¿äèéãòîäîðõîéëäîã
äàðààíüîáúåêò¿¿äýýàòðèáóòûíòºâøèíäçàäëàäàã.1-ð ýíãèéíõýëáýð ,[object Object]
Òýã óòãàò ýëåìåíòèéã ñàëãàõ
Äàâòàãäñàí óòãàòàé ýëåìåíò ñàëãàõ
Áàéæ áîëîõ ò¿ëõ¿¿ðèéã òîäîðõîéëîõ2-ð ýíãèéíõýëáýð ,[object Object]
Ôóíêöèîíàëü á¿ðýí õàìààðëûã òîäîðõîéëîõ
Ôóíêöèîíàëü á¿ðýí áóñ õàìààðàëòàé ýëåìåíòèéã ñàëãàõ3-ð ýíãèéíõýëáýð ,[object Object],22
Object Oriented Analysis and Design-Обьект хандалтат шинжилгээ ба зохиомж OOAD 23
Object-Oriented Analysis and Design (OOAD) Обьектууд нь өгөгдөл болон процессуудад үндэслэгддэг. Object: a structure encapsulating attributes and behaviors of a real-world entity 24
Outline  SAD Phases OOAD Phases SAD vs. OOAD software development  Adopted Books UML in practice  Conclusions & Recommendations  25
OOSAD textbook A. Шинжилгээний үе Бүтэцлэгдсэн шаардлагууд (Use cases) Схемчилсэн өгөгдлийн загвар (class diagram) Обьектын холбоосын загвар Class diagram -> ER diagram  Шинжилгээний классууд Class stereotypes Sequence diagram Communication diagram   Activity diagram State machine diagram 26
OOSAD textbook B. Зохиомжын үе Физик ӨБ-ийн загвар Загварчилгааны элементүүд Design classes Design components  Design system Architecture GUI design 27
Learning UML textbook Focus on 4+1 view architecture  28 Системийн логик бүтцийн загварлaл:  Classes and Class, Sequence State Machine Diagrams Шаардлагын загварчлал: Use Cases Системийн ажлын урсгалын загварчлал: Activity Diagrams Системийн хэсгүүдийг удирдах болон дахин ашиглалт: Component, Package, Deployment, Diagrams
OOAD project phases Analysis Шаардлага цуглуулах, шинжилгээ болон загварчлал (Шаардлагын инженерчлэл /Requirement Engineering/ Use Case загвар Case-үүдээ илрүүлэх, үйл явдлын урсгал, үйл ажиллагааны диаграм Обьектын загвар Классуудыг илрүүлэх болон холбоосыг тодорхойлох Обьектын харилцан үйлчлэл: Sequence & collaboration Diagram, State Machine Diagram,  ОХД байгуулах/Object to ER Mapping/ Design Өгөгдлийн баазын физик загвар  Загварын элементүүд Системийн загварын архитектур Классуудын загвар: Загварчилгааг шалгах, классуудыг нэгтгэх, классуудыг задлах, классуудыг устгах Загварчилгааны бүрэлдэхүүн хэсгүүд Хэрэглэгчийн интерфейс загвар 29
Use Case жишээнүүд 30
Оюутны бүртгэлийн системийн Use case диаграм 31
Billing system- Тооцооны систем Roster-жагсаалт Maintain-хадгалах Registrar-бүртгэгч
Use Case: Эмнэлэгийн системийн жишээ 33
Appointment-тов Defer-сунгах, хойшлуулах Extension point Generalization-нэгтгэл Clerk-ажилтан Treatment-эмчилгээ Boundary- хил хязгаар
Use Case: Банкны системийн жишээ 35
Үйл ажиллагааны диаграмын жишээнүүд 36
Create  curriculum Select courses  to teach Create  Бүртгэлийн системийн үйл ажиллагааны диаграм Registrar Professor catalog Mail catalog  Place catalog  to students in bookstore Open  registration [ Registration time period expired ] Swimlanes Close  registration 37
38 Үйл ажиллагааны диаграм:Банкны систем
Notify-мэдүүлэх Approach-хандах 39
Үйл ажиллагааны диаграм: Бараа нийлүүлэх систем 40
Fill order-Захиалга бэлтгэх Ship order-Захиалга илгээнэ Send invoice-нэхэмжлэл явуулна Make payment-төлбөр хийнэ Accept payment-төлбөр хүлээн авах 41
Finding classes (thinking in objects)(Registration System) 42 Boundary class (GUI interface) Entity class Control class RegistrationManager Entity class Course addStudent(Course, Student) name numberCredits open() addStudent(Student)
Class relations: Удамшил/Inheritance and Multiplicity(Registration System) 0..* 1 1 0..* 1 3..10 4 1..* 1 0..4 ScheduleAlgorithm RegistrationForm RegistrationManager addStudent(Course, Student) Course name RegistrationUser numberCredits name Student open() addStudent(Student) major Professor CourseOffering tenureStatus location open() addStudent(Student} Tenure-албан тушаал
Холбоосууд Гурван төрлийн холбоос байдаг. Association-нэгдэл Aggregation-бүрдмэл Dependency-хараат 44
Нэг классын обьектууд бусад классын обьектуудтай харилцан үйлчлэлцэх  Нэг классын обьектууд бусад классын обьектуудтай урт хугацааны турш харилцан үйлчлэлцэх  Нэг класс нь зарим үед холбоо хамааралаа ашиглах үед Нэг класс нь бусад классын обьектийг агуулж байгаа үед Нэг класс нь бусад классын төрөл болж байгаа үед 45
Обьект хандалтат өргөтгөлүүдийн холбоосын загвар Generalization-Ерөнхийлөл Multivalued attributes (OK to violate atomicity requirement of 1NF)-олон утгатай шинж чанар Aggregation Object identifiers-обьект тодорхойлогчид Pointers-заагчид Behaviors-шинж чанар Richer set of data types-өгөгдлийн төрлүүдийн олонлог Object-relational Data Model 46
Үндсэн өгөгдлийн загварыг ОХЗагвар руу хөрвүүлэх Классуудыг хөрвүүлэх Холбоосуудыг хөрвүүлэх Normalize object relations Обьектын холбоосуудыг нэгтгэх 47
Supertype/subtype relationships 48
Mapping Supertype/subtype relationships to relations These are implemented as one-to-one relationships 49
Sequence Diagram registration  registration  math 101  : Student form manager math 101  section 1 1: fill in info 2: submit 3: add student to math 101 4: add student 5: are you open? 6: add student A sequence diagram displays object interactions arranged in a time sequence 50
51 public class MessageReceiver { public void foo(  )    {       // Do something inside foo.    } } public class MessageCaller {    private MessageReceivermessageReceiver;    // Other Methods and Attributes of the class are declared here    // The messageRecevier attribute is initialized elsewhere in    // the class.    public doSomething(String[] args)    {       // The MessageCaller invokes the foo(  ) method this.messageReceiver.foo(  ); // then waits for the method to return       // before carrying on here with the rest of its work    } }
Collaboration Diagram course form :  1: set course info CourseForm 2: process 3: add course  : Registrar theManager :  aCourse :  CurriculumManager Course 4: new course A collaboration diagram displays object interactions organized around objects and their links to one another 52
53
54
Sequence Diagram for Bank System 55
State Machine Diagram 56
57 State Machine Diagram
58 Showing Components Working Together
59 Focusing on the key components and interfaces in your system Focusing on component dependencies and the manifesting artifacts is useful when you are trying control the configuration or deployment of your system
60 Assembly connectors show components working together through interfaces
System Architecture  61
Key Differences Between Structured and Object-Oriented Analysis and Design 62
Software Engineering textbookMain topics  INTRODUCTION Socio-technical System Emergent property REQUIREMENTS ENGINEERING Systems Models DESIGN Architectural Design Application Architectures Object-oriented Design Real-time Systems User Interface Design SOFTWARE DEVELOPMENT Iterative SW Development SW Reuse CBSE Critical Systems Development Software Evolution VALIDATION Verification and Validation Software Testing Critical Systems Validation MANAGEMENT Software Cost Estimation Quality Management
Software Engineering textbookMain topics (Cont.) EMERGING TECHNOLOGIES Security Engineering Service-oriented Software Engineering Aspect-oriented Software Development
Software Engineering textbookSystem categories Technical computer-based systems Systems that include hardware and software but where the operators and operational processes are not normally considered to be part of the system.  The system is not self-aware. Socio-technical systems Systems that include technical systems but also operational processes and peoplewho use and interact with the technical system.  Socio-technical systems are governed by organisational policies and rules.
Software Engineering textbookSocio-technical system characteristics Emergent properties Properties of the system of a whole that depend on the system components and their relationships. Non-deterministic They do not always produce the same output when presented with the same input because the systems’s behaviour is partially dependent on human operators. Complex relationships with organisational objectives The extent to which the system supports organisational objectives does not just depend on the system itself.
Software Engineering textbookTypes of emergent property Functional properties  These appear when all the parts of a system work togetherto achieve some objective.  For example, a bicycle has the functional property of being a transportationdevice once it has been assembled from its components. Non-functional emergent properties Examples are reliability, performance, safety, and security. These relate to the behaviour of the system in its operational environment. They are often critical for computer-based systems as failure to achieve some minimal defined level in these properties may make the system unusable.
Software Engineering textbookThe systems engineering process
Software Engineering textbookInter-disciplinary involvement
Software Engineering textbookSystem Models Context models  Blocks (box diagram of subsystems) DFDs can be used Behavioural models Blocks (box diagram of subsystems) Two types of behavioral model are: Data processing models that show how data is processed as it moves through the system (DFD) State machine models that show the systems response to events. Data models DFDs Object models Inheritance models Aggregation models Interaction models 70
Key Differences Between Structured and Object-Oriented Analysis and Design 71
Papers  72 In practice - UML software architecture and design description, IEEE Software, 2006 The Impact of UML Documentation on Software Maintenance - An Experimental Evaluation, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 32, NO. 6, JUNE 2006. A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 34, NO. 3, MAY/JUNE 2008.
Papers  73 In practice - UML software architecture and design description, IEEE Software, 2006
Practitioner reflections on UML use 2+ month period, 80 architects participated.  major responsibilities among respondents: analysis (66 %), design (66 %), specification (61 %), and programming (52 %). The respondents came from different application domains. Most worked in information systems (61 %) 28 % worked in embedded systems a few worked in tool and operating systems development.  60% worked in projects of more than 5 person-years. 74
Survey respondents’ use of UML for 4+1 architectural views 75
Survey respondents’ assessment of their adherence to the UML standard. 76
Deadline vs. completeness as stopping criteria for different project sizes. 77
Problems encountered due to incomplete models correlated to respondent demographic data regarding project size. 78
Problems with UML descriptions Scattered information:Design choices are scattered over multiple views. some dependencies might show up in the logical view, while others appear in the process view. Incompleteness:The architects focus on what they think is important. Inconsistency.  UML-based software development is inevitably inconsistent.  Industrial systems are typically developed by teams. Different teams can have different understandings of the system as well as different modeling styles, and this can lead to inconsistent models. 79
Other problem classes include the following: Diagram quality. UML lets architects represent one design in different ways.  they can decompose a diagram that contains too many elements into several smaller diagrams.  they can influence how easy the model is to understand and how it gets interpreted. Informal use.  Architects sometimes use UML in a very sketchy manner.  These diagrams deviatefrom official UML syntax, making their meaning ambiguous. Lack of modeling conventions.  case studies show that engineers use UML according to individual habits.  These habits might include layout conventions, commenting, visibility of methods and operations, and consistency between diagrams. 80
Defects in industrial UML models Subjectiveimpression obtained via the survey Objectivemeasurements about the quality of industrial UML models. (14 case studies of different sizes from various organizations and application domains) 81
Defects found in the case studies Methods that are not called in sequence diagrams Classes not occurring in sequence diagrams Objects without names Messages not corresponding to methods Classes without methods 82
Papers  83 The Impact of UML Documentation on Software Maintenance - An Experimental Evaluation, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 32, NO. 6, JUNE 2006.
It is important to investigate the benefits obtained from modeling.  this paper reports on controlled experiments, spanning two locations, that investigate the impact of UML documentation on software maintenance.  Results show that:  for complex tasks and past a certain learning curve, the availability of UML documentation may result in significant improvements in the functional correctness of changes as well as the quality of their design. there does not seem to be any saving of time. For simpler tasks, the time needed to update the UML documentation may be substantialcompared with the potential benefits, thus motivating the need for UML tools with better support for software maintenance 84
85
86
Experimental results The goal was to shed some light on the cost effectiveness of model-driven development with UML.  focused on whether models help software engineers to make quicker and better changes to existing systems.  The results of the two experiments are mostly consistent.  When considering only the time required to make code changes, using UML documentation does help to save effort overall.  On the other hand, when including the time necessary to modify the diagrams,  no savings in effort are visible.  in terms of the functional correctness of the changes: using UML has a significant, positive impact on the most complex tasks. In the Ottawa experiment, which also investigated the design of the changes, using UML helped to achieve changes with superior design quality, which would then be expected to facilitate future, subsequent changes. the above statements apply only with qualifications. Benefits are not likely to be derived if the tasks to be performed lie belowa certain level of complexityor if software engineers have not reached a certain level of skill regarding the use of UML models for analyzing the effects of changes, in addition to having received substantial training in UML modeling.  Furthermore, current tools still need substantial improvements in the way they support changes to models and the checking of consistency. 87
Papers  88 A Realistic Empirical Evaluation of the Costsand Benefitsof UML in Software Maintenance, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 34, NO. 3, MAY/JUNE 2008.
The Unified Modeling Language (UML) is the de facto standard for object-oriented software analysis and design modeling. few empirical studies exist which investigate the costsand evaluate the benefitsof using UML in realistic contexts.  Such studies are needed so that the software industry can make informed decisions regarding the extent to which they should adopt UML in their development practices.  89
This is the first controlled experiment that investigates the costs of  maintaining and the benefits of using UML documentation during the maintenance and evolution of a real nontrivial system, using professionaldevelopersas subjects, working with a state-of-the-art UML tool during an extended period of time.  Control Group: had no UML documentation UML Group: had UML documentation. had, on average, a practically and statistically significant 54% increase in the functional correctness of changes  (p = 0.03) insignificant 7% overall improvement in design quality (p = 0.22) 90
91
Selection of Subjects Subjects were recruited via a request for consultants being sent to Norwegian consulting companies. The request specified a flexible range of time, for which the consultants would be needed, along with the required education and expertise. Companies replied with resume of potential candidates and these were then screened to verify that they indeed complied with the requirements. The subjects were required to at least have a bachelor’s degree in informatics (or its equivalent), some familiarity with UML (use case, class,  sequence, and state diagrams), and some project experience with the following technologies: Struts, JavaServerPages (JSP), Java 2, HTML, the Eclipse IDE, and MySQL. Note that the recruitment of all subjects could not be completed before the start of the experiment. This was due to several practical reasons: The market for these skilled professionals is very tight. We could not give the consulting companies definite start and end dates as to when the consultant would be working. The consulting companies could not give us an exact start date for consultants The consulting companies often could not guarantee that the consultant would be available. 92
93 10 no UML 10 UML
94
95

Más contenido relacionado

La actualidad más candente (20)

Instruction sets
Instruction setsInstruction sets
Instruction sets
 
Ood lesson2
Ood lesson2Ood lesson2
Ood lesson2
 
It101 lec6 10.06
It101 lec6 10.06It101 lec6 10.06
It101 lec6 10.06
 
CS203 Лекц01 Prefeace
CS203 Лекц01  PrefeaceCS203 Лекц01  Prefeace
CS203 Лекц01 Prefeace
 
Rdbms 300 test
Rdbms 300 testRdbms 300 test
Rdbms 300 test
 
Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 14Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 14
 
класс диаграм
класс диаграмкласс диаграм
класс диаграм
 
өгөгдлийн сан
өгөгдлийн санөгөгдлийн сан
өгөгдлийн сан
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэц
 
Sw203 Lecture8 Interface
Sw203 Lecture8 InterfaceSw203 Lecture8 Interface
Sw203 Lecture8 Interface
 
Systemiin shinjilgee ba zohiomj lekts
Systemiin shinjilgee ba zohiomj lektsSystemiin shinjilgee ba zohiomj lekts
Systemiin shinjilgee ba zohiomj lekts
 
Se304
Se304Se304
Se304
 
Windows үйлдлийн систем
Windows үйлдлийн системWindows үйлдлийн систем
Windows үйлдлийн систем
 
It101 16
It101 16It101 16
It101 16
 
Lecture 15&16
Lecture 15&16Lecture 15&16
Lecture 15&16
 
U.IT101 Lab 9
U.IT101 Lab 9U.IT101 Lab 9
U.IT101 Lab 9
 
Lects 12
Lects 12Lects 12
Lects 12
 
Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15
 
database 7-8
database 7-8database 7-8
database 7-8
 
10 b oyunchuluun
10 b oyunchuluun10 b oyunchuluun
10 b oyunchuluun
 

Destacado

компанийн тухай
компанийн тухайкомпанийн тухай
компанийн тухайFacebook
 
Internet
InternetInternet
InternetAkhyt
 
Bie daaltiin ajil 2
Bie daaltiin ajil 2Bie daaltiin ajil 2
Bie daaltiin ajil 2BPurev
 
Bie daalt 2 sedev
Bie daalt 2 sedevBie daalt 2 sedev
Bie daalt 2 sedevBPurev
 
It101 lab11 use case
It101 lab11 use caseIt101 lab11 use case
It101 lab11 use caseBPurev
 
U.IT101 Lab1
U.IT101 Lab1U.IT101 Lab1
U.IT101 Lab1BPurev
 
Computer olimpiad
Computer olimpiadComputer olimpiad
Computer olimpiadBPurev
 
Erdenm shinjilgeenii hural
Erdenm shinjilgeenii huralErdenm shinjilgeenii hural
Erdenm shinjilgeenii huralBPurev
 
Lab6 db
Lab6 dbLab6 db
Lab6 dbBPurev
 
U.IT101 Lab3
U.IT101 Lab3U.IT101 Lab3
U.IT101 Lab3BPurev
 
лабораторийн ажил 1 дөлгөөн тайвнаа
лабораторийн ажил 1 дөлгөөн тайвнаалабораторийн ажил 1 дөлгөөн тайвнаа
лабораторийн ажил 1 дөлгөөн тайвнааBPurev
 
It101 lab 5
It101 lab 5It101 lab 5
It101 lab 5BPurev
 
Laboratory 2
Laboratory 2Laboratory 2
Laboratory 2BPurev
 

Destacado (17)

It101 lect16
It101 lect16It101 lect16
It101 lect16
 
компанийн тухай
компанийн тухайкомпанийн тухай
компанийн тухай
 
It101 lectue 14
It101 lectue 14It101 lectue 14
It101 lectue 14
 
It101 15
It101 15It101 15
It101 15
 
Internet
InternetInternet
Internet
 
Bie daaltiin ajil 2
Bie daaltiin ajil 2Bie daaltiin ajil 2
Bie daaltiin ajil 2
 
Bie daalt 2 sedev
Bie daalt 2 sedevBie daalt 2 sedev
Bie daalt 2 sedev
 
It101 lab11 use case
It101 lab11 use caseIt101 lab11 use case
It101 lab11 use case
 
U.IT101 Lab1
U.IT101 Lab1U.IT101 Lab1
U.IT101 Lab1
 
Computer olimpiad
Computer olimpiadComputer olimpiad
Computer olimpiad
 
Erdenm shinjilgeenii hural
Erdenm shinjilgeenii huralErdenm shinjilgeenii hural
Erdenm shinjilgeenii hural
 
Lab6 db
Lab6 dbLab6 db
Lab6 db
 
U.IT101 Lab3
U.IT101 Lab3U.IT101 Lab3
U.IT101 Lab3
 
лабораторийн ажил 1 дөлгөөн тайвнаа
лабораторийн ажил 1 дөлгөөн тайвнаалабораторийн ажил 1 дөлгөөн тайвнаа
лабораторийн ажил 1 дөлгөөн тайвнаа
 
Lab7
Lab7Lab7
Lab7
 
It101 lab 5
It101 lab 5It101 lab 5
It101 lab 5
 
Laboratory 2
Laboratory 2Laboratory 2
Laboratory 2
 

Similar a Ood lesson3

Ssad system design
Ssad system designSsad system design
Ssad system designRavi Shekhar
 
DoDAF Overview Using Innoslate Webinar
DoDAF Overview Using Innoslate WebinarDoDAF Overview Using Innoslate Webinar
DoDAF Overview Using Innoslate WebinarElizabeth Steiner
 
Lecture10WebVer.ppt SAD
Lecture10WebVer.ppt SADLecture10WebVer.ppt SAD
Lecture10WebVer.ppt SADNasasirahjossy
 
Software Architecture Lecture 10 web version
Software Architecture Lecture 10 web versionSoftware Architecture Lecture 10 web version
Software Architecture Lecture 10 web versionVivekananda Gn
 
Lecture10WebVer.ppt
Lecture10WebVer.pptLecture10WebVer.ppt
Lecture10WebVer.pptAndrewBeka
 
Ch 2 D B Dvlpt Process
Ch 2  D B  Dvlpt  ProcessCh 2  D B  Dvlpt  Process
Ch 2 D B Dvlpt Processguest8fdbdd
 
Structured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and DesignStructured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and DesignMotaz Saad
 
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxSE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxAmr E. Mohamed
 
Database design process
Database design processDatabase design process
Database design processTayyab Hameed
 
Analyzing Systems Using Data Flow Diagrams
Analyzing Systems Using Data Flow DiagramsAnalyzing Systems Using Data Flow Diagrams
Analyzing Systems Using Data Flow DiagramsChristina Valadez
 
964 database development process intro1
964 database development process intro1964 database development process intro1
964 database development process intro1Snovia
 
analysis and design of information system
analysis and design of information systemanalysis and design of information system
analysis and design of information systemRenu Sharma
 

Similar a Ood lesson3 (20)

Ssad system design
Ssad system designSsad system design
Ssad system design
 
DoDAF Overview Using Innoslate Webinar
DoDAF Overview Using Innoslate WebinarDoDAF Overview Using Innoslate Webinar
DoDAF Overview Using Innoslate Webinar
 
VTU - MIS Module 4 - SDLC
VTU - MIS Module 4 - SDLCVTU - MIS Module 4 - SDLC
VTU - MIS Module 4 - SDLC
 
System design
System designSystem design
System design
 
Lecture10WebVer.ppt SAD
Lecture10WebVer.ppt SADLecture10WebVer.ppt SAD
Lecture10WebVer.ppt SAD
 
Software Architecture Lecture 10 web version
Software Architecture Lecture 10 web versionSoftware Architecture Lecture 10 web version
Software Architecture Lecture 10 web version
 
Lecture10WebVer.ppt
Lecture10WebVer.pptLecture10WebVer.ppt
Lecture10WebVer.ppt
 
Ch 2 D B Dvlpt Process
Ch 2  D B  Dvlpt  ProcessCh 2  D B  Dvlpt  Process
Ch 2 D B Dvlpt Process
 
Structured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and DesignStructured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and Design
 
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxSE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Process of design
Process of designProcess of design
Process of design
 
Database Design
Database Design Database Design
Database Design
 
Database design process
Database design processDatabase design process
Database design process
 
Analyzing Systems Using Data Flow Diagrams
Analyzing Systems Using Data Flow DiagramsAnalyzing Systems Using Data Flow Diagrams
Analyzing Systems Using Data Flow Diagrams
 
Database Design
Database DesignDatabase Design
Database Design
 
964 database development process intro1
964 database development process intro1964 database development process intro1
964 database development process intro1
 
Software development process
Software development processSoftware development process
Software development process
 
SAD 2nd PPT
SAD 2nd PPTSAD 2nd PPT
SAD 2nd PPT
 
analysis and design of information system
analysis and design of information systemanalysis and design of information system
analysis and design of information system
 

Último

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfROWELL MARQUINA
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneUiPathCommunity
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 

Último (20)

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdf
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyone
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 

Ood lesson3

  • 1. Structured vs. Object Orient Analysis and DesignSAD vs. OOSAD Motaz K. Saad May 2010
  • 2. Outline Бүтэцлэгдсэн шинжилгээний үе Обьект хандалтат шинжилгээний үе Бүтэцлэгдсэн шинжилгээний хөгжүүлэлт болон ОХШЗ-оор програм хангамж хөгжүүлэх Ашигласан номууд UML-ийн хэрэглээ Дүгнэлт & үнэлгээ 2
  • 3. Textbooks Modern Systems Analysisand Design6th Edition Jeffrey Hoffer Joey GeorgeJoseph Valacich 3 Object Oriented Systems Analysis and Design 2nd edition Joey George Dinesh Batra Joseph Valacich Jeffrey Hoffer Software Engineering 8th , 9th edition Lan Summerville Learning UML 2.0, By Kim Hamilton, Russell Miles, O'Reilly, 2006. Visual Modeling with Rational Rose 2002 and UML, 3/E, by Terry Quatrani
  • 4. Key Differences Between Structured and Object-Oriented Analysis and Design 4
  • 5. SW Project phases Any project in the world has the following phases: Planning Analysis: system requirements are studied and structured Design: recommended solution is converted into logical and then physical system specifications Logical design – all functional features of the system chosen for development in analysis are described independently of any computer platform Physical design – the logical specifications of the system from logical design are transformed into the technology-specific details from which all programming and system construction can be accomplished Implementation Testing Maintenance 5
  • 6. Structured Analysis and design (SAD) A. Шинжилгээний үе Системийн шаардлага тодорхойлох Бүтэцлэгдсэн процессийн шаардлага тодорхойлох Логик шаардлагууд(logical modeling) Бүтэцлэгдсэн системийн өгөгдлийн шаардлагууд B. Зохиомжын үе Өгөгдлийн баазын дизайн Формууд болон тайлангийн загварууд 6
  • 7. Structured Analysis and design (SAD) A. Шинжилгээний үе Системийн шаардлагуудыг тодорхойлох: Ярилцлага: Ганцаарчилсан эсвэл группээр Бүтэцлэгдсэн процессийн шаардлага тодорхойлох: Data Flow Diagram (DFD) – логик процессийн загвар DFD levels (процессийн задралууд) Context diagram-ерөнхий диаграмм 4 type of DFD Физик урсгал: элементэд тохирсон Логик урсгал:системийн урсгалуудыг тодорхойлох 7
  • 8. DFD Symbols Comparison of DeMarco and Yourdon and Gane and Sarson DFD symbol sets 8 Process-процесс Data store- өгөгдлийн файл Source/sink-эх сурвалж Data flow- өгөгдлийн урсгал
  • 9. Өгөгдлийн урсгалын диаграм Context-level data flow diagram showing project scope for Purchasing Fulfillment System (Pine Valley Furniture) 9
  • 10. 10 Suppliers-нийлүүлэгчид Production schedulers-бүтээгдэхүүн хуваарилагчид Purchasing fulfillment system- бөөний худалдааны систем Quotes-Үнэлгээ, тоо хэмжээ Shipment-бараа нийлүүлэх
  • 11. Context Diagram-Ерөнхий диаграм Context diagram of Hoosier Burger’s food-ordering system 11
  • 12. Developing DFDs (Cont.) Level-0 diagram нь системийн үндсэн процессыг үзүүлдэг ба үүнд өгөгдлийн урсгалууд, өгөгдөл хадгалах дээд түвшний элементүүд байна. Processes are labeled 1.0, 2.0, etc. These will be decomposed into more primitive (lower-level) DFDs. 12
  • 13. Level-0 Diagram 13 Level-0 DFD of Hoosier Burger’s food-ordering system
  • 14. Sold-зарагдсан Inventory-бараа материал, нөөц Transform-өөрчлөх Depletion-дууссан 14
  • 15. Data Flow Diagramming Rules 15 ªãºãäëèéíÓðñãàëûíÄèàãðàìì (ªÓÄ) íüîðøèíáóéáîäèòñèñòåìýñâýëøèíýíýâòð¿¿ëýõãýæáóéáîäèòñèñòåìèéíàëèíûõíü÷á¿ðýíòºãñèëýðõèéëýëáîëæ÷àäàõã¿é. Ó÷èðíüçàãâàðò ºãºãäëèéãõàäãàëàõáîëîí 纺õ ôèçèêïðîöåññ, ïðîöåññèéãã¿éöýòãýíèëýðõèéëýõõ¿íìàøèí, ºãºãäºëõàäãàëàõõýðýãñýëáîëîíÿìàðíýãàëäààøàëãàõïðîöåññóóäûãòóñãàäàãã¿é. Ãýòýëáîäèòñèñòåìäýäãýýð õ¿÷èíç¿éë¿¿ä çàéëøã¿éõýðýãòýé. ªãºãäëèéíÓðñãàëûíÄèàãðàìì (ªÓÄ)-èéí ¿ð ä¿íäãàðàõýíýîíöãîéçàãâàðíüçºâõºí ÞÓ õèéãäýõ ¸ñòîéã ¿ç¿¿ëýõýýñáóñ ÕÝÐÕÝÍ õèéõèéãàâ÷ ¿çýõã¿é.
  • 16. Level-1 DFD Level-1 diagram showing the decomposition of Process 4.0 from the level-0 diagram for Hoosier Burger’s food-ordering system Level-1 DFD shows the sub-processes of one of the processes in the Level-0 DFD. This is a Level-1 DFD for Process 4.0. Processes are labeled 4.1, 4.2, etc. These can be further decomposed in more primitive (lower-level) DFDs if necessary. 16
  • 18. 18 Level-n DFD Level-2 diagram showing the decomposition of Process 4.3 from the level-1 diagram for Process 4.0 for Hoosier Burger’s food-ordering system Level-n DFD shows the sub-processes of one of the processes in the Level n-1 DFD. This is a Level-2 DFD for Process 4.3. Processes are labeled 4.3.1, 4.3.2, etc. If this is the lowest level of the hierarchy, it is called a primitive DFD. Format-Хэлбэр, хэмжээ
  • 19. ӨУД-ийн 2 төрөл Физик урсгал Процессийн түвшинүүд нь тодорхой дараалалтай бөгөөд энэ нь өгөгдлийг боловсруулдаг. Өгөгдлийн урсгалууд болон өгөгдөл хадгалах хэрэгсэлүүдийг физик нэрээр нь тодорхойлж болдог. Логик урсгал Өгөгдөл болон процессуудын мэдээлэл нь системийн урсгалаар тодорхойлогдсон байдаг. 19
  • 20. SAD – Analysis phase (Cont.) Логик шаардлагууд (logical modeling) Шийдвэрийн хүснэгт болон шийдвэрийн мод хэрэглэх Бүтэцлэгдсэн системийн өгөгдлийн шаардлагууд ER diagram-обьектийн холбоосын диаграм 20
  • 21. SAD – Analysis phase (Cont.) B. Загварчилгааны үе Өгөгдлийн баазын загвар (DB normalization) Формууд болон тайлангийн загвар (GUI design) 21
  • 22.
  • 23. ÎÕ øèíæèëãýýíü ªÑÑ-èéãäýýðýýñäîîøíü (Top-Down) çàäëàæøèíæëýõàðãà
  • 25.
  • 28.
  • 30.
  • 31. Object Oriented Analysis and Design-Обьект хандалтат шинжилгээ ба зохиомж OOAD 23
  • 32. Object-Oriented Analysis and Design (OOAD) Обьектууд нь өгөгдөл болон процессуудад үндэслэгддэг. Object: a structure encapsulating attributes and behaviors of a real-world entity 24
  • 33. Outline SAD Phases OOAD Phases SAD vs. OOAD software development Adopted Books UML in practice Conclusions & Recommendations 25
  • 34. OOSAD textbook A. Шинжилгээний үе Бүтэцлэгдсэн шаардлагууд (Use cases) Схемчилсэн өгөгдлийн загвар (class diagram) Обьектын холбоосын загвар Class diagram -> ER diagram Шинжилгээний классууд Class stereotypes Sequence diagram Communication diagram Activity diagram State machine diagram 26
  • 35. OOSAD textbook B. Зохиомжын үе Физик ӨБ-ийн загвар Загварчилгааны элементүүд Design classes Design components Design system Architecture GUI design 27
  • 36. Learning UML textbook Focus on 4+1 view architecture 28 Системийн логик бүтцийн загварлaл: Classes and Class, Sequence State Machine Diagrams Шаардлагын загварчлал: Use Cases Системийн ажлын урсгалын загварчлал: Activity Diagrams Системийн хэсгүүдийг удирдах болон дахин ашиглалт: Component, Package, Deployment, Diagrams
  • 37. OOAD project phases Analysis Шаардлага цуглуулах, шинжилгээ болон загварчлал (Шаардлагын инженерчлэл /Requirement Engineering/ Use Case загвар Case-үүдээ илрүүлэх, үйл явдлын урсгал, үйл ажиллагааны диаграм Обьектын загвар Классуудыг илрүүлэх болон холбоосыг тодорхойлох Обьектын харилцан үйлчлэл: Sequence & collaboration Diagram, State Machine Diagram, ОХД байгуулах/Object to ER Mapping/ Design Өгөгдлийн баазын физик загвар Загварын элементүүд Системийн загварын архитектур Классуудын загвар: Загварчилгааг шалгах, классуудыг нэгтгэх, классуудыг задлах, классуудыг устгах Загварчилгааны бүрэлдэхүүн хэсгүүд Хэрэглэгчийн интерфейс загвар 29
  • 40. Billing system- Тооцооны систем Roster-жагсаалт Maintain-хадгалах Registrar-бүртгэгч
  • 41. Use Case: Эмнэлэгийн системийн жишээ 33
  • 42. Appointment-тов Defer-сунгах, хойшлуулах Extension point Generalization-нэгтгэл Clerk-ажилтан Treatment-эмчилгээ Boundary- хил хязгаар
  • 43. Use Case: Банкны системийн жишээ 35
  • 45. Create curriculum Select courses to teach Create Бүртгэлийн системийн үйл ажиллагааны диаграм Registrar Professor catalog Mail catalog Place catalog to students in bookstore Open registration [ Registration time period expired ] Swimlanes Close registration 37
  • 46. 38 Үйл ажиллагааны диаграм:Банкны систем
  • 48. Үйл ажиллагааны диаграм: Бараа нийлүүлэх систем 40
  • 49. Fill order-Захиалга бэлтгэх Ship order-Захиалга илгээнэ Send invoice-нэхэмжлэл явуулна Make payment-төлбөр хийнэ Accept payment-төлбөр хүлээн авах 41
  • 50. Finding classes (thinking in objects)(Registration System) 42 Boundary class (GUI interface) Entity class Control class RegistrationManager Entity class Course addStudent(Course, Student) name numberCredits open() addStudent(Student)
  • 51. Class relations: Удамшил/Inheritance and Multiplicity(Registration System) 0..* 1 1 0..* 1 3..10 4 1..* 1 0..4 ScheduleAlgorithm RegistrationForm RegistrationManager addStudent(Course, Student) Course name RegistrationUser numberCredits name Student open() addStudent(Student) major Professor CourseOffering tenureStatus location open() addStudent(Student} Tenure-албан тушаал
  • 52. Холбоосууд Гурван төрлийн холбоос байдаг. Association-нэгдэл Aggregation-бүрдмэл Dependency-хараат 44
  • 53. Нэг классын обьектууд бусад классын обьектуудтай харилцан үйлчлэлцэх Нэг классын обьектууд бусад классын обьектуудтай урт хугацааны турш харилцан үйлчлэлцэх Нэг класс нь зарим үед холбоо хамааралаа ашиглах үед Нэг класс нь бусад классын обьектийг агуулж байгаа үед Нэг класс нь бусад классын төрөл болж байгаа үед 45
  • 54. Обьект хандалтат өргөтгөлүүдийн холбоосын загвар Generalization-Ерөнхийлөл Multivalued attributes (OK to violate atomicity requirement of 1NF)-олон утгатай шинж чанар Aggregation Object identifiers-обьект тодорхойлогчид Pointers-заагчид Behaviors-шинж чанар Richer set of data types-өгөгдлийн төрлүүдийн олонлог Object-relational Data Model 46
  • 55. Үндсэн өгөгдлийн загварыг ОХЗагвар руу хөрвүүлэх Классуудыг хөрвүүлэх Холбоосуудыг хөрвүүлэх Normalize object relations Обьектын холбоосуудыг нэгтгэх 47
  • 57. Mapping Supertype/subtype relationships to relations These are implemented as one-to-one relationships 49
  • 58. Sequence Diagram registration registration math 101 : Student form manager math 101 section 1 1: fill in info 2: submit 3: add student to math 101 4: add student 5: are you open? 6: add student A sequence diagram displays object interactions arranged in a time sequence 50
  • 59. 51 public class MessageReceiver { public void foo( ) { // Do something inside foo. } } public class MessageCaller { private MessageReceivermessageReceiver; // Other Methods and Attributes of the class are declared here // The messageRecevier attribute is initialized elsewhere in // the class. public doSomething(String[] args) { // The MessageCaller invokes the foo( ) method this.messageReceiver.foo( ); // then waits for the method to return // before carrying on here with the rest of its work } }
  • 60. Collaboration Diagram course form : 1: set course info CourseForm 2: process 3: add course : Registrar theManager : aCourse : CurriculumManager Course 4: new course A collaboration diagram displays object interactions organized around objects and their links to one another 52
  • 61. 53
  • 62. 54
  • 63. Sequence Diagram for Bank System 55
  • 65. 57 State Machine Diagram
  • 66. 58 Showing Components Working Together
  • 67. 59 Focusing on the key components and interfaces in your system Focusing on component dependencies and the manifesting artifacts is useful when you are trying control the configuration or deployment of your system
  • 68. 60 Assembly connectors show components working together through interfaces
  • 70. Key Differences Between Structured and Object-Oriented Analysis and Design 62
  • 71. Software Engineering textbookMain topics INTRODUCTION Socio-technical System Emergent property REQUIREMENTS ENGINEERING Systems Models DESIGN Architectural Design Application Architectures Object-oriented Design Real-time Systems User Interface Design SOFTWARE DEVELOPMENT Iterative SW Development SW Reuse CBSE Critical Systems Development Software Evolution VALIDATION Verification and Validation Software Testing Critical Systems Validation MANAGEMENT Software Cost Estimation Quality Management
  • 72. Software Engineering textbookMain topics (Cont.) EMERGING TECHNOLOGIES Security Engineering Service-oriented Software Engineering Aspect-oriented Software Development
  • 73. Software Engineering textbookSystem categories Technical computer-based systems Systems that include hardware and software but where the operators and operational processes are not normally considered to be part of the system. The system is not self-aware. Socio-technical systems Systems that include technical systems but also operational processes and peoplewho use and interact with the technical system. Socio-technical systems are governed by organisational policies and rules.
  • 74. Software Engineering textbookSocio-technical system characteristics Emergent properties Properties of the system of a whole that depend on the system components and their relationships. Non-deterministic They do not always produce the same output when presented with the same input because the systems’s behaviour is partially dependent on human operators. Complex relationships with organisational objectives The extent to which the system supports organisational objectives does not just depend on the system itself.
  • 75. Software Engineering textbookTypes of emergent property Functional properties These appear when all the parts of a system work togetherto achieve some objective. For example, a bicycle has the functional property of being a transportationdevice once it has been assembled from its components. Non-functional emergent properties Examples are reliability, performance, safety, and security. These relate to the behaviour of the system in its operational environment. They are often critical for computer-based systems as failure to achieve some minimal defined level in these properties may make the system unusable.
  • 76. Software Engineering textbookThe systems engineering process
  • 78. Software Engineering textbookSystem Models Context models Blocks (box diagram of subsystems) DFDs can be used Behavioural models Blocks (box diagram of subsystems) Two types of behavioral model are: Data processing models that show how data is processed as it moves through the system (DFD) State machine models that show the systems response to events. Data models DFDs Object models Inheritance models Aggregation models Interaction models 70
  • 79. Key Differences Between Structured and Object-Oriented Analysis and Design 71
  • 80. Papers 72 In practice - UML software architecture and design description, IEEE Software, 2006 The Impact of UML Documentation on Software Maintenance - An Experimental Evaluation, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 32, NO. 6, JUNE 2006. A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 34, NO. 3, MAY/JUNE 2008.
  • 81. Papers 73 In practice - UML software architecture and design description, IEEE Software, 2006
  • 82. Practitioner reflections on UML use 2+ month period, 80 architects participated. major responsibilities among respondents: analysis (66 %), design (66 %), specification (61 %), and programming (52 %). The respondents came from different application domains. Most worked in information systems (61 %) 28 % worked in embedded systems a few worked in tool and operating systems development. 60% worked in projects of more than 5 person-years. 74
  • 83. Survey respondents’ use of UML for 4+1 architectural views 75
  • 84. Survey respondents’ assessment of their adherence to the UML standard. 76
  • 85. Deadline vs. completeness as stopping criteria for different project sizes. 77
  • 86. Problems encountered due to incomplete models correlated to respondent demographic data regarding project size. 78
  • 87. Problems with UML descriptions Scattered information:Design choices are scattered over multiple views. some dependencies might show up in the logical view, while others appear in the process view. Incompleteness:The architects focus on what they think is important. Inconsistency. UML-based software development is inevitably inconsistent. Industrial systems are typically developed by teams. Different teams can have different understandings of the system as well as different modeling styles, and this can lead to inconsistent models. 79
  • 88. Other problem classes include the following: Diagram quality. UML lets architects represent one design in different ways. they can decompose a diagram that contains too many elements into several smaller diagrams. they can influence how easy the model is to understand and how it gets interpreted. Informal use. Architects sometimes use UML in a very sketchy manner. These diagrams deviatefrom official UML syntax, making their meaning ambiguous. Lack of modeling conventions. case studies show that engineers use UML according to individual habits. These habits might include layout conventions, commenting, visibility of methods and operations, and consistency between diagrams. 80
  • 89. Defects in industrial UML models Subjectiveimpression obtained via the survey Objectivemeasurements about the quality of industrial UML models. (14 case studies of different sizes from various organizations and application domains) 81
  • 90. Defects found in the case studies Methods that are not called in sequence diagrams Classes not occurring in sequence diagrams Objects without names Messages not corresponding to methods Classes without methods 82
  • 91. Papers 83 The Impact of UML Documentation on Software Maintenance - An Experimental Evaluation, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 32, NO. 6, JUNE 2006.
  • 92. It is important to investigate the benefits obtained from modeling. this paper reports on controlled experiments, spanning two locations, that investigate the impact of UML documentation on software maintenance. Results show that: for complex tasks and past a certain learning curve, the availability of UML documentation may result in significant improvements in the functional correctness of changes as well as the quality of their design. there does not seem to be any saving of time. For simpler tasks, the time needed to update the UML documentation may be substantialcompared with the potential benefits, thus motivating the need for UML tools with better support for software maintenance 84
  • 93. 85
  • 94. 86
  • 95. Experimental results The goal was to shed some light on the cost effectiveness of model-driven development with UML. focused on whether models help software engineers to make quicker and better changes to existing systems. The results of the two experiments are mostly consistent. When considering only the time required to make code changes, using UML documentation does help to save effort overall. On the other hand, when including the time necessary to modify the diagrams, no savings in effort are visible. in terms of the functional correctness of the changes: using UML has a significant, positive impact on the most complex tasks. In the Ottawa experiment, which also investigated the design of the changes, using UML helped to achieve changes with superior design quality, which would then be expected to facilitate future, subsequent changes. the above statements apply only with qualifications. Benefits are not likely to be derived if the tasks to be performed lie belowa certain level of complexityor if software engineers have not reached a certain level of skill regarding the use of UML models for analyzing the effects of changes, in addition to having received substantial training in UML modeling. Furthermore, current tools still need substantial improvements in the way they support changes to models and the checking of consistency. 87
  • 96. Papers 88 A Realistic Empirical Evaluation of the Costsand Benefitsof UML in Software Maintenance, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 34, NO. 3, MAY/JUNE 2008.
  • 97. The Unified Modeling Language (UML) is the de facto standard for object-oriented software analysis and design modeling. few empirical studies exist which investigate the costsand evaluate the benefitsof using UML in realistic contexts. Such studies are needed so that the software industry can make informed decisions regarding the extent to which they should adopt UML in their development practices. 89
  • 98. This is the first controlled experiment that investigates the costs of maintaining and the benefits of using UML documentation during the maintenance and evolution of a real nontrivial system, using professionaldevelopersas subjects, working with a state-of-the-art UML tool during an extended period of time. Control Group: had no UML documentation UML Group: had UML documentation. had, on average, a practically and statistically significant 54% increase in the functional correctness of changes (p = 0.03) insignificant 7% overall improvement in design quality (p = 0.22) 90
  • 99. 91
  • 100. Selection of Subjects Subjects were recruited via a request for consultants being sent to Norwegian consulting companies. The request specified a flexible range of time, for which the consultants would be needed, along with the required education and expertise. Companies replied with resume of potential candidates and these were then screened to verify that they indeed complied with the requirements. The subjects were required to at least have a bachelor’s degree in informatics (or its equivalent), some familiarity with UML (use case, class, sequence, and state diagrams), and some project experience with the following technologies: Struts, JavaServerPages (JSP), Java 2, HTML, the Eclipse IDE, and MySQL. Note that the recruitment of all subjects could not be completed before the start of the experiment. This was due to several practical reasons: The market for these skilled professionals is very tight. We could not give the consulting companies definite start and end dates as to when the consultant would be working. The consulting companies could not give us an exact start date for consultants The consulting companies often could not guarantee that the consultant would be available. 92
  • 101. 93 10 no UML 10 UML
  • 102. 94
  • 103. 95
  • 104. 96
  • 106.
  • 107.
  • 108. UML was always beneficial in terms of functional correctness (introducing fewer faults into the sw). The subjects in the UML group had, on average, a practically and statistically significant 54% increase in the functional correctness of changes (p= 0.03) UML also helped produce code of better quality when the developers were not yet familiar with the system. A significant difference was found for Task 1, where the UML group’s design quality score was 56.2% higher (p= 0.0025) though, across all the tasks, there was an insignificant % improvement in design quality p = (0.22) 99
  • 109. All of the qualitative evidence suggests that the observed impact of UML on change quality and productivity is probably very conservative in this experiment. The UML subjects were at a disadvantage when it came to Struts experience and familiarity with Java. We also observed that half of the subjects only used two diagram types, with the use case and sequence diagrams being, by far, the most used. Four of the subjects did not use the UML to the extent that they could have due to concern that UML would make them less efficient and out of habit (not being used to using UML). The subjects also experienced severe problems when dealing with the tool and in understanding the large sequence and class diagrams. However, the qualitative evidence also explains the observed benefits of UML. The no-UML group had more problems in understanding a complex part of the system. 100
  • 110. All subjects found the UML to be generally useful: The largest benefits were the traceability of use cases to code and the ability to quickly get an overview of the system. The results of this experiment, both qualitative and quantitative, can also be used to guide industrial adoption with respect to, at the very least, applications with similar properties (e.g., Web applications). In the case of developers who are not very experienced in using UML and who will perform maintenance tasks on a system that they are not familiar with, the use case diagram and the sequence diagrams seem to be the most cost-efficient parts of UML. This appears to be the case for two reasons. First, developers inexperienced with UML are overwhelmed by too many diagram types and will only use those that are easy to use. Next, these two diagrams help them quickly identify the relevant code for the specific functionality needed to perform the maintenance tasks. Given these advantages, these two types of diagrams can also be considered a cost-efficient starting point for introducing UML into the organization. 101
  • 111. What is the situation of swdev many companies? No diagrams or models or even ER diagram at all !! Why?!!!: It is time consuming !!!! 1 developer performs all tasks (analysis, design, implementation) What are artifacts that delivered to developers: Psuedocode (can be consider as structured English) Screens Steps for sw developments: Create DB with required information Map tables to forms (GUI) / web pages 102

Notas del editor

  1. е
  2. топ
  3. г
  4. Problems with incomplete modelsGiven that the practitioners report completenessto be the primary criterion for deciding tostop modeling, we investigated the effects ofmoving to the next project phase without acomplete model.
  5. 1. The subject is given an introductory session explainingthe manner in which he would be working.2. The subject answers an initial questionnaire capturingthe subject’s background and experience (seeTable 2).3. If the subject is in the UML group, the subjectreceives a UML refresher/tool training session.4. The subject receives the first task.5. The subject submits an estimate of the amount oftime that he/she thinks the task will take him/her.6. The subject implements the task.7. Upon completion, the task is sent in for acceptancetesting. The system is then tested by an experimenterbased on a system acceptance test plan.a. If the test fails, the subject is told about theproblem and is asked to fix it to submit thesolution again.b. If the test passes, the subject receives the nexttask and repeats the process from Step 4.8. Upon the completion of all five tasks, debriefingtakes place.