Instructor | Announcements | Course Info | Class Material | Schedule | Project | Grade | General Policy | Related Links

 

CmpE 285
Software Engineering Processes
Fall 2022

 

 

Instructor

Richard Sinn
Email: richardsinn@yahoo.com
Office Hours: Before class, by appointment or email only

Richard is currently a Director of Software Development at Adobe. He manages teams in Creative Cloud Web, Services, DevOps, Machine Learning and Mobile Engineering. Before Adobe, he was a Principal MTS/Director at eBay looking over various security projects. Prior to that, he served as a Security Architect/Manager at various Yahoo business units (Real Time Communication group, Yahoo Community, Yahoo Communications) from 2005 to 2011. He has also held various senior positions at IBM, Oracle and different Silicon Valley startup companies. Richard is an inventor and has filed over 25 patents. He has published a college textbook (Software Security Technologies). He is also a frequent writer for various magazines and journals, and a frequent speaker at regional and national technology conferences. As a scholar and supporter for academia, he has been teaching in the Computer Engineering and Computer Science departments at San Jose State University since 1998. He also served as Adjunct Professor at the University of Minnesota.

 

Prereq:

Coreq: CMPE 202 or CMPE 220 or instructor consent.

 

New Prereq check procedure


At the beginning of the term, have all the students in the class provide a copy of their transcripts, with the prerequisite class grade highlighted. The instructor will then check off against the roster, and drop any and all students who do not provide such proof of having completed the prerequisite with a satisfactory grade.
For classes with co-requisite requirements (such as CMPE 110), the student will provide the transcript (proving that the class has already been passed) or a printout from MySJSU (proving that the student is currently enrolled).
Add the following to the class greensheet: ”Students who do not provide documentation of having satisfied the class prerequisite and co-requisite requirements (if any) by the second class meeting will be dropped from the class.

 

General:

Bring a computer to class. You will need that for lecture / lab assignment.

Official Green Sheet

 

 

Class time:

Every Monday at 6:00pm

Class room:

Online Only - Synchronous

https://sjsu.zoom.us/j/3353768456

 

 

 

Course Information

Objectives

Software system development with emerging software engineering processes and technologies; planned and agile development processes, processes of Service-Oriented Architecture; component-based, Web-based, mobile based, event programming, wireless, user interface, and database access technologies. Corequisite: CMPE 202 or CMPE 220 or instructor consent.

 

Program Outcomes (PO)

 

Description

PO 1

Be able to demonstrate an understanding of advanced knowledge of the practice of computer/software engineering, from vision to analysis, design, validation and deployment.

PO 2

Be able to tackle complex engineering problems and tasks, using contemporary engineering principles, methodologies and tools.

PO 3

Be able to demonstrate leadership and the ability to participate in teamwork in an environment with different disciplines of engineering, science and business.

PO 4

Be aware of ethical, economic and environmental implications of their work, as appropriate.

PO 5

Be able to advance successfully in the engineering profession, and sustain a process of life-long learning in engineer or other professional areas.

PO 6

Be able to communicate effectively, in both oral and written forms.

Course Learning Objectives (CLO)

 

Description

CLO 1

Understand the issues, processes, responsibilities and tasks in software engineering project management.

CLO 2

Understand the different organizational approaches to software engineering project management.

CLO 3

Understand techniques involved in the successful leadership of software development project teams.

CLO 4

Apply engineering discipline to software development management.

CLO 5

Function in a leadership role for software development teams.

CLO 6

Communicate effectively during a software development project.

CLO 7

Effectively gather and document project requirements.

CLO 8

Discern the most effective process to use for a given project.

CLO 9

Effectively estimate, schedule, and plan work for a project team.

CLO 10

Apply critical thinking to the solution of software development problems and to effectively communicate the results of that thinking.

Course Learning Objectives Support Program Outcomes

 

PO 1

PO 2

PO 3

PO 4

PO 5

PO 6

CLO 1

X

X

 

X

X

 

CLO 2

X

