“
Here is a minimal list of the things that every software professional should be conversant with: • Design patterns. You ought to be able to describe all 24 patterns in the GOF book and have a working knowledge of many of the patterns in the POSA books. • Design principles. You should know the SOLID principles and have a good understanding of the component principles. • Methods. You should understand XP, Scrum, Lean, Kanban, Waterfall, Structured Analysis, and Structured Design. • Disciplines. You should practice TDD, Object-Oriented design, Structured Programming, Continuous Integration, and Pair Programming. • Artifacts: You should know how to use: UML, DFDs, Structure Charts, Petri Nets, State Transition Diagrams and Tables, flow charts, and decision tables. Continuous
”
”
Robert C. Martin (Clean Coder, The: A Code of Conduct for Professional Programmers (Robert C. Martin Series))
“
If someone were to come up to you in a dark alley and say, "Psst, wanna see a UML diagram?" that
diagram would probably be a class diagram.
”
”
Martin Fowler (UML Distilled: A Brief Guide to the Standard Object Modeling Language)
“
Yes, Bob, I rather thought entity-relationship diagrams were your sort of thing. You’re the expert in Visio, aren’t you? Drawing up UML diagrams of fictional vampire brood hierarchies should keep you out of trouble for a while.
”
”
Charles Stross (The Rhesus Chart (Laundry Files, #5))
“
Many of the modeling mistakes are modeler's poor listening skills.
”
”
Michael Jesse Chonoles (UML 2 For Dummies)
“
The first diagram that you need on any project is a context diagram.
”
”
Michael Jesse Chonoles (UML 2 For Dummies)
“
most software- or systems-development projects start out without a context diagram, blissfully unaware that they need one.
”
”
Michael Jesse Chonoles (UML 2 For Dummies)
“
To build a software that your users understand, capture the language of that users in a class diagram.
”
”
Michael Jesse Chonoles (UML 2 For Dummies)
“
[...in interaction diagrams], comprehensiveness is the enemy of comprehensibility.
”
”
Martin Fowler (UML Distilled: A Brief Guide to the Standard Object Modeling Language)
“
With composition, parts can’t be shared with other objects. The life of the part is completely within the life span of the whole.
”
”
Michael Jesse Chonoles (UML 2 For Dummies)
“
أعطني الناي وغني ~ جبران خليل جبران
أعطني الناي وغني فالغنا سر الوجود
وأنين الناي يبقى بعد أن يفنى الوجود
هل إتخذت الغاب مثلي منـزلاً دون القصور
فتتبعت السواقي وتسلقت الصخور
هل تحممت بعطره وتنشفت بنور
وشربت الفجر خمراً
من كؤوس من أثير
هل جلست العصر مثلي
بين جفنات العنب
والعناقيد تدلت
كثريات الذهب
هل فرشت العشب ليلاً
وتلحفت الفضاء
زاهداً في ما سيأتي
ناسياً ما قد مضى
أعطني الناي وغني
وانسى داء ودواء
إنما الناس سطورٌ
كتبت لكن بماء.
Give me the Flute and Sing
Give me the flute and sing for singing is the secret of existence.
And the sound of the flute remains. After the end of existence.
Have you, as i did, taken the jungle. A house without limitations.
Have you followed the Runnels. And climbed the rocks.
have you bathed in its fragrance and dried yourself in its light.
Have you tried drinking the Dawn as your wine out of divine cups.
Have you, as i did, sat in the afternoon. Between the grapes plants
with the clusters hanging like golden chandlers.
Have you, as i did, slept on the grass at night.
And used the sky as you blanket. Ascetic in what will come.
Forgetting what has passed. Give me the flute and sing.
Forget the disease and medication. For people are only lines. written with water.
”
”
Jubrān Khalīl Jubrān (UML para Negócios: Modelagem Do Seu Negócio Orientada a Sistemas (Portuguese Edition))
“
Test Tumor Markers Twice a Year There are many tests available that could indicate cancer, and indicate it at a stage early enough for effective treatment. These are PSA, for the prostate, and CA-125 for ovarian cancer. If CA-125 is above 20 u/ml, see your gynecologist. For PSA, trend is important, meaning more than one measurement is needed. If PSA rises more than 0.6 ng/ml in a 12 month period or less, see a urologist. If PSA is over 3, a urologist should also be consulted.
”
”
Mike Nichols (Quantitative Medicine: Using Targeted Exercise and Diet to Reverse Aging and Chronic Disease)
“
Simple, informal UML diagrams can anchor a discussion.
”
”
Eric Evans (Domain-Driven Design: Tackling Complexity in the Heart of Software)
“
Системные операции именуются на русском языке и отражают действия и задачи пользователя. т.е. относятся в большей степени к предметной области рассматриваемой задачи. Программные операции уже именуются на английском языке (или латиницей), что призвано отражать функции, которые система реализует, чтобы выполнять задачи пользователя
”
”
Галиаскаров Эдуард Геннадьевич (Анализ и проектирование систем с использованием UML. Учебное пособие для вузов)
“
Для описания взаимодействия с внешними действующими лицами используются диаграммы вариантов использования и варианты использования
Для описания взаимодействия между объектами используются диаграммы последовательности или коммуникации
Для описания логики исполнения отдельных операций классов или взаимодействия вариантов использования используется диаграмма деятельности
”
”
Галиаскаров Эдуард Геннадьевич (Анализ и проектирование систем с использованием UML. Учебное пособие для вузов)
“
So, when and why should we use UML? Diagrams are most useful for communicating with others and for helping you work out design problems.
”
”
Robert C. Martin (Agile Principles, Patterns, and Practices in C#)
“
documenting exclusively through code has some of the same basic problems as using comprehensive UML diagrams.
”
”
Eric Evans (Domain-Driven Design: Tackling Complexity in the Heart of Software)
“
The approach has a metamodel based on UML. Thus, a major advantage of the UWE metamodel is related to the fact that it remains compatible to the MOF (Meta-Object Facility) meta-metamodel, used for the definition of UML, which was defined by the OMG and therefore follows the approach of Model Driven Architecture (MDA [126].
”
”
Cesare Pautasso (REST: Advanced Research Topics and Practical Applications)
“
One of the most effective guidelines is not to get stuck on a single approach. If diagramming the design in UML isn't working, write it in English. Write a short test program. Try a completely different approach. Think of a brute-force solution. Keep outlining and sketching with your pencil, and your brain will follow. If all else fails, walk away from the problem. Literally go for a walk, or think about something else before returning to the problem. If you've given it your best and are getting nowhere, putting it out of your mind for a time often produces results more quickly than sheer persistence can. You don't have to solve the whole design problem at once. If you get stuck, remember that a point needs to be decided but recognize that you don't yet have enough information to resolve that specific issue. Why fight your way through the last 20 percent of the design when it will drop into place easily the next time through? Why make bad decisions based on limited experience with the design when you can make good decisions based on more experience with it later? Some people are uncomfortable if they don't come to closure after a design cycle, but after you have created a few designs without resolving issues prematurely, it will seem natural to leave issues unresolved until you have more information (Zahniser 1992, Beck 2000).
”
”
Steve McConnell (Code Complete)
“
Let’s face it: Despite shelves full of books on software architecture, enough UML diagrams to fill an art museum, and design meetings that seem to last longer than the pyramids, building software mostly comes down to writing one method after another.
”
”
Russ Olsen (Eloquent Ruby (Addison-Wesley Professional Ruby Series))
“
Those readers new to object orientation typically assume a close relation exists between
inheritance and reuse. We want to debunk this myth immediately. Though reuse is touted as a
benefit of object orientation, it is in fact a goal. Reuse cannot be taken for granted, nor is it
guaranteed. In reality, achieving reuse requires a lot of effort and discipline, and we'll spend a
lot of time in this book talking about this aspect of object orientation.
”
”
Kirk Knoernschild (Java Design: Objects, UML, and Process)
“
Managers; academics; software engineers; computer scientists; and proponents of UML, RUP, and CMM all tend to be formalists. Practitioners, as Robert Glass has shown, generally are informalists. XP and object thinkers aspire to be aformalists.
”
”
David West (Object Thinking)
“
A lot of the communication value in a UML diagram is still due to the layout skill of the modeler. —Paul Evitts, A UML Pattern Language (Evitts 2000)
”
”
Scott W. Ambler (The Elements of UML 2.0 Style)
“
Jamie: I’m just beginning to learn UML notation. So the home security function is represented by the big box with the ovals inside it? And the ovals represent use cases that we’ve written in text? Facilitator: Yep. And the stick figures represent actors—the people or things that interact with the system as described by the use case . . . oh, I use the labeled square to represent an actor that’s not a person . . . in this case, sensors. Doug: Is that legal in UML? Facilitator: Legality isn’t the issue. The point is to communicate information. I view the use of a humanlike stick figure for representing a device to be misleading. So I’ve adapted things a bit. I don’t think it creates a problem.
”
”
Roger S. Pressman (Software Engineering: A Practitioner's Approach)
“
Doug: Is that legal in UML? Facilitator: Legality isn’t the issue. The point is to communicate information. I view the use of a humanlike stick figure for representing a device to be misleading. So I’ve adapted things a bit. I don’t think it creates a problem.
”
”
Roger S. Pressman (Software Engineering: A Practitioner's Approach)
“
Seibel: How do you design software? Do you scribble on graph paper or fire up a UML tool or just start coding? Thompson: Depends on how big it is. Most of the time, it sits in the back of my mind—nothing on paper—for a period of time and I'll concentrate on the hard parts. The easy parts just fade away—just write 'em down; they'll come right out of your fingertips when you're ready. But the hard parts I'll sit and let it germinate for a period of time, a month maybe. At some point pieces will start dropping out at the bottom and I can see the pyramid build up out of the pieces. When the pyramid gets high enough in my mind, then I'll start at the bottom.
”
”
Peter Seibel (Coders at Work: Reflections on the Craft of Programming)
“
The analysis object model consists of entity, boundary, and control objects [Jacobson et al.,
1999]. Entity objects represent the persistent information tracked by the system. Boundary
objects represent the interactions between the actors and the system. Control objects are in
charge of realizing use cases.
”
”
Bernd Bruegge (Object-Oriented Software Engineering Using UML, Patterns, and Java: Pearson New International Edition)