# Software Conceptual Design

- Institution: IIT Bombay
- Department: Computer Science and Engineering
- Taught by: Prof. Sridhar Iyer, Prof. Prajish Prasad, Prof. T. G. Lakshmi
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106101235)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106101235)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

This course will provide learners with an overview of what all is involved in creating conceptual software designs. Specifically, it will take learners through different aspects of understanding, creating and evaluating software conceptual designs.

After going through the course, learners will be able to:

1. Think of software in terms of sub-systems, and understand what issues have to be considered in order to design these sub-systems

2. Create a software conceptual design for a given design problem, and model them using Unified Modeling Language (UML) diagrams

3. Evaluate their designs for functional and non-functional quality attributes

Prerequisites: Learners should have undergone a basic course in programming in any language, and should be familiar with basic programming constructs

## Lectures

1. [Lecture 1 : Deconstructing a software system](https://invisiblenetwork.ai/learn/nptel/106101235/b4654132d11c) (YouTube)
2. [Lecture 2 : Thinking of software in terms of components](https://invisiblenetwork.ai/learn/nptel/106101235/436014710d82) (YouTube)
3. [Lecture 3 : Requirement specification](https://invisiblenetwork.ai/learn/nptel/106101235/466aa3e7c326) (YouTube)
4. [Lecture 4 : Software design and development](https://invisiblenetwork.ai/learn/nptel/106101235/82b2d5a204ce) (YouTube)
5. [Lecture 5 : Software testing and maintenance](https://invisiblenetwork.ai/learn/nptel/106101235/748f687a5613) (YouTube)
6. [Lecture 6 : Software development models](https://invisiblenetwork.ai/learn/nptel/106101235/d13c8afa749f) (YouTube)
7. [Lecture 7 : Comparing and contrasting software development](https://invisiblenetwork.ai/learn/nptel/106101235/c322803c6718) (YouTube)
8. [Lecture 8 : Creating a software conceptual design](https://invisiblenetwork.ai/learn/nptel/106101235/41dabe737c07) (YouTube)
9. [Lecture 9 : Recap of week 1](https://invisiblenetwork.ai/learn/nptel/106101235/6e4d55cafae3) (YouTube)
10. [Lecture 10 : How to start creating a software conceptual design](https://invisiblenetwork.ai/learn/nptel/106101235/57fa6ec305d6) (YouTube)
11. [Lecture 11 : Using FBS (Function-Structure-Behavior) design framework](https://invisiblenetwork.ai/learn/nptel/106101235/1f921eaff9fe) (YouTube)
12. [Lecture 12 : Creating software conceptual design using think & link](https://invisiblenetwork.ai/learn/nptel/106101235/ba2b0499a230) (YouTube)
13. [Lecture 13 : Week 2 : Summary](https://invisiblenetwork.ai/learn/nptel/106101235/5777acee8d99) (YouTube)
14. [Lecture 14 : Comprehending and evaluating software designs (Brief Introduction)](https://invisiblenetwork.ai/learn/nptel/106101235/5f99cfd42b2f) (YouTube)
15. [Lecture 15 : Software modelling](https://invisiblenetwork.ai/learn/nptel/106101235/aa327a7bed6c) (YouTube)
16. [Lecture 16 : Unified modelling language (UML)](https://invisiblenetwork.ai/learn/nptel/106101235/e2a6ac833e61) (YouTube)
17. [Lecture 17 : Software design comprehension](https://invisiblenetwork.ai/learn/nptel/106101235/3475852525a1) (YouTube)
18. [Lecture 18 : VeriSIM: A learning environment for comprehending software design](https://invisiblenetwork.ai/learn/nptel/106101235/6625a4ccb052) (YouTube)
19. [Lecture 19 : Software design quality perspective](https://invisiblenetwork.ai/learn/nptel/106101235/ae0e8b7b1e30) (YouTube)
20. [Lecture 20 : Week 3 Summary](https://invisiblenetwork.ai/learn/nptel/106101235/2d673857a219) (YouTube)
21. [Lecture 21 : Tying it all together](https://invisiblenetwork.ai/learn/nptel/106101235/6f58574eb6c6) (YouTube)
22. [Lecture 22 : Software development process recap](https://invisiblenetwork.ai/learn/nptel/106101235/67ec20cc4643) (YouTube)
23. [Lecture 23 : Mapping Function-Behavior-Structure to software development process](https://invisiblenetwork.ai/learn/nptel/106101235/f9e28b8c3237) (YouTube)
24. [Lecture 24 : Abstractions in modelling](https://invisiblenetwork.ai/learn/nptel/106101235/27f6e6a0f8b2) (YouTube)
25. [Lecture 25 : Week 4 Summary](https://invisiblenetwork.ai/learn/nptel/106101235/63ffceeb82a1) (YouTube)