X

 

X

X

 

CLO 3

X

X

X

X

X

X

CLO 4

X

X

 

 

 

X

CLO 5

 

 

 

X

 

X

CLO 6

 

X

 

 

 

X

CLO 7

X

 

X

 

 

 

CLO 8

X

X

 

X

X

 

CLO 9

X

X

 

 

 

X

CLO 10

 

 

X

X

 

X

 

Classroom Protocol

Each student is required to engage in classroom activities, participate in project reviews and presentations, submit assignments and reports on time, and take exams and tests on time.

 

Grading

Apart from big term project(s) and presentation, there are homework assignments, a mid-term exam and a final exam. Some exams might be take-home. The weightings for grading are:

No Late Assignment Submission. Put everything in an envelop when submit any material.

(Weightings for grade might change according to the progress of the semester.)

 

 

University Policies

Academic Integrity

Your own commitment to learning, as evidenced by your enrollment at San José State University, and the University’s Academic Integrity Policy requires you to be honest in all your academic course work. Faculty members are required to report all infractions to the Office of Student Conduct and Ethical Development. The policy on academic integrity can be found at http://sa.sjsu.edu/student_conduct.
Instances of academic dishonesty will not be tolerated. Cheating on exams or plagiarism (presenting the work of another as your own, or the use of another person’s ideas without giving proper credit) will result in a failing grade and sanctions by the University. For this class, all assignments are to be completed by the individual student unless otherwise specified. If you would like to include your assignment or any material you have submitted, or plan to submit for another class, please note that SJSU’s Academic Policy S07-2 requires approval of instructors.

Campus Policy in Compliance with the American Disabilities Act

If you need course adaptations or accommodations because of a disability, or if you need to make special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible, or see me during office hours. Presidential Directive 97-03 requires that students with disabilities requesting accommodations must register with the Disability Resource Center (DRC) at http://www.drc.sjsu.edu/ to establish a record of their disability.

Student Technology Resources

Computer labs for student use are available in the Academic Success Center located on the 1st floor of Clark Hall and on the 2nd floor of the Student Union. Additional computer labs may be available in your department/college. Computers are also available in the Martin Luther King Library.
A wide variety of audio-visual equipment is available for student checkout from Media Services located in IRC 112. These items include digital and VHS camcorders, VHS and Beta video players, 16 mm, slide, overhead, DVD, CD, and audiotape players, sound systems, wireless microphones, projection screens and monitors.

Learning Assistance Resource Center

The Learning Assistance Resource Center (LARC) is located in Room 600 in the Student Services Center. It is designed to assist students in the development of their full academic potential and to motivate them to become self-directed learners. The center provides support services, such as skills assessment, individual or group tutorials, subject advising, learning assistance, summer academic preparation and basic skills development. The LARC website is located at http:/www.sjsu.edu/larc/.

SJSU Writing Center

The SJSU Writing Center is located in Room 126 in Clark Hall.  It is staffed by professional instructors and upper-division or graduate-level writing specialists from each of the seven SJSU colleges. Our writing specialists have met a rigorous GPA requirement, and they are well trained to assist all students at all levels within all disciplines to become better writers. The Writing Center website is located at http://www.sjsu.edu/writingcenter/about/staff/.

Peer Mentor Center

The Peer Mentor Center is located on the 1st floor of Clark Hall in the Academic Success Center. The Peer Mentor Center is staffed with Peer Mentors who excel in helping students manage university life, tackling problems that range from academic challenges to interpersonal struggles. On the road to graduation, Peer Mentors are navigators, offering “roadside assistance” to peers who feel a bit lost or simply need help mapping out the locations of campus resources. Peer Mentor services are free and available on a drop –in basis, no reservation required. The Peer Mentor Center website is located at http://www.sjsu.edu/muse/peermentor/

 

Class Material

Lecture Notes

Required Textbooks:

 

 

 

 

 

Schedule

 

Software Engineering Overview

 

