Analysis and Modeling of Software

design extracted from The interviews
We learned that UML offers a lot of ways to visualize a system’s architectural blueprints in a diagram, including elements such as activities, individual components of the system, the way how the system will run and external user interfaces. It helped us a lot to talk to diferent teachers and students which already had experiences with designing UML or code in general.
To be able to understand and also to write a programm with a valid desing our sumbmissions of our classes helped us a lot. In Master 06 and 07 which are called UML Part 1 and UML Part 2 we got a good idea how to start and how to desing the different parts of the programm in a waqy even somebody who didn’t work with us is able to understand our intensions. The interviwes helped a lot with this because obviously we had to show our class-diagrams and use-cases to other people to make sure our program will be as good as possible.
During our Interviews we were able to extract some improvements compared to our first ideas of the Use-Cases. In our firts Project Delivery you can see this first and more simple ideas we had. In our second Project Delivery we already made a comparsion about what we extracted out of the interviews we had. Have a short look at this Improvements by clicking on the corresponding links.
With all this experiences we made which are mentioned abouve we were able to desing the project in a way we were satisfied at the end.
What did you learn about the process of design in this course/project?
Oscar
When I first started this course I thought it was going to be boring, because my last course in software engineering was indeed a mess. After the courses I took on this semester, I realized that this software world is amazing, and there are no boring topics. I have had only bad experiences with them. I have learned how important is the design in a project, even if is a smaller one. When you have a blueprint to use as a base for your code, you will not be spending hours behind your laptop screen wondering what is wrong with your code. Even if you do a little sketch in a notebook, you will be rewarded.
I have acquired some new team-work skills and understood that every element in a product design, must be there for a reason; finally, what I think is the most important part about a project is its main goal. Always, as a developer you come with a bunch of ideas, but if the user doesn’t need that functions you will be only wasting your time. When you are designing something new related with software, the users are the number one priority, and to listen them is one of the greatest ways to improve your design.
Thomas
Creating the Use case and ER-diagram was not as easy as we expected. Our first attempt at making a use case diagram went really fast, the problem however was that many parts of it didn’t make any sense. Because of this we had to make a new one and really think about the logic and purpose of the system. This made the task a lot harder but it also made us really think about what we needed to do in order to make these diagrams meaningful and understandable for others.
The ER diagram was also not very easy to make. It took a loot of time to figure out what entities could exist and what attributes they would store. Some of us had used this kind of diagram before in other courses but for smaller software concepts. The diagram for this project was however a bit harder to design because we didn’t know what data a school system like ours would store and how everything would be related. This meant that we had google a lot and ask a bunch of friends and other people at Tec for opinions and information.
Chris
Personally
I learned a lot in during this Project eventhough i already did such Projcets in the past. It was very nice to do the interviews because i recogniced that i had to improve way of planing what to do, how and when. Our first interview was a mess but we got so much better over the time because we learned how to prepare it the right way. I already talked abvout that in the Last Reflection.
Technically about Desing
I never worked with UML before so my firswt step i had to do was searching in the internet what a UML class-diagram is and how the language itself works. It was very nice to me that my teammates already had experiences with this. They teached me a lot and during the project i learned a lot by doing it and i also used my blogpost about this topic. I also got a better idea about how to prepare a project in a way so that somebody other, who has no idea about it bevore, can instantly start to work on it and can understand what it is about. We tried to explain our ideas to the people we interviewd because we made it step by step. That showed us what is important for others to know about the project so that they are able to understand it.
use cases, class diagrams which are Sufficent that a team of developers could start to work on this project.
To get started here is a short discription of the problem we want to solve with this program:
The idea is to create a program with which you can handle all that stuff which is important for organizational things at an university. For example the registration of new students and giving them an ID or deleting it when they finish their studies or get exmatriculated. Those things would be summarized in the Use Case Matriculate. So it’s suposed to be a software to handle all the things that can be digitalized in an modern university.
To be able to start to programm the project you will find a few useful documents and also posts of our class Analysis and Modeling of Software (TC2004.90).

At first it would probably good for a team to know how to start such a project. Therefore we recommend to visit the posts about How to turn Classes into Tables and of course the more important and interesting step: How to extract Code out of Class-Diagrams.

Even if we talked about different kinds of diagrams you can stick to the methods. It should help you a lot to get started and in the posts you can find the most important methods and tricks to start a team-project in a right way. But don’t forget that a Code Review can help you to avoid mistakes and errors. You should work with that from the beginning.

