Government of Karnataka
DEPARTMENT OF COLLEGIATE AND TECHNICAL EDUCATION
 Programme         Computer Science and Engineering              Semester                   IV
 Course Code       20CS44P                                       Type of Course             Programme Core
                   Software Engineering principles and                                      8 hours/week
 Course Name                                           Contact Hours
                   practices                                                                104 hours/semester
 Teaching
                   L:T:P :: 3:1:4                                Credits                    6
 Scheme
 CIE Marks         60                                            SEE Marks                  40
1.Rationale
         Digital reality has become an integral part of human life with software tools being used to deal with
virtually every part of life. A process is key to develop a quality software successfully. Principles and practices
of software engineering blends engineering, computing, project management and software development. It’s
essential to understand the life cycle of software development and the process followed to develop a quality
software. Design thinking methodology encourages identifying alternative strategies and solutions to solve a
problem in best possible way.
2. Course Outcomes: At the end of the Course, the student will be able to:
           Explain the typical software development life cycle (SDLC), list and differentiate the various
 CO-01
           SDLC models along with identifying where each model could be beneficial when applied.
           Demonstrate the application of design thinking as a process, explain how it helps in
 CO-02
           requirement engineering and mitigate risks.
           Study a given application requirement, create user stories, draw the appropriate UML diagram
 CO-03
           and validate to ensure user story/UML diagram meet with the given requirement.
           Document standard test procedures and test cases for a given requirement to ensure the
 CO-04
           software gives the desired results for which it is built.
3. Course Content
                                                                         Tutorial                     Practice
                                         Lecture
                                                                         (Activity                 (Performance
                                    (Knowledge Criteria)
  Week      CO    PO                                                     Criteria)                   Criteria)
                                                                                                   4 hours/week (2
                                                                             1
                                         3 hours/week                                            hours/batch twice in a
                                                                         hour/week
                                                                                                        week)
                        Overview
                        Software engineering; Need of software
                                                                                            1. Discuss success
                        engineering; Software paradigms; Software
                                                                                               and failure stories
                        product types: generic, customized;                                 2. Presentation of
                        characteristics of good software;                                      collected case
 1         1      1
                        Challenges in software projects; Factors that                          studies
                                                                            Refer Table 1
                        influence software development;                                     3. Enact the
                        understanding success                                                  importance of
                                                                                               ethical practices
                        Software process; need of process,
                        components of process, process
Department of Collegiate and Technical Education , Government of Karnataka                                                53
                     activities; Differentiate product, project and
                     process; process assessment and
                     improvement; Software engineering ethics.
                     SDLC and Process Models                                 1. Case study to
                     SDLC; Software process model; How to                        understand the
                     choose process model? Comparison                            SDLC
                     between a defined process and an empirical              2. Organize and play
                     process; Traditional process models:                        games to
                     waterfall; Incremental;                                     understand the
                     Agile process- manifesto; principles;                       agile process like,
                     practices; A paradigm shift from plan driven                morning wake up
                     mentality.                                                  game
                                                                                 ▪ the
                1,
 2       1                                                                           marshmallow
                5
                                                                                     challenges
                                                                                 ▪ White Elephant
                                                                                     Sizing
                                                                                 ▪ Easter Egg
                                                                                     Challenge
                                                                             3. Create JIRA
                                                                                 (similar tool)
                                                                                 account and learn
                                                                                 interface
                                                                               •
                                                                             1. Play and act agile
                     Agile frameworks; Ceremonies; Roles;                        ceremonies
                     Overview of XP – XP practices                           2. Play different agile
                1,   Scrum: Overview; framework; ceremonies
 3       1                                                                       roles
                5    and artifacts                                               Eg. Product owner,
                                                                                 business analyst
                     Risk                                                    1. case study to
                     Risk, characteristics, categories; why risk                understand the
                     management is critical; risk management                    importance of risk
                     framework; Activities;                                     management and
                     Principles of risk management, Risk                        mitigation of risk
 4       1,2    1    identification, Risk assessment – risk                  2. How to use tools to
                     analysis; risk prioritization; Risk Mitigation;            manage and
                     need and importance of risk mitigation;                    mitigate risks
                      Risk Control – planning, resolution,                      [eg. Logicgate,
                     monitoring; How to use tool to manage and                  AuditBoard etc]
                     mitigate risks in an organization.
                     Design Thinking                                         1. Conduct warmup
                     Introduction, 5 stages of design thinking                    activities to Ignite
                     Understand the process of design thinking                    Design Thinking
                1,
 5       2           using an example                                        2. Organize and
                2
                     Case Study                                                 conduct design
                                                                                thinking exercises
                                                                                and games