Aug 22, 2022 - Mon

  • Agenda:
    • Info:
      • Starts at 6:05pm (to wait for everyone)
      • CLASS is FULL. NO ADD CODE until someone drops (if any). Check back Sept 8. 2022 via email.
      • zoom: https://sjsu.zoom.us/j/3353768456
      • New group for 285 only: https://chat.whatsapp.com/Lq1ujnNm5EU1Nebl65Gbu3
      • Book: https://github.com/bernardvery/Genap1718/blob/master/Ebook/Software%20Engineering%20A%20Practitioner%E2%80%99s%20Approach%20eighth%20edition-(www.downloadnema.com).pdf
    • Lecture
    • Lab -
      • Form group of four via https://chat.whatsapp.com/Lq1ujnNm5EU1Nebl65Gbu3, you pick your own group and software to meetup (5 min)
      • Among your group, discuss a draft of your software engineering career plan
      • Email the following to coolprofsinn2@gmail.com by the end of the 30 min discussion.
        • List of members (one email per group)
          • For each member:
            • State the concentration of your study (network, security, ML, etc.)
            • State your ideal job (in what company or start what type of business, and type of work)
            • What is your plan for the next 1 year? List three actionable items in your plan.
          • (Listen to each other and do discussion as needed)
      • Return to class @ 7:25pm, and we will pick two groups to present to others.
    • In General:
      • Question to prof: richardsinn at yahoo.com
      • Homework / Lab to grade: coolprofsinn2@gmail..com
    • Info (SJSU Salary Survey)
  • Reading assignment:
    • Chapter 4: Process Models
    • Chapter 5: Agile Development

 

 

Aug 29, 2022 / Sept 5 - Mon / Labor Day

  • No Class - Prof @ Midwest
  • Labor Day weekend

 

Sept 8, 2022 - Thursday

  • Last day to add classes
  • Email to richardsinn@yahoo.com if needed

 

Sept 12, 2022 - Mon

  • Last Day to Drop Courses wthout an Entry on Student's Permanent Record (D)
  • Agenda:
    • Info:
      • Starts at 6:05pm (to wait for everyone)
      • zoom: https://sjsu.zoom.us/j/3353768456
      • Form a group using https://chat.whatsapp.com/FTpmNV3qzzG7kMtllMdl2w
      • CLASS is FULL. NO ADD CODE today. Check back Feb 14. 2022.
      • Roster and Prereq check
        • Email coolprofsinn2@gmail.com your ID + proof of prereq (your my.sjsu screenshoot)
    • Lecture
    • Lab
      • In class exercise (Lab) - 40 min
        • Form group of four via https://chat.whatsapp.com/DNCetHkBOs9ClnFx49DnUa, you pick your own group and software to meetup
        • Lab

          Background

          Your group is the up-and-coming startup team. You are funded 100k USD to develop the following product.

          Product: A geotarget mobile application that will locate the cheapest restaurant around you with a certain type of food.

          Questions

          Define the roles of your team. Describe who is going to do what, etc.

          Describe how you are going to spend the money.

          Pick a development process that your group is going to use for the product. Explain your choice.

        • Email the answers to coolprofsinn2@gmail.com and return to class, and we will pick two groups to present to others. (Return to zoom @ 7:45pm)
        • Make sure you include the list of members
  • Homework 1: Individual Homework (The book is eighth edition)
    • Problem 4.3
    • Problem 4.6
    • Problem 5.10
    • Problem 5.11
  • Homework due next week before class - email to coolprofsinn2 @ gmail.com

 

 

