0% found this document useful (0 votes)
143 views

Product.: BACS2163 Software Engineering Tutorial 1

This document discusses key concepts in software engineering. It differentiates between generic and bespoke software products. Generic software is developed for public use at lower cost, while bespoke software is developed for specific customers at higher cost. It also explains that system engineering and software engineering both deal with all aspects of software production from initial specification through maintenance. The document then provides guidance to analyze the layers of a software engineering system, including quality attributes, processes, methods, and tools. Finally, it recommends three software qualities - security, functionality, and usability - that must be included in an online education website.

Uploaded by

TZE HONG TAN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
143 views

Product.: BACS2163 Software Engineering Tutorial 1

This document discusses key concepts in software engineering. It differentiates between generic and bespoke software products. Generic software is developed for public use at lower cost, while bespoke software is developed for specific customers at higher cost. It also explains that system engineering and software engineering both deal with all aspects of software production from initial specification through maintenance. The document then provides guidance to analyze the layers of a software engineering system, including quality attributes, processes, methods, and tools. Finally, it recommends three software qualities - security, functionality, and usability - that must be included in an online education website.

Uploaded by

TZE HONG TAN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

BACS2163 Software Engineering

Tutorial 1

1. With the aid of examples, differentiate generic software product from bespoke software
product.

● Generic software product


- Develop for public, cheaper cost , requirement spec control by s/w org

● Bespoke software product

– It is developed for a specific user. The cost is expensive and needs to be paid by
one customer. And the requirement spec is controlled by user/customer

2. Do you think that system engineering same as software engineering? Explain.

● System Engineering – It is an engineering discipline which is concerned with all


aspects of software production from the early stages of system specification
through to maintaining the system after it has gone into use. It is composed of a
variety of system elements: Software, Hardware, People, Database,
Documentation and Procedures.

● Software Engineering – It is an engineering discipline which is concerned with


all aspects of software production from the early stages of the system
specification through to maintaining the system after it has gone into use.

3. Easy2Study is interested to develop an education system according to the Software


Engineering’s layered technology which consists of 4 important layers. Assist
Easy2Study to analyse each layer based on the system by proposing appropriate
technology. [Hint: technology for each layer can be a tool, methodology, quality
attributes, and software process model.]

Quality focus
-Any engineering approach must rest on an organizational commitment to
quality.

-Total quality management and similar philosophies foster a continuous


process improvement culture, and this culture ultimately leads to
development of an increasingly more mature approach to software
engineering.

Process
-Process defines a framework for a set of key process areas (KPAs) that
must be established for effective delivery of software engineering
technology.

Methods
BACS2163 Software Engineering

Tutorial 1

-Methods are organized ways of producing software. They include


suggestions for the notations to be used, rules governing the system
descriptions, which are produced and design guidelines.
Tools
-Tools provide automated and semi-automated support for the process and
the methods.

4. Sri Touch Academy is a newly established company in Kuala Lumpur which offers
make-up, hairstyling, and art courses. The courses are conducted in both full time and
part time modes. As a software engineer, you are responsible to build an online website
for the company to allow customer to register as member, pay the fees, check classes’
schedule, post questions, share success story, subscribe to weekly newsletter, chat with
company personnel, and connect to other social networks such as Facebook Page, Twitter,
and Instagram. You have three months to accomplish the project together with your junior
software engineer. Sri Touch Academy requested you to deliver the initial version within
two months and the subsequent within one month.

Recommend and explain 3 software quality attributes that must be included in the online
website.

Security This attribute measures the ability of a system to arrest and block malicious or
unauthorized actions that could potentially destroy the system. The attribute assumes
importance because security denotes the ability of the system to protect data and defend
information from unauthorized access. Security also includes authorization and
authentication techniques, protection against network attacks, data encryption, and such
other risks. It is imperative for Software Testing Companies and professionals to regularly
conduct updated security checks on systems.

Functionalit This attribute determines the conformity of a software-driven system with actual
y requirements and specifications. Most Software Testing professionals view this attribute as
crucial and a foremost requirement of a modern application, and would therefore advocate
the performance of tests that assess the desired functionality of a system in the initial
stages of Software Testing initiatives.

Usability Every software-driven system is designed for ease of use to accomplish certain tasks. The
attribute of usability denotes the ease with which users are able to execute tasks on the
system; it also indicates the kind of user support provided by the system. The most
well-known principle for this property is KISS (Keep It Simple Stupid). In addition,
Software Quality Assurance engineers must test software to check whether it supports
different accessibility types of control for people with disabilities. Usability has a critical
and long-standing bearing on the commercial fortunes of a software application or
package.
BACS2163 Software Engineering

Tutorial 1

5. Discuss 3 challenges/problems on software developments that are likely to be faced by


software engineer in current software industry.

Time limitations Software development is a time-game.


Developers work under pressured
environments and strive to complete project
requirements within strict and scanty
timelines. This is especially a challenge when
working with international clients on multiple
time-zones. Time constraints often bring down
efficiencies of development teams and lead to
mediocre quality software products in the end.

Rapid technology Every technology advancement is a blessing


advancement for the IT industry. But at the same time,
technology evolving at a phenomenal rate
leads to an added pressure for software
development professionals to leverage these
upcoming technology trends in software
product development to gain a cutting edge
over competitors and stand out in the market.

Time limitations Software development is a time-game.


Developers work under pressured
environments and strive to complete project
requirements within strict and scanty
timelines. This is especially a challenge when
working with international clients on multiple
time-zones. Time constraints often bring down
efficiencies of development teams and lead to
mediocre quality software products in the end.

6. Mandy is a fresh graduate from the School of Computer Sciences. Recently she is hired
by a software house to develop bespoke software for clients. Describe 3 important code
of ethics that Mandy need to follow as a software engineer in the software house.

Public – Software engineers shall act consistently with the public interest.

● Client And Employer - Software engineers shall act in a manner that is in the best
interests if their client and employer are consistent with the public interest.

● Product – Software engineers shall ensure that their product and related
modifications meet the highest professional standards possible.
BACS2163 Software Engineering

Tutorial 1

● Judgment - Software engineers shall maintain integrity and independence in their


professional judgment.

7. EPS Company is currently researching into Track Your Truck (TYT) application that
offers an efficient and effective vehicle tracking system. TYT allows users to check real
time location of their vehicles through Global Positioning System (GPS). Users can also
view their vehicles’ fuel usage, mileage, performance analysis reports through TYT. In
the event of vehicle theft, a notification message will be sent to police station
automatically and to the owner at the same time. In order to recover the lost vehicle, the
real time location can be tracked by the owner. (Source: http://www.trackyourtruck.com/)

Software engineering is a layered technology consisting of Quality, Process, Methods,


and Tools. Suggest 3 software qualities that must be included in the Track Your Truck
system. Justify your answer.

Reliability Measure if the product is reliable enough to sustain in any


condition. Should give the correct results consistently.
Product reliability is measured in terms of working of the
project under different working environments and different
conditions.

Maintainability Different versions of the product should be easy to


maintain. For development, it should be easy to add code
to the existing system, should be easy to upgrade for new
features and new technologies from time to time.

Maintenance should be cost-effective and easy. The system


is easy to maintain and correct defects or make a change in
the software.

Usability This can be measured in terms of ease of use. The


application should be user-friendly. It should be easy to
learn. Navigation should be simple.

You might also like