5 ms·
[Rant] The class in university I hate the most is "Software Engineering" because it doesn't sound like engineering at all. They taught UML, Waterfall, Sequence,
by Existenceblinks 4y ago
[Rant] The class in university I hate the most is "Software Engineering" because it doesn't sound like engineering at all. They taught UML, Waterfall, Sequence, ER Diagram, and all useless stuff that I never use within 10 years in software industry.
- deleted 4y ago[deleted]
- icedchai 4y agoSequence diagrams are very useful for APIs and understanding protocols between systems. ER diagrams are great for presenting a database schema (just don't get too hung up the exact arrow you're using!) When I start a new major project, one of the first things I do is an ERD. You don't need every field (column, attribute...), but the tables (entities, objects, collections, whatever you want to call it...) and their relationships are pretty important.
- tyurok 4y agoYes but it seems the order is taught is important. Without actual industry experience, it never occurred to me it could be useful. After some years working, it's clear it's useful in some capacity but it's easy to overdo it (like require every detail of the system to be in those formats) or misuse it (sequence diagram improperly documenting async flows).
- billfruit 4y agoI think statecharts are even more useful than sequence diagrams in documenting behaviour. Statecharts are Turing complete, and succinctly visually encode complex behaviour that is going to take reams of text to describe. Harel et al have done serious, rigourous work in developing statechart.
- Existenceblinks 4y agoAs I remember ORM / NIAM diagram is more superior that it can turn into 5NF in one go (or two .. can't remember exactly) I find it's easier to think of these data as cartesian product of a bunch of tuple. Even having table in my imagination is confusing!
- matheusmoreira 4y agoSame experience here. Never saw the point of any of this ephemeral stuff being taught in classes.
- xyzzy123 4y agoI would like to offer the dissenting opinion that it's good to send cs students out into the world with the idea that "software planning, management and communication exists, and there are a variety of approaches to it" - even if what's actually used is not taught (partly because good approaches are a genuine commercial advantage and things change fast). If anything it would be great to see more emphasis on this, most engineers I know spend as much time planning, communicating, organising and reporting on work as they do sitting in front of an IDE. Also, everyone I know uses sequence diagrams and ER diagrams fairly often when things get too complicated for handwaving.
- Existenceblinks 4y ago> Also, everyone I know uses sequence diagrams and ER diagrams fairly often when things get too complicated for handwaving. I too used boolean algebra simplifications for refactoring legacy code base that had lots of nightmare if/else once. They seem like a tool to fix mistake that shouldn't be there in the first place with otherwise methods. I don't mind if the class called like "Software Project Planing"