Section outline
-
Welcome Note
Hello Students!
Welcome to the world of "Software Engineering" (CSE333) in Fall 2021. This course is designed to help students to grow up and understanding how to develop a software system development process and giving them the fundamental principles of system development with object-oriented technology using the Use Case Model, Object-Oriented Model. The course will initiate students to the different software process models, project management, software requirements, and design as a problem-solving activity, key elements of analysis and design, and the place of the analysis and design phases within the system development life cycle. We are going to study in a way that you will get all the support in this online platform. The course is designed with plenty of tutorials and resources. You will find course contents, reference books, course delivery plans, all kinds of announcements, and contact information here.
So, let's start our journey and make this semester a great and remarkable one.Instructor's Information:
Instructor Name: Nadira Anjum Nipa
Designation: Lecturer
Email: nadira.cse@diu.edu.bd
Office Address: CSE Faculty room, Level -6, House Building, Uttara Campus, Dhaka – 1230
-
Software and Software Engineering
Lesson Topics:- Software Engineering
- Nature of Software Engineering
- Software Applications
- Legacy of Software Engineering
- Software Quality
- Software Quality and Stakeholders
- A Layered Technology
- Software Process
- Software Myths
Learning Outcomes:- Appreciate Software Engineering
- Identify the different component of Software Engineering
-
Software Process Model
Lesson Topics:
- Software Process.
- Process Model.
- A generic Process Model.
- Software Framework Activities.
- Identify the task set for small, medium and large scale project.
- Software Process Model.
- Selection of Process Model.
Learning Outcomes:- Able to learn and practice different models with their strengths and weakness.
- Understand agile software model and know how does it differ from traditional process models.
-
-
Practice Lesson:
-
Agile Models
Lesson Topics:- What is agility?
- Use Agile Model
- 12 Agile Principles
- Agile Models
- Extreme Programming(XP)
- Adaptive Software Development(ASD)
- Dynamic Systems Development Method(DSDM)
- Scrum Agile Process
Learning Outcomes:- Understand the rationale for agile software development methods, the agile manifesto, and the differences between agile and plan driven development.
- Know the key practices in extreme programming and how these relate to the general principles of agile methods;
- Understand the Scrum approach to agile project management.
-
-
Reference Resources: (Youtube Video):
Agile Methodology Scrum Methodology | Scrum Master Tutorial
-
Software Requirements Specification
Lesson Topics:- Requirements Engineering
- Requirements analysis
- Elements of Requirements Engineering
- Classification of Requirements
- Functional Requirements
- Non-Functional Requirements
- Use Case Diagram
- Use Case Description
Learning Outcomes:- Understand the concepts of user and system requirements and why these requirements should be written in different ways;
- Understand the differences between functional and nonfunctional software requirements;
- Understand how requirements may be organized in a software requirements document;
- Understand why requirements management is necessary and how it supports other requirements engineering activities.
-
-
Practice Lesson:
-
Online Tools for drawing Use Case Diagram(With Example):
-
System Modeling
Lesson Topics:- Activity diagrams
- Elements of activity diagram
- Example of an activity diagram
- Sequence diagram
- Elements of a Sequence diagram
- Example of a Sequence diagram
Learning Outcomes:- Understand how graphical models can be used to represent software systems;
- Understand why different types of model are required and the fundamental system modeling perspectives of context, interaction, structure, and behavior;
- Introduced to some of the diagram types in the Unified Modeling Language (UML) and how these diagrams may be used in system modeling;
-
-
Practice Lesson:
-
Graphical User Interface(GUI)
Lesson Topics:- What is Software Prototyping?
- Benefits of Software Prototyping
- Prototyping Process
- Types of Prototyping
- Lo-Fidelity Prototyping
- Hi-Fi Prototyping
- Creating Paper Prototypes
- Creating a High-Fidelity Prototype
Learning Outcomes:- Identify and define key terms related to user interfaces and user interface design and implementation.
- Able to design a user interface from inception through the beginning development stage: Stand-alone app, Web app, and mobile device app.
-
QUIZ-2
Syllabus:
- WK-4-Understanding the Requirements, Modeling, Use Case
- WK-5-Activity Diagram and Sequence Diagram
- WK-6-Prototyping-GUI
Question pattern: Written.
Date and Time: November 8, 2021 at 1:00 pm.
-
Midterm Exam Syllabus:- Wk-1: Software and Software Engineering
- Wk-2: Process Model
- Wk-3: Agile Model
- Wk-4: Understanding the Requirements, Modeling, Use Case
- Wk-5: Activity Diagram and Sequence Diagram
- Wk-6: Prototyping-GUI
Midterm Marks Distribution:
- The Midterm Exam will be made up of 5 sets of questions.
- Each set of questions may include two or three short or descriptive questions.
- Each of the questions set contains equal marks(5 Marks), Total 25 Marks.
- There will be no options. You must answer all the questions to get marks.
Midterm Questions Pattern:
- Model Selection from a given scenario.
- Draw use case diagram and use case description.
- Draw an activity diagram from the given scenario.
- Draw a Sequence diagram from the given scenario.
- Draw a GUI for the given scenario.
-
Dear Students,
Find the attached exam script template and question for your online midterm exam. Download both the answer script template and Question. Make sure you know the exam guidelines and follow them very carefully. You can upload the file in PDF(preferred), Docx, or take images of the answer scripts (If needed). Make sure you submit your answer script within 2 hours 30 minutes that means within 4:00 pm.
In case of not being able to submit in BLC, submit via this GOOGLE FORM.
N.B: If you have any query regarding the question or face any difficulty during the exam then join the google meet with this link: meet.google.com/zvq-umhz-bwh
- Wk-1: Software and Software Engineering
-
Expectation from the Students: Students Feedback
(Based on Midterm Syllabus)
-
UML Class Diagram
Lesson Topics:- UML diagram types
- Structured diagram, Behavioral diagram
- A Class description with elements
- UML Relationship of Object interconnections
- Practicing exercise on object model diagram from the case study
Learning Outcomes:- Apply project management and requirement analysis, principles to software project development.
- Understanding the insight and knowledge into analyzing and designing software using different object-oriented modeling techniques.
-
Class Lecture Video:
-
Reference Resource(Youtube Video):
Class diagram for Point of Sale System or POS system:
-
Assignment Submission and Instruction
Dream Night is a very renowned hotel in Cox’s Bazar. Their services are so good that they have a growing number of tourists coming to their hotel every year. To make their services easier they want your help to develop a CRM system.
In this CRM system, Customers can check in to the hotel. The customer has ID, name, cellphone, address, and room number. Customers can also check out, pay bills,s and order food items. Receptionist book room for customer after checking room availability. The receptionist has an ID, name cellphone, and address. Every room has room no. and location. At the time of ordering food, the customer chooses food items from the menu and places a food order. Every food order has an ID, name, and price. Chef accepts orders from customers and he has ID, name, and location. When the food is ready, it is sent to the customer via House Keeping Staff who has ID, name, and location. House Keeping staff also cleans the room.
At the time of checking out, the receptionist generates bills for customers. Every bill has bill no., customer name, and amount. Customers can make complaints or give feedback about the hotel services to the Manager. The manager has a name, ID, cellphone, and location. The manager manages hotel staff and purchases inventory. Every inventory item has a type, status, and quantity.
Task:
- Write down a scenario from any kind of system.
- Write a set of Functional and Non-Functional Requirements based on the scenario.
- Write down the Requirements Gathering Methods for your system.
- Draw the use cases and Use case descriptions that could serve as a basis for understanding the requirement.
- Draw the Activity Diagram and Sequence diagram for ordering food and generate bills for customers.
- Draw a Class diagram for your system.
Instruction:
Dear Students,
Go through the google sheet and insert your ID, Name, and Group Name, and the presentation topic (System Short Description) of your group. Your group will consist of 4 members. The deadline to submit the information is November 30, 2021. You have to complete all the above-mentioned tasks for your system. You will present your project as a presentation and submit the project report as an assignment. Two groups can not work on the same topic/system.
N.B: The presentation date will be announced later.Video Presentation Submission Link
-
Lesson Topics:Learning Outcomes:
- Business process modeling(BMP)
- Notation defining workflows
- Some rules for creating BPN
- BPM example and practicing
- Why Does BPM use?
- Integrating Requirements and Business Process Models in BPM Projects(Online Materials)
- Understand the process of process modelling (“method”).
- Use the modelling language to express and abstract from a realistic business process.
- Learn various notations that are used in process modeling and how to refine and confirm the process.
- Apply a method for modelling business processes in all its stages
-
Lesson Topics:Learning Outcomes:
- Program Testing
- Aim of Testing
- Verification vs Validation
- Design of Test Cases
- Functional Testing Vs. Structural Testing
- Black Box Testing
- White Box Testing
- Understand the stages of testing from testing, during development to acceptance testing by system customers.
- have been introduced to techniques that help you choose test cases that are geared to discovering program defects.
- Understand test-first development, where you design tests before writing code and run these tests automatically.
-
Pre-Recorded Lesson Video:
Week-10-Lesson-1: Software Testing Strategies (Pre-Recorded Video):
-
Practice Lesson-Exercise:
-
Quiz-Makeup
For those who have missed both Quizzes (Quiz-1 and Quiz-2)
Quiz-3 Syllabus and Instruction:
- Wk-8 and Wk-9 lectures will cover quiz 3.
- A scenario will be given:
- Draw the Class Diagram (10 Marks)
- Draw the Business Process Diagram(5 Marks)
Date and Time:
- December 15, 2021, at 7:30 pm
-
Lesson Topics:- Software Maintenance
- Software Maintenance Process Models
- Software Re-engineering
- Maintenance cost estimation
Learning Outcomes:
- Modify existing software while preserving its integrity.
- Compare and contrast different types of maintenance process model.
- Calculate the maintenance cost estimation
-
Reference Resource(Youtube Video):
Software Maintenance Cost Estimation -
Practice Lesson-Exercise:
-
Lesson Topics:- Boehm’s Definition of Software Project Types.
- COCOMO.
- Basic COCOMO.
- Estimation of development effort.
- Estimation of development time.
- Example practicing.
Learning Outcomes:- Understand the fundamentals of software costing and reasons why the price of the software may not be directly related to its development cost.
- Understand how the COCOMO model can be used for algorithmic cost estimation.
-
-
COCOMO Model in software Engineering:
-
Practice Lesson-Exercise:
-
Lesson Topics:
- Software Quality Assurance
- What are SQA, SQP, SQC, and SQM?
- Elements of Software Quality Assurance
- SQA Tasks, Goals, And Metrics
- Quality Management and Software Development
- QA Vs QC
- Reviews and Inspections
- An Inspection Checklist
Learning Outcomes:
- Understand that software quality is affected by the software development process used.
- Aware of the importance of standards in the quality management process and know how standards are used in quality assurance.
- Understand how measurement may be helpful in assessing some software quality attributes and the current limitations of software measurement.
-
-
Practice Lesson:
-
Final Assessment topics covered:
- WK-8: Object-Oriented Modeling
- WK-9: Business Process Modeling(BPM)
- WK-10: Software Testing Strategies
- WK-11: Software Maintenance and Maintenance Process Model
- WK-12: COCOMO Model
- WK-13: Software Quality Assurance and Management.
Assessment Pattern:
- Draw Class Diagram from a given scenario
- Draw Business Process Model
- Black Box Testing and White Box Testing, Generating Test Case and Test suit design
- Cost Estimation of development time for different types of Projects and Software Quality Assurance