My design thinking process (1)

xiaoxiao2021-03-06  64

The night is deep, I am sitting next to the writing table of the draft, like the weather in Zhengzhou today, my heart is full of fog.

First introduce one of my ideas before a month, very simple: use the current ASP.NET technology to make a personal website.

The theme is: Learning website for VC programming. Website Name: VC programming space

Purpose: 1. It is a piece of work; 2. After the website is successful, I can invite friends to participate in the construction of the website, expand the field of view, increase communication; and so on.

Preliminary imagination: Using the home with broadband Internet, I can turn my machine into the host, operating the system with 2000, using the ASP.NET technology production website, background database: SQL.

Because I have used a few small websites, pages and functions are very simple to make PS, DW, FW, FLASH, and I have a very simple problem. After all, it is a personal website. Nor isn't a complex technology, so I started the development of the website in November. At that time, I had a very smooth, used for two days, I developed the main column page, and on the homepage Try to add some simple ASP.NET programs, such as: registration verification, website access statistics.

However, at this time, a "small problem" I thought: I found that my idea began to expand, even began to confuse. I envisaged a lot of features for the website, because I hope that my website can make good friends to exchange, learn, and even develop software. This way, the functional demand begins to expand, the web interface has also increased, I found that I want to organize it is a bit difficult, for example, because of my function increase, I found that I originally designed the home page of the home page. Some interfaces come into the function I envisible, the same, this is, I need to re-design all the web pages, I think this kind of work efficiency is very low, and it is easy to have a vulnerability, and I have not yet Considering problems outside of some business logic such as security, background control, such a website is immature.

There is another problem, because I will ultimately want to learn object-oriented design and programming, not fully stabilizing in a language (VC is the language I want to focus on), so I want the website is also an information system, I should follow OO's idea to analyze and design, I hope to be able to start the design of the web interface and the writing of the background code.

It is in such a problem, I started SDLC software engineering process, analysis - design - implementation - test. I think this will also have a great help to my future programming work, but the problem is also produced, and more complicated than the previous.

Most of the last month I held a thick "systematic analysis and design" and another: "UML foundation, case and application" book, two comparisals, rushing over, It is probably Ooa and Ood, but the difference between the two books is also very large. For example: "System" book, the detailed event table is required in the analysis phase, format: 1. Event name; 2. Trigger; 3. Source; 4. Action; 5. Response; 6. Destination. Requires the use case from the event table. books are directly listed. Wait, but I think I can figure out true ideas when I actually use it.

At the next time, I started the analysis, I figured out: an incident table, an example example and class diagram. But I don't know if I still don't have, I just follow my own ideas, I've listed all the features I think, I think. As follows: Event list: (action, responsive, destination content omitted, everyone can think of)

Event Name Trigger Source Action Response Destination 1. Browse Articles (File) HTTP Request Ordinary User / Administrator 2. Download File HTTP Request Ordinary User / Administrator 3. Post article (file) HTTP request users 4. Modify delete articles ( File) HTTP request users 5. Search articles (files) HTTP requests Ordinary User / Admin 6. Add Articles (File) HTTP Request Administrator 7. Modify Delete Articles (File) HTTP Request Administrator 8. Publishing a Comment HTTP Request Ordinary User / Administrator 9. Register an account HTTP request anonymous user 10. Login account HTTP request anonymous user 11. Modify account information HTTP request users 12. Add account HTTP request administrator 13. Modify account HTTP request administrator 14. Browse account HTTP request management Member 15. Search account HTTP request administrator 16. Query account information HTTP requests normal User / Administrator 17. Statistics System Information HTTP Request Administrator 18. Statistics File Information HTTP Request Administrator 19. Statistics Account Information HTTP request administrator 20. Logout HTTP requests Ordinary User / Administrator 21. Application Item HTTP Requests Ordinary User / Administrator 22. Approval Project HTTP Request Administrator 23. Find item HTTP requests Ordinary User / Administrator 24. Query Item Status HTTP Request Ordinary User / Administrator 25. Modify the project status HTTP request group length / administrator 26. Undo item HTTP request group master / administrator 27. Apply for item group members HTTP request normal user / administrator 28. Approve the group member HTTP request group leader 29. Find members HTTP requests ordinary users / administrators 30. Query group employens HTTP requests Ordinary User / Administrator 31. Modifying the Status HTTP Request Group Leader 32. Deleting Group Members HTTP Request Group Lead 33. Site real-time communication HTTP request normal user / management member

Analysis class diagram: Main points: project class, file class, user class, group class four categories. Subcounds of the file class: Articles and compressed file classes; subscames of user classes: ordinary user classes and administrators; project classes are combined by file classes and groups. Article Class: Document class and message class. This is a preliminary analytical diagram, and I also want to put interface classes in the beginning, but I found too mess. Note: There are some associations and bases I have not stated, but in this system, there are not many classes, and the relationship is relatively simple, so I omitted. Multi-use case: 1. File maintenance subsystem: 1> Query file system; 2> Add file; 3> update file; 4> Find files; 2. User maintenance subsystem: 1> Add users; 2> Update user information; 3> Find users; 4> Query user information; 3. Project management subsystem (including group maintenance system): 1> Application item; 2> Update project status; 3> Find items; 4> Query project status; Group Maintenance system: 1> Apply to join the project group; 2> Find members; 3> Query member status; 4> Update member status; 4. Station communication subsystem: 1> Site in-site real-time communication; write these pictures Time is not long, but I always think about this problem over and over again: How to classify? How to determine this is a use case? Is there any other class? Of course, I use iterative development methods, I hope in the future time In the analysis design, you can turn your head back to improve my previous document. Write here my mood begins to soothe, because I finally introduced my previous work, probably analyzed the demand for my entire website, the next step is the order of the example of painting, this is a refinement Process, I need to consider every detail in detail. At the same time, I caught a deep confusion. Because I started to realize too much, how to draw a sequence diagram. There is also the design sequence map to involve a lot of web interface classes, I don't want to draw. For example: Query the file system, let's talk about it, let users find the article he cares, browsing articles. But the problem is, there are many situations: If you want to see the This article, some people enter the "tutorial" column first and then find this article in the list of articles in this page, with the mouse click to watch However, some people are keywords on the on the search bar, find this article in the list of search results, and some people click Browse in the list of related articles under other articles. This does this say on the sequence diagram? Another important question: Some articles are a development document belonging to a project. Some development team is unwilling to have a document that has not been completed, or some documents are limited to one group. Internal viewing, at this time I have to add a certain permissions to prohibit the people outside or the group outside of the item or the group of people from the sequence diagram of the query file. This does this say on the sequential map? This will now be a problem. If I still want to count the article browsing, then I still have to draw a message returned to the user class in the sequence map, change the user Attributes? This is a lot of things, I don't even want to use the ADO.NET control as a class to display the interaction with the database, is it necessary to add a data binding control .. . So my sequence diagram is not chaotic, you must know how to make it as much as a good UML map.

转载请注明原文地址:https://www.9cbs.com/read-85605.html

New Post(0)