- 39
- 159 806
UVA CS 3240
United States
เข้าร่วมเมื่อ 23 ส.ค. 2020
CS 3240 - Advanced Software Development (Software Engineering) at the University of Virginia
Character Design
A quick look at five different characters from "seemingly similar" types of games to see how they were designed differently!
มุมมอง: 99
วีดีโอ
Django and the History of the Web
มุมมอง 3083 หลายเดือนก่อน
A quick history lesson on the evolution of the web into web applications and how Django plays a part in our projects.
Welcome to CS 3240 (Spring 2021 Edition)
มุมมอง 1.5K3 ปีที่แล้ว
Well... we're not back to normal just yet, but that doesn't mean we won't have a great semester! It's great to have you here and we can't wait to see you soon!
Licensing
มุมมอง 1.5K4 ปีที่แล้ว
How can you distribute your software? How does copyright law affect your software release? What if you use or repurpose code libraries someone else made? In this lecture, we explore software licensing, the free software movement, and how that can affect your project.
Engineering Software Security
มุมมอง 4.2K4 ปีที่แล้ว
Security is a non-functional requirement, which means it should be pervasive throughout the software system. However, too often development teams treat security as an "add-on" or "module" that is tacked on at the end. It's incredibly important to think about the various aspects of security at each phase of development. Think specifically about security in the maintenance phase and how security ...
Software Maintenance
มุมมอง 8K4 ปีที่แล้ว
"Maintenance" is too often a dirty word in software development... but really only the most skilled developers are good at it! Why does this happen? What skills do you need to be successful?
Structural Patterns
มุมมอง 1.2K4 ปีที่แล้ว
In this video, we look at the Adaptor and Decorator patterns. Code examples: drive.google.com/drive/folders/1aj0Tf_3wIeXtI1JDDfKR7yXc4JhtUVao?usp=sharing
Behavioral Patterns
มุมมอง 1.9K4 ปีที่แล้ว
In this video, we discuss three common examples of behavioral patterns: Iterator, Strategy, and Observer. Code examples can be found here: drive.google.com/drive/folders/1aj0Tf_3wIeXtI1JDDfKR7yXc4JhtUVao?usp=sharing
Creational Patterns
มุมมอง 1.4K4 ปีที่แล้ว
In this video, we look at two creational patterns, Singleton, and Factory Method. Code for this video can be found here: drive.google.com/drive/folders/1aj0Tf_3wIeXtI1JDDfKR7yXc4JhtUVao?usp=sharing
Design Patterns Introduction
มุมมอง 1.9K4 ปีที่แล้ว
What are design patterns? What are the three major types of design patterns? In this video, we discuss these questions and setup the next several videos looking at specific patterns. Creational: th-cam.com/video/fUi0cgOeqeU/w-d-xo.html Behavioral: th-cam.com/video/n6mpIOQc42w/w-d-xo.html Structural: Coming Soon
Functional Decomposition
มุมมอง 7K4 ปีที่แล้ว
Now that we know that modularity is good, and what properties it has, how do we get there? One possible approach is a functional decomposition, which is covered in this brief video.
Modularity
มุมมอง 3.6K4 ปีที่แล้ว
What does it mean for code to be modular? When designing a system, what is good modularity? In this video, we explore what it means for something to have modularity, and the ground principles to get there. We discuss information hiding, cohesion, and coupling.
Web Services
มุมมอง 1.6K4 ปีที่แล้ว
Now that we know how individual web applications are built and we know the architectural design patterns used to build those apps... what can we do with them? Part of the power of MVC is that you can swap out parts of the M, the V, and the C without affecting the rest of the application too much (of course this depends on some things, but go with me here...). Right now, you can go to your proje...
Justice, Equity, Diversity, and Inclusion in SE
มุมมอง 1.3K4 ปีที่แล้ว
Justice, Equity, Diversity, and Inclusion in SE
damnn, the way you teach is inspiring me, thank you
Great material, professor! I am investing in software engineering although I do code and deliver solutions. Because coding is easy!
isnt drawing use case diagrams in designing phase of SDLC?
A great explanation Could you please share the link of the slides? The one you shared doesn't work
Yes, the server did change... www.cs3240.org
@@UVACS3240 Thank you very much But I can't find the slides in the new site
@@ahmadyahya2430 The software process slides are under the "Process" heading - www.cs3240.org/modules/process/software-process/
@@UVACS3240 Thanks for your generosity
Love the way you teach. You clearly have passion for what you do, and it helps us students too
Absolutely great video ! appreciate the effort in putting this together. Do you have any info on how to write a business requirement document and what should be the key focus. Especially when your are dealing with a customers who want every little detail from the workshop sessions we run.
This is really going to vary based on the type of product and who the stakeholders are. If the customers are extremely detail focused, that will be difficult to do in a formal requirements document on the first pass without a lot of going back and forth. Trying to do some early mockups / prototypes to get as much as possible ironed out early can help with later phases.
????
Can we say, with this method (use case) we can define the main functions? Does this method work for the non-functionals?
Typically, use cases are more often used to understand the basic ways that users will interface with the system (or how parts of the system interact with each other). This *can* be related to what the main functions are, but not necessarily. Think of use cases as being a bit more high level - something you could theoretically show to a stakeholder to discuss how the system will work. Use cases, however, are not good at specifying non-functional requirements because NFRs tend to be cross-cutting across multiple features (e.g. performance, accessibility, etc.). Use cases don't really have an effective way of expressing "all pages must be displayed withing 100 ms" or something like that.
@@MarkSherriff Thank you for your quite clear explanation.
You are a legend! Thanks Wish there was a way to get the slides too!
Glad you like the video! The course website is public and can be found at cs3240.cs.virginia.edu/, which has the slides with each lecture.
@@UVACS3240 thanks!
Thanks!! I have to write an SRS for my class 😭
Brushing up on my SE for an exam, the Agile / Plan-Driven continuum was really helpful visualization technique :)
So glad to hear that it was helpful!
Amazing!
Fazool
💯💯
How about user specific requirements (for an auricular wearable medical device for example)? Do they follow the same structure?
There are definitely software systems that have a "generic" version that can then be tailored by an agency (sometimes the original developers, sometimes not) for a particular client. In that case, you effectively end up with two sets of requirements - the general requirements and then the ones for the client, potentially handled by two different teams. In the example you give (where there is a device that is configured, I'm assuming), then the base requirements tend to include the ability to do that level of customization.