Sept 19, 2022 - Mon

  • Agenda:
    • Info:
    • Lecture
    • Lab
      • In class exercise (Lab) - 50 min
        • Form group of four via https://chat.whatsapp.com/DNCetHkBOs9ClnFx49DnUa, you pick your own group and software to meetup
        • Lab

          • Background
            • Based on your last lab, your little startup is funded. Now, your group (with the number of members you have) is the engineering team.
          • Discuss and decide
            • The agile process being used for software development
            • Present the details of your agile process. (e.g. when you will have your standup, demo, meetings, etc. What meetings / tools to use, etc.)
            • A list of five to ten development items for the geotarget mobile application
            • With the agile process you are using, decide who is going to work on what.
            • For each member, describe what you are going to present in the next agile demo meeting.

        • Email your answers to coolprofsinn2@gmail.com by the end of the 40 min discussion.
          • Make sure you include list of members (one email per group)
        • Return to class, and we will pick two groups to present to others. (Return to zoom @ 7:50pm)
    • Lecture Part 2 - Ch 7 Principles that Guide Practice

 

Sept 26, 2022 - Mon

  • Agenda:
    • Info:
    • Lecture
    • Lab
      • In class exercise (Lab) - 45 min
        • Form group of four via https://chat.whatsapp.com/DNCetHkBOs9ClnFx49DnUa, you pick your own group and software to meetup
        • Lab

          • Based on the last lab: Your company flagship mobile app is now called GeoFood - The Geotarget Mobile app
            1. Form a group of four members
            2. Write THREE main use cases for your app
              • E.g. Food Search: A user in San Jose, search for Chinese food / dinner that is under $10. (Does it use GPS? Does the app use location of other friends to eat with? How delivery / carry-out / dine-in are handled?)
            • Notes:
              • The use cases should be written in enough details that anyone who read the description should understand what is going on. Free feel to use any diagram when necessary.

        • Email your answers to coolprofsinn2@gmail.com by the end of the 40 min discussion.
          • Make sure you include list of members (one email per group)

        • Return to class, and we will pick two groups to present to others. (Return to zoom @ 7:50pm)

 

Oct 3, 2022 - Mon

Design

Agenda:

  • Info:
  • Lecture
  • Lab
    • In class exercise (Long Lab) - 60 min
      • Form group of four via https://chat.whatsapp.com/DNCetHkBOs9ClnFx49DnUa, you pick your own group and software to meetup
      • Lab

      • Email your answers to coolprofsinn2@gmail.com by the end of the 60 min discussion.
        • Make sure you include list of members (one email per group)

      • Return to class, and we will pick two groups to present to others. (Return to zoom @ 8:05pm)
  • Reading Assignment:
    • Chapter 9: Requirements Modeling: Scenarios, Information, and Analysis Classes
    • Chapter 15: User Interface Design
    • Chapter 16: Pattern-based Design

 

Oct 10, 2022 - Mon

  • Info:
  • Lecture
  • Lab
    • In class exercise (Long Lab) - 55 min
      • Form group of four via https://chat.whatsapp.com/DNCetHkBOs9ClnFx49DnUa, you pick your own group and software to meetup
      • Lab


      • Email your answers to coolprofsinn2@gmail.com by the end of the 55 min discussion.
        • Make sure you include list of members (one email per group)

      • Return to class, and we will pick two groups to present to others. (Return to zoom @ 8:00pm)

 

 