Department of Collegiate and Technical Education , Government of Karnataka                               54
                     Requirement Engineering & Modeling                      1. Organize role play
                     Overview; what is requirement?                             for requirement
                     Importance; Requirement types; Sources of                  activities
                     requirements;                                           2. Identify a problem
                     Requirement engineering Process;                           and prepare
                     Feasibility study; Typical Requirements                    requirement
                     Engineering Problems;                                      document or Epics
                1,
 6       1,3         Requirement modeling strategies;                           and user stories
                2
                     Overview of UML; types of diagrams;                     3. Configure JIRA for
                     Note: Take a case study to understand                      the managing the
                       requirement engineering and prepare                      project to solve the
                       use cases or user stories                                identified problem
                                                                             4. Draw UML diagram
                                                                                for given use case
                     User stories
                     What are user stories? Why user story?                  1. Create detailed
                     Basic concepts; Characteristics; How to                      user stories for the
                     write/create user stories? Steps; 3C’s in                    above identified
                1,
                     user stories; Life cycle of user story. User                 problem
 7       1,3    2,
                     story map.                                              1. Organize and play
                4
                     Estimation:                                                planning poker to
                     User story point: basics; components of                    decide on user
                       story point estimation; Steps involved in                points.
                       estimation;
                     Design
                     Objectives; design Concepts; Levels of
                     design;                                                 1. Create sitemap and
                     Architectural styles; Monolithic and                       wireframe for above
                1,   Microservices;                                             created user stories.
 8       1,2    2,   UI and UX: Overview of UI and UX, UI types,                (Tools such as
                3    essential properties, elements of UI design;               sketch, Adobe XD,
                     relationship between UI and UX;                            Figma, etc can be
                     Importance of good UI/UX. Wireframes:                      used)
                     overview, purpose, benefits;
                     Development                                             1. Create Git (similar
                     Overview of DevOps; working principle;                       tool) account and
                     Benefits; DevOps culture; DevOps practices:                  configure
                1,   continuous integration, continuous delivery,                 repository
                2,   version control, configuration management,              2. Upload the
 9       1
                3,   Build process;                                               artifacts created to
                4                                                                 Git
                                                                             Learn version control
                                                                                and configuration
                                                                                management with Git
                     Code quality and code security: overview;               1. Install and
                     importance; issues caused by poor code;                      configure Jenkins
                     tools to check code quality                             2. Create a container
                1,
                     Containerization: Container, why                             image for Hello
                2,
 10      1           container, containerization; working                         world project
                3,
                     principle; benefits; Hello world example                3. Setup build for
                4
                     Note: Docker or similar tool can be used                   container image
                       to explain the containers.                               using Jenkins (Hello
                                                                                world application)
Department of Collegiate and Technical Education , Government of Karnataka                               55
                       Testing                                                         1. Prepare Test plan
                       Principles of testing; Need of testing; stages;                      for the user stories
                       Testing process and activities; classification;                      using JIRA
                       Testing strategies; Levels of software                          2. Prepare RTM for
                  1,
 11       1,4          testing; Software testing types;                                     the user stories
                  4
                       (Integration testing, functional testing, end-                       created using JIRA.
                         to-end testing need to be explained in                        Create test cases for
                         detail)                                                          the user stories
                                                                                          created.
                        Software Measurement and Metrics                               1. Use JIRA or similar
                        Measurement; need of Measurement; types;                            tool to capture
                        Metrics: characteristics; classification; Agile                     agile metrics
 12       1,4     1
                        metrics; Application monitoring.                               2. Use SonarQube to
                                                                                          capture code quality
                                                                                          metrics
                       Quality Control and Assurance
                       Concept of software quality, Compliance,
                                                                                       1. Organize Roleplay
                       Quality Standards, quality control, quality
                                                                                            to understand the
                       assurance; Difference between QC & QA.
                                                                                            roles and
                       Need for auditing.
                                                                                            responsibilities of
 13       1,4     1    Auditing fundamentals: auditing, elements
                                                                                            QA and QC team.
                       of auditing; audit types; auditing methods,
                                                                                       2. Audit the artifacts
                       benefits of auditing.
                                                                                          produced in previous
                       Quality and Process improvement tools and
                                                                                          sessions
                        techniques– pareto chart, PDCA cycle, Six
                        sigma and Lean process
 Total
 in                39                                          13                      52
 hours
*PO = Program outcome as listed and defined in year 1 curriculum
Table 1: Suggestive activities for tutorials (the list is only shared as an example and not inclusive of all possible
activities for that course. Student and faculty are encouraged to choose activities that are relevant to the topic
and the availability of such resources at their institution)
 Sl
          Activity
 No
 1        Study the traffic signal and the importance of rules and process.
 2        Visit various consulting company web portals and collect case studies.
 3        Document the roles and responsibilities of different agile ceremonies
 4        Identify cost of risk;
          Identify commonly used risk management tools.
          Identify a problem and explain how design thinking can be applied to solve it.
 5
          Design a shopping cart to achieve ease of use, applying design thinking.
          Prepare RPM requirement traceability matrix for shopping cart
          List the criteria to select the requirement management tools.
 6
          Identify different requirement management tools and list their features.
          Identify frequently used UML diagrams and also identify tools used to draw them.
 7        Explore agile estimation techniques and prepare a report.
 8        Study boiler plate and present necessary characteristics of boiler plate for a large and small project
          Identify different DevOps Tools and list their features
          Study and report OWASP coding guidelines
 9        Learn and report Twelve Factor App methodology
          Identify different version control and configuration management tools and report their market
          share
