Advanced Software Engineering (CECS 543)

I taught CECS 543 at CSULB in Fall 2015.

UPDATE: Comp Exam topic list for Fall 2016 is here.



The students had to develop a small-scale software project over the course of the semester. Some of the projects were conducted in collaboration with local non-profits or local industry, some were research projects, and some were invented by the teams.

Automation Pro

The home automation industry lacks a complete Customer Relations Database (CRM) solution that satisfies the industry’s business process. One of the key processes is the transition from Proposal generation (D-Tools) to project management. Existing CRM packages allow home automation companies to use cookie cutter features that don’t fit the industry. These cookie cutter solution often cause business processes to be less efficient. Additionally, they don’t integrate with the industry standard proposal tool D-Tools. For our project we reached out to Vision and Sound, a home automation company out of Manhattan Beach, CA that is looking for developers to help create a system that will raise profit by increasing job efficiency, accuracy and streamline their business processes. Vision and Sound currently cannot compare data of work proposed against work performed. So they don’t know how profitable a job is when it is completed. They also have no knowledge of what equipment has been brought to the job site and what is still in inventory. If a change in project materials occurs, documentation in not directly relayed back to purchasing. This sometimes results in duplicate inventory or misplaced products. Purchasing and invoicing is performed in Quickbooks, jobs are documented in excel spreadsheets and proposals are created in D-Tools. There is no way to chain all these systems together. Like all other integration companies, Vision and Sound has employees working at client residences, in other remote areas besides the main office. Updates to project manager on project process in done through phone conversation at the end of the day. The system we intend to develop entitled “Automation Pro”, will streamline the home automation business process. Automation Pro will be a web based responsive system, so it is portable for remote users. The system will manage company contacts, jobs, purchasing, inventory, tasks and work orders. Automation Pro will also integrate with D-Tools and Quick Books to provide a point to point solution. The features of this system will help Vision and Sound increase job efficiency, accuracy by providing the tools to streamline the home automation business process.

SE4S Toolkit

The SE4S toolkit provides all the information about methods and techniques that help software engineers to build a sustainable software. It guides the users on finding a sustainable stakeholder, obtain sustainable requirements, analyze sustainability in the context at hand. It offers a platform for drawing various models like Stakeholder model, Goal models and System vision. It also provides examples of sustainable systems. The design of the project comprises of the site map that shows the list of pages, an activity diagram that identifies all the activities performed by the site and prototypes(both horizontal and vertical). For the horizontal prototype we use Angular JS and for the vertical prototyping of the diagramming tool we use the Joint JS scripts. The design is hierarchical in fashion and offers a step­by­step guidance towards a sustainable software system.

Bartering System

Bartering is system of exchange of goods or services for other goods or services without using money. For example you have a lot of vegetables in your garden and trade a box of that against a haircut from your stylist around the corner who doesn’t have a garden. Motivation of doing this project is to work towards solution for Sustainable Engineering. Sustainable engineering refers to the integration of social, environmental, and economic considerations into product, process, and energy system design methods. Challenges faced in this project is lack of standard unit of account with which to measure values of different goods and services can be exchanged. Standard of delivery of goods or service cannot undergo pre-verification and can only be tracked based on user satisfaction. Bartering can be done via online platform where an individual who wants to have goods or service must locate another person who offers to give up the goods or service wanted by him and who is willing to accept in exchange the goods offered by him. Online platform can save lot of time in searching of individuals for exchange of goods or services. Bartering website will be convenient mode for barter between users and will give satisfactory experience of trade. Bartering system will be beneficial to countries facing monetary and economic issues, high inflation rate and devaluation of currency problems. This system will ensure that trade is not impacted due to financial issues in country and citizens will not suffer for their livelihood.

Google Maps Navigation add-on

Google Maps Navigation Add-on is an extension of the existing Google Maps Application providing additional functionalities and features essential in our day to day life. In the current scenario, we see that the application accepts only the source and the destination, ignoring a specific case in which person chooses to travel from A to B via C, which is basically the focus of this project. The challenges in this project are to find the optimum distance to reach from A to B considering the traffic considering the intermediate location to be visited. There is no current solution available to mitigate these challenges. With the constant need of meeting with the requirements of navigation and the complexity that exist in doing so, we will plan to make this project more user friendly.

LB Comm. Telev. & Media Corp. Online Presence

The website for LBCTMC will provide an inaugural web presence for its local radio station. Currently, there is no website to carry out its publicity and create an online presence, or portray LBCTMC as a premier radio station for public news as well as a promoter of local music and talent. Apart from making the website unique and attractive, an online intake capability for both volunteers/operators and content producers should be present. In order to make the online presence feature more successful, we intend to implement an interface to broadcast local news and talent.

Kaarma Automotive Communication Systems

Kaarma - An Automotive Communication Systems Development Company collaborated with California State University, Long Beach - Computer Science Department to build a message (Text) classification engine to enhance the customer satisfaction by reducing average handling time of car service advisor. Kaarma helps to bring car owners and service advisors on common platform to communicate the car service details, invoices and authorize service requests. Kaarma wants to build a feature for the application that help classifying authorization messages from the pool of given messages and calculate average handling time. This message classification engine can be developed using machine learning algorithms provided by weka or NLP stanford or Scikit Learn packages to classify and calculate average handling time (AHT) of car service advisor with each customer. This feature can give a clear picture of how each advisor is dealing with a pool of customers and helps to take measures to enhance AHT with customers.

Graphical Authentication Tool

This system proposes an innovative idea for logging in the users as well as providing enhanced security. Keeping confidential data safe is very important for each individual in today’s world. Even all websites including banking websites which do money transactions still uses traditional ID-password scheme which is very simple and weak to break. Many banks have the ‘Graphical Password Authentication’, but still those contain static pattern and such patterns are quite easy to break through. It is therefore necessary to devise an innovative strategy for authenticating users and provide enhanced security for the user files.

3D printer

As early as the 1940's, the term "Numerically Controlled" was applied to a category of manufacturing machines that had been modified to accept a set of inputs from a "computer" instead of a human operator. CNC machines are now widely used in many fabrication and manufacturing areas and apply to thousands of different machines in nearly every industry of today. ProtoMaker is a three­dimensional software­based printer platform. As opposed to other CNC platforms, the most significant difference with ProtoMaker is the abstraction of the traditional hardware­centric control logic into a suite of software algorithms. The software design of ProtoMaker is the focus of this project.
Demo 1 and Demo 2