3 ms·
I took one of these kinds of classes in my masters program this year. They were totally obsessed with UML. It would be nice if these classes could move beyond d
by __loam 3y ago
I took one of these kinds of classes in my masters program this year. They were totally obsessed with UML. It would be nice if these classes could move beyond dogma that is decades old.
- crysin 3y agoGot my MS in SE at DePaul University in Chicago. Wrote more UMLs for those classes than I’ve done in 10 years of actual software development.
- mrweasel 3y agoWhile I'm not suggesting that UML is necessarily the solution, I hope it's not, but the observation that so few developers touch anything that just looks like UML is a good indication that a lot of software is in fact NOT designed, it's just sort of hobbled together from a few sketches on a whiteboard.
- rvdginste 3y agoI hope that people say they hate UML and then just make UML (class, database, activity, ..) diagrams according to their own conventions, but I am afraid you are right and that a lot of software is just "hobbled together"...
- titzer 3y agoCMU constantly reevaluates its MSE program with input from many different angles. I've participated here and I think we're trying hard to balance important foundational knowledge with practical skills of the day. I don't think we over-emphasize UML or any one particular silver bullet in our program.
- ska 3y agoTo a first approximation, software developers don't have masters degrees. If you are thinking about changing how an industry does its work, focusing on graduate courses seems counterproductive.
- HeyLaughingBoy 3y agoI disagree. I have a Master's in Software Engineering and the way to change things is for those with the formal education to try and spread good practices as much as possible in the workplace. Sometimes the main benefit is just knowing that good practices exist so you can seek them out. The biggest impact I've had at the places I've worked have been about procedures and methodology, not how to use UML or draw a dataflow diagram. - Have a process around software releases. Doesn't matter what as much as it has to be repeatable. - Review your designs, review your code, don't do things in isolation. - Have a known location for documents and project information. - Be consistent, don't do every project completely differently. - Get data before you try to fix the problem. - Learn from your mistakes and adjust your processes to that learning. - And many more things that sound like common sense (and they are) but you'd be amazed at how even in 2023 many companies are developing software in complete chaos, with no discernible process.
- ska 3y agoWhat I'm saying is that if your goal is to introduce more engineering rigor and your plan is for for the tiny percentage of graduate school graduates to percolate these ideas through the industry, it's probably a bad plan and likely to fail. This was a thread about why software developers don't do engineering like other disciplines. One partial answer is that those other disciplines take it much more seriously at the undergraduate level, at least on average. Probably the more compelling answer is that the industry doesn't' really want them to for the most part. > but you'd be amazed at how even in 2023 I really wouldn't.
- sheepshear 3y ago> Probably the more compelling answer is that the industry doesn't' really want them to for the most part. This is it. Everyone is making money hand over fist despite not doing it. You might want it, but you don't need it.
- HeyLaughingBoy 3y ago
- hinkley 3y agoWait. This year? I haven’t touched UML for ten years.
- petsfed 3y agoWhat would be better? Change tools every 3-5 years like the industry does, so by the time any given instructor actually has a grasp on a particular tool or paradigm, its already obsolete (or at least fallen out of fashion) too? I'm no fan of UML, but the exercise is to teach students how to plan, how to express that plan, and how to reason about other people's plans. The students will certainly draw a lot of flow diagrams in their careers, and will almost certainly deal with fussy micromanagers who demand their flow diagrams adhere to some arbitrary schema that has only limited impact on the actual quality of their work or documentation. UML is complete, at least.
- failbuffer 3y agoA whiteboard is complete. Every other way of diagramming software is deficient. Change my mind. ;-)
- master-lincoln 3y agoA whiteboard is just a medium to draw. Uml is a standard that says how to express certain ideas as symbols that can be drawn. It's not clear to me what your argument is. Is it using whiteboards to draw uml instead of special uml software? If so, be prepared to take much longer to draw the diagram. Or do you mean uml is deficient compared to free drawing of symbols on a whiteboard without a standard? If so, be prepared that nobody will completely understand your diagram without explanation
- OnlyMortal 3y agoUML is just the common parlance so that we all understand what’s represented. No need for a specific tool - unless you’re doing PowerPoint slides. Visio is good enough in that case if you have Windows.
- petsfed 3y agoGreat! So, do you bring your whiteboard to lecture to turn in, or take a picture of it, or just schedule time with your professor to whiteboard in front of them? All I'm arguing for here is that UML serves the same purpose as those online homework apps. Correctly formatting your calculus homework to be accepted by that interface is as unrelated to calculus as UML mastery is to effective software design, but it resolves some of the same logistical challenges, while introducing others.