Department of Collegiate and Technical Education , Government of Karnataka                                         56
         Compare and contrast containerization and virtualization and identify importance of these in
 10      software development
         Identify container providers
         Study and prepare report on testing tools.
 11
         Compare manual and automation testing
 12      Study and prepare report on widely used software metrics.
 13      Identify different quality tools and report their features and usage
4. CIE and SEE Assessment Methodologies
 Sl.                                 Test                      Duration         Max
        Assessment                                                                          Conversion
 No                                  Week                     In minutes       marks
 1.     CIE-1 Written Test                          5              80            30          Average of three
 2.     CIE-2 Written Test                          9              80            30                tests
 3      CIE-3 Written Test                          13             80            30                 30
 4.     CIE-4 Skill Test-Practice                   6             180            100        Average of two skill
                                                                                             tests reduced to
 5      CIE-5 Skill Test-Practice                   12            180            100
                                                                                                    20
        CIE-6 Portfolio continuous
 6      evaluation of Activity through             1-13                           10                  10
        Rubrics
                                                                     Total CIE Marks                  60
                  Semester End Examination (Practice)            180         100                      40
                                                                       Total Marks                   100
5. Format for CIE written Test
                Software Engineering principles and
 Course Name                                              Test        I/II/III     Sem                 III/IV
                practices
 Course Code    20CS44P                                   Duration 80 Min          Marks               30
 Note: Answer any one full question from each section. Each full question carries 10 marks.
                                                                      Cognitive Course
 Section                    Assessment Questions                                                       Marks
                                                                      Levels       Outcome
           1
 I
           2
              3
 II
              4
              5
 III
              6
 Note for the Course coordinator: Each question may have one, two or three subdivisions. Optional questions in each
 section carry the same weightage of marks, Cognitive level and course outcomes.
6. Rubrics for Assessment of Activity (Qualitative Assessment)
  Sl. Dimension Beginner Intermediate            Good    Advanced                         Expert       Students
 No.                                                                                                     Score
                        2            4             6          8                              10
 1                 Descriptor Descriptor      Descriptor Descriptor                     Descriptor          8
 2                 Descriptor Descriptor      Descriptor Descriptor                     Descriptor          6
 3                 Descriptor Descriptor      Descriptor Descriptor                     Descriptor          2
 4                 Descriptor Descriptor      Descriptor Descriptor                     Descriptor          2
Department of Collegiate and Technical Education , Government of Karnataka                                            57
                                                           Average Marks= (8+6+2+2)/4=4.5          5
Note: Dimension and Descriptor shall be defined by the respective course coordinator as per the activities
7. Reference:
 Sl. No.    Description
 1          Agile Software Development, principles, patterns and practices by Robert Martin
 2          Art of agile development by James Shore & Shane Warden
 3          Extreme programming explained: embrace change
 4          Software-Engineering-9th-Edition-by-Ian-Sommerville
 5          RPL-7th_ed_software_engineering_a_practitioners_approach_by_roger_s._pressman_
 6          Becoming Agile..in an imperfect world by Greg Smith, Ahmed Sidky
 7          scaledagileframework.com
 8          Continuous Delivery Principles | Atlassian
 9          www.agilealliance.org/
 10         www.udemy.com
 11         www. tutorialride.com
 12         www.interaction-design.org/
 13         www.digite.com
8. SEE Scheme of Evaluation
 SL.
                                         Particulars/Dimension                                    Marks
 No.
            Capturing the requirements of the client, documenting, reviewing and acceptance
 1                                                                                                30
            by the client of the documented requirement for given the problem statement.
 2          Identify and document at least two associated risks for the above case.               20
             Create user stories for the above requirements and draw a UML diagram using any
 3                                                                                                30
            of the modeling technique.
            Document test suite for the above requirement.
 4          Viva-Voce, In the event of student unable to document a test suite, then student      20
            should be allowed to explain the test procedure.
                                                                                    Total Marks   100
9. Equipment/software list with Specification for a batch of 20 students
 Sl.
            Particulars                                                     Specification   Quantity
 No.
       1.   Computers                                                                       20
       2.   Git, Jira, SonarCube, Lucidchart or any other UML design tool
Department of Collegiate and Technical Education , Government of Karnataka                                   58