Oct 17, 2022 - Mon

  • Midterm
    • Can be download before 5pm
    • Due before 9pm on Oct 19, 2022 (Wednesday)
  • Instruction
    • All midterm must be submitted to richardsinn at yahoo.com in MS-word format as mail attachment
      • What to submit:
        • Your midterm with answers in MS-word (only one document will be graded, don't send a bunch of stuffs)
        • Make sure you send the midterm as attachment and not a link to a shared doc.
        • Include your picture AND picture of your student ID in the same document as your midterm answer
        • The title of the email must begin with MIDTERM 285: <Your Name>
    • Openbook
      • Include multiple choice and programming questions
      • Individual midterm

 

More Design

Oct 24, 2022 - Mon

  • Info:
  • Lecture
  • Lab
    • In class exercise - 45 min
      • Form group of four via https://chat.whatsapp.com/DNCetHkBOs9ClnFx49DnUa, you pick your own group and software to meetup
      • Lab


      • Email your answers to coolprofsinn2@gmail.com by the end of the discussion.
        • Make sure you include list of members (one email per group)

      • Return to class, and we will pick two groups to present to others. (Return to zoom @ 7:45pm)
  • Reading Assignement:
      • Chapter 19: Quality Concepts
 

 

Oct 31, 2022 - Mon

QE

  • Info:
  • Lecture
  • Lab
    • In class exercise - come back at 7:55pm
      • Form group of four via https://chat.whatsapp.com/DNCetHkBOs9ClnFx49DnUa, you pick your own group and software to meetup
      • Lab

        • Your group is hired as the QE automation team to test Discover tab under https://creativecloud.adobe.com/
          • Research tools for your group to use
          • Develop a short proposal on how your group is going to test discover
            • General methodology / approach
            • Test Plan
            • Test Cases (write a sample or two test cases to illustrate)
            • Budget (People and Hardware / Software Resources needed)
          • Email your answers to coolprofsinn2@gmail.com by the end of the discussion.
            • Make sure you include list of members (one email per group)
    • Project Overview
    • Midterm review
  • Reading Assignement:
      • Chapter 10: Requirements Modeling Class-based Method
      • Chapter 22: Software Testing Strategies

 

 

Nov 7, 2022

  • Info:
  • Lecture
  • Lab
    • In class exercise - 55 min
      • Form group of four via https://chat.whatsapp.com/DNCetHkBOs9ClnFx49DnUa, you pick your own group and software to meetup
      • Lab

        • Lab: Project Management Problem
          • Email your answers to coolprofsinn2@gmail.com by the end of the discussion.
            • Make sure you include list of members (one email per group)
          • Return to class, and we will pick two groups to present to others. (Return to zoom @ 8:00pm)
  • Reading:

      • Chapter 20 - Review Techniques
      • Chapter 22 - Software Testing Strategies
      • Chapter 12:- Design Concepts

 

 

Nov 14, 2022 - Mon

  • Info:
  • Lecture
  • In class exercise - 55 min
    • Form group of four, you pick your own group and software to meetup
    • Lab

      • Lab: As a team, review the following three code samples and document what needs to be changed.
        • Email your answers to coolprofsinn2@gmail.com by the end of the discussion.
          • Make sure you include list of members (one email per group)
        • Return to class, and we will pick two groups to present to others. (Return to zoom @ 7:55pm)
  • Lecture 2
  • Project Desc
  • Reading Assignment
  • Chapter 35 - Risk Management
  • Chapter 30 - Product Metrics
  • Chapter 36 - Maintenance and Reengineering
  • Chapter 37 - Software Process Improvement

     

     

Nov 21, 2022 - Mon

  • Info:
  • Lecture
  • Lab
    • In class exercise - 55 min
      • Form group of four via https://chat.whatsapp.com/DNCetHkBOs9ClnFx49DnUa, you pick your own group and software to meetup
      • Lab

        • Lab: Process and Metrics
          • Email your answers to coolprofsinn2@gmail.com by the end of the discussion.
            • Make sure you include list of members (one email per group)
          • Return to class, and we will pick two groups to present to others. (Return to zoom @ 7:55pm)
  • Lecture Part 2
    • Lab discussion
    • Project Desc
    • HW: - Due next monday before class
      • Homework 3: Individual Homework (The book is eighth edition)
        • Problem 16.1
        • Problem 16.11
        • Problem 19.3
        • Problem 19.11
    • Lab 2:
      • Lab: Youtube Tryout - Due next monday before class
        • Make a computer screen video with audio voice from your team members (any topic will do)
        • Video needs to be at least 20min long
        • Upload to youtube (choice the option to allow public to watch with the link)
        • Test the link to make sure all your team members can watch the video
        • Email the video to coolprofsinn2 email
    • Project discussion - Term Project Due Instruction / Project Info: Info links for web hosting / UI

 

 

Nov 28, 2022 - Mon - 7pm

  • Zoom: https://sjsu.zoom.us/j/3353768456

  • Guest Speaker Lecture:
    • Speaker: Sunil Vallamkonda
    • Speaker info: Senior Manager - Telco Cloud, R&D, VMware Inc.
    • Topic: East meets West: Telco meets Cloud

  • Exercise:
    • Individual assignment:
    • Email your answers to coolprofsinn2@gmail.com by the end of the day.
    • Question: What are the three things that interested you the most in the presentation? Why?

  • 295A/B Office hours starts at 8:10pm

 

Dec 5, 2022 - Mon

 

Dec 12, 2022 - Mon - Final Exam

 

Final

  • Can be download here
  • Instruction
    • Be in class at 5:10pm
    • Exam starts at 5:15pm
    • Get a computer with Internet access and web cam
    • Signin to https://sjsu.zoom.us/j/3353768456 and show your face (We will record the section) (No virtual background)
    • You have to stay online and show your face in the cam until 6:25pm
    • Bring your ID with you
    • 1 hour exam
    • All exam must be submitted to richardsinn at yahoo.com between 6:15pm to 6:25pm to get points
      • What to submit:
        • Your exam with answers in MS-word (only one document will be graded, don't send a bunch of stuffs)
        • Send exam as attachement (instead of link to the cloud)
        • Include your picture AND picture of your student ID in the same document as your exam answer at the end of the exam
        • The title of the email must begin with FINAL 285: <Your Name>
    • Openbook
      • Include multiple choice and programming questions
    • Final is Comprehensive, covering all topics.
    • Check grade at my.sjsu around the end of year. Grade will be only given over there (no email).

 

Semester Project

 

295A Project

  • Email / Chat me for Master Project 295A. We can talk during or at end of semester.
  • (I can only take two groups per semster)

 

Dec XXX, 2022 - Mon (Overflow)

 

  • At Home Class Assignment:
  • At Home Lab
    • Form a group of four, you pick your own group and software to meetup
    • As a group, get together and discuss the content of the video and write a group reflection essay. The following is the requirement
      • The essay must be at least one page long (single or double space).
      • The essay should be structured in six paragraphs.
      • The first five paragraphs are the top five group observations about the AI materials (video 1, video 2 and video 3). One paragraph for one observation.
      • The sixth paragraph should discuss what AI topics (if any) that you will study before graduation.
    • Due by end of day 11:59pm this Wed.
    • Email your answers to coolprofsinn2@gmail.com
        • Make sure you include list of members (one email per group)
    • (We will pick two groups and discuss answer in the next class)

 

 

 

 

Term Project

Title:

Stock Portfolio Suggestion Engine

 

Group member:

Form a group of 3 to 4 people.

 

Research needed:

 

Description:

Based on previous lab exercises, this project provides a stock portfolio suggestion engine for the user.

User will:

The engine needs to assign stocks or ETFs for a selected investment strategy. E.g.

Index Investing strategy could map to the following ETFs:

And

Ethical Investing strategy could map to these stocks:

Each strategy must map to at least 3 different stocks/ETFs.

 

Output:

The suggestion engine will output:

 

Decision:

Each group needs to decide on various different parts of the project such as:

 

 

 

 

 

 

 

 

 

Grade

Please check mySJSU.

 

General Policy

The university and departmental policies and deadlines for course drop will be applied. Makeup exams cannot be offered, except under exceptional conditions, such as documented serious illness/accident, etc., and only at the professor's discretion.

Each student is responsible for his/her individual assignment, and must not copy anyone else's work. Students who borrow solutions from others will find themselves unable to pass the course. The minimum penalty for every student involved in the duplication of individual assignments or exams will be receiving a zero score on the submitted work.

For group project, all the work has to be done by your OWN group. Do not try to download "free code" from the Internet and hand in as a project. WE WILL FIND OUT. Do not share your work with others. So DO YOUR OWN WORK and EARN your grade.

 

Related Links

Reference Chapters:

Related Chapters:

 

 

Instructor | Announcements | Course Info | Class Material | Schedule | Project | Grade | General Policy | Related Links