Independent University, Bangladesh Department of Computer Science & Engineering Course Outline
Independent University, Bangladesh Department of Computer Science & Engineering Course Outline
Independent University, Bangladesh Department of Computer Science & Engineering Course Outline
Course Description
Introduction to the principles of software engineering. This course introduces the concept of Software Marketing, Business
process reengineering, requirement engineering, Software process, Project management and planning; tracking and
scheduling; risk analysis and quality assurance techniques; Configuration management. Software testing techniques: black
box and white box techniques. Testing strategy: unit, integration and system testing. The course focuses on real world
problem and try to develop solutions to help the software firms and individuals to grow.
Course Objectives:
The main objective of this course is to introduce students with the software engineering area and provides
fundamental knowledge of multiple discipline of Software Engineering domain. However, the key objectives are
following:
• To understand the background of Software Engineering
• To understand the software process and process management
• To be familiar with the concept of software marketing
• To understand the concept of requirement analysis
• To understand the concept of software architecture
• To understand the concept of Software testing and quality issues.
• To understand the concept of Software project management.
Course outcome (CO):
• CO1: Explain and apply the main aspects of software engineering
• CO2: Evaluate requirements for a software system and apply the process of analysis and design using the
object-oriented approach.
• CO3: Employ group working skills including general organization, planning and time management and
inter-group negotiation.
• CO4: Translate a requirements specification into an implementable design, following a structured and
organized process.
• CO5: Formulate a testing strategy for a software system, employing techniques such as unit testing, test
driven development and functional testing.
1 of 4
Course Policy:
1. It is the student’s responsibility to gather information about the assignments/project and covered topics during the
lectures missed. Regular class attendance is mandatory. Points will be taken off for missing classes. Without 70% of
attendance, sitting for final exam is NOT allowed. Student should come on time to get the attendance. In case of
failing 70% of attendance a student will receive W grade automatically.
2. The date and syllabus of class tests, midterm and final exam is already given here, however, announcements will be
given ahead of time. There is NO provision for make-up.
3. The reading materials for each class will be given prior to that class so that student may have a cursory look into the
materials.
4. Class participation is vital for better understanding of the topics of this course. Students are invited to raise questions.
5. Students should take tutorials with the instructor during the office hours. Prior appointment is required.
6. Students must maintain the IUB code of conduct and ethical guidelines offered by the school of computer science and
engineering.
7. Student must pass both Midterm and Final Exam to pass the course.
8. No working mobile phones are allowed in class. Using one for any purpose will result in serious consequences.
9. Student must submit the hardcopy of the assignment in the class. In case of emergency the softcopy can be send to
the email with prior approval.
Assessment and Marks Distribution:
Students will be assessed on the basis of their overall performance in all the exams, quizzes, and class participation. Final
numeric reward will be the compilation of:
One mid-term test (30%)
A cumulative final exam (40%)
Assignment and Final Project (Project based) (30%)
Grade Conversion Scheme:
The following chart will be followed for grading. This has been customized from the guideline provided by the
School of Engineering and Computer Science.
A A- B+ B B- C+ C C- D+ D F
85-100 80-84 75-79 70-74 65-69 60-64 55-59 50-54 45-49 40-44 0-39
Required Text:
The course will be based mostly on the following books [some other books and journals may be referred time to time]:
Software Engineering: A Practitioner's Approach, Roger S Pressman.
Software Engineering, Ian Sommerville.
Audit:
Students who are willing to audit the course are welcome during the first two classes and are advised to contact the
instructor after that.
Note:
Academic Misconduct - Plagiarism or Cheating –In the event of a student being found to have plagiarized or cheated in
some way in an exam/test, that student will be given a zero mark in that exam. Similarly, a student who fails to submit the
exam paper on time will also receive a zero mark.
The student will also receive a zero mark on assignments in case of the following
2 of 4
Deliberate copying or attempting to copy the work of other students with or without their consent
Deceitful conduct by submitting the work of another student (as their own).
Using or attempting to use information that has been prohibited to use in an exam/assignment or prohibited by law.
Plagiarism (i.e., taking and using the thoughts and writings of another with the intent to claim the work as their own)
University Regulation and Code of Conduct:
Please see the Green Book for further information about academic regulation and policies, including withdrawal and
grading, appeals and penalties for plagiarism and academic misconduct.
3 of 4
why it’s important.
7. Students will learn why the software quality is effected by the
software development process used.
8. Students will learn about the importance of standards in the quality
management process and how standards are used in quality
assurance.
1. Students will learn the concepts of user and system requirements
and why these requirements should be written in different ways.
2. Students will learn the differences between functional and
Software Requirement nonfunctional software requirements.
Session – 6 Analysis 3. Students will learn how requirements maybe organized in a Lecture Notes
Requirements Engineering software requirement document.
4. Students will learn the principal requirement engineering activities
of elicitation, analysis and validation and the relationship between
these activities.
1. Students will learn how graphical models can be used to represent
software systems.
2. Students will learn why different types of model are required and
the fundamental system modeling perspectives of context,
interaction, structure and behavior.
Building Analysis 3. Students will learn about the Unified Modeling Language (UML)
Model/System Models and how these diagrams may be used in system modeling.
Design Engineering,
Session – 7 Architectural Design 4. Students will learn about the importance of the architectural design Lecture Notes
Object Oriented Design of the software.
and Software Reuse 5. Students will learn about the decisions that have to be made about
the system architecture during the architecture design process.
6. Students will learn about the architectural patterns that are used in
different types of application system.
7. Students will learn about the well-tried ways of organizing system
architecture, which can be reused in system designs.
1. Students will learn the difference between validation and
Verification.
Session – 8 Verification and Validation Lecture Notes
2. Students will learn why verification is important during the
software development process.
1. Students will learn about the stages of testing during development
to acceptance testing by system customers.
2. Students will learn techniques that will help them to choose test
cases that are geared to discovering program defects.
Session – 8 Software Testing 3. Students will learn about test-first development, where they will Lecture Notes
design tests before writing code and run these tests automatically.
4. Students will know about the important difference between
component, system and release testing and be aware of user testing
process and techniques.
4 of 4