100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached
logo-home
Summary: Software Engineering, Global Edition, ISBN: 9781292096131 INF3705 - Advanced Systems Development $5.64   Add to cart

Summary

Summary: Software Engineering, Global Edition, ISBN: 9781292096131 INF3705 - Advanced Systems Development

1 review
 47 views  6 purchases
  • Course
  • Institution
  • Book

Chapter summaries for INF3705 - Advanced Systems Development. All prescribed chapters covered in the summaries. Headings with page references, as well as Figures / Photos from the textbook included (also with notations and page references).

Preview 4 out of 177  pages

  • No
  • 1-12, 15, 18, 19
  • October 13, 2022
  • 177
  • 2022/2023
  • Summary

1  review

review-writer-avatar

By: lindiswagum41 • 9 months ago

avatar-seller
31/01/2022, 21:24 Chapter 01



1.1 Professional Software Development: (20)
Professional software is used by someone other than the developer and is developed by teams, instead of one
person
Software engineering includes techniques that support program specification, design and evolution
Software is not just computer programs, but include assiciated documentation, liraries, support websites and
configuration data needed to make the program usefull.

Professional software includes:
- system documentation: describes structure of the system
- user documentation: explanation on how to use the system
- websites for users to download recent product information

Software product: software that can be sold to a customer

2 Types of software products:
1. Generic Products

Stand-alone systems that are produced by a development organisation and sold on the open market to any
customer able to buy them
> the developer controls the software specification

2. Customised (bespoke) software

Systems commissioned by and developed for a particular customer
Software contractor designs and implements the software for THAT customer
> customer controls the specification and the developers must work to that specification


Quality of professional software:
- determined by the system's behaviour while executing and the structure and organisation of the system
programs and associated documentation
- this is reflected in the software's quality or non-functional attributes

Essential attributes of good software (Figure 1.2) p23:

- Acceptability (understandable, usable and compatible with other systems used by the customer)
- Dependability and Security (does not cause loss in the event of system failure, ALSO no malicious users can
access or damage the system)
- Effeciency (not make wasteful use of system resources)
- Maintainability (software must be written in a way that can have it evolve over time)


1.1.1 Software Engineering: (22)

Software Engineering: An engineering discipline that 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 production.
- 2 Key phrases in this definition:
1. Engineering discipline:

Engineers make things work.
They apply theories, methods and tools where they are approprate, but they use them selectively
They always try to discover solutions to problesm even with no applicable theories and methods
They know to work within organisational and financial constraints

file:///C:/Users/User/Desktop/Unisa/Advanced Systems Development - INF3705/INF3705 - Advanced Systems Development/chapter 01/page.html 1/5

,31/01/2022, 21:24 Chapter 01

2. All aspects of software production:

Software engineering is not just concerned with technical processes of software development
It includes activities such as project management and the development of tools, methods and theories to
support software development

Engineering is about getting results of the required quality within the schedule and budget

Most effective way to produce high-quality software: adopt a systematic and organised approach to software
engineering

Software Engineering importance:
1. More dependancy on advanced software systems. Reliable and trustworthy systems must be produced
economically and quickly
2. Software engineering techniques and methods for professional systems are cheaper than writing programs as
personal projects (failure to use the software engineering technique leads to higher costs for testing, quality
assurance and long-term maintenance)


Software Process: The systematic approach used in software engineering (p24)
- a sequence of activities that lead to the production of a software product

Four fundamental activities in all software processes (24):
1. Software specification customer & engineers define the software to be produced, and the constraints on its
operation
2. Software Development software is designed and programmed
3. Software validation software is checked to ensure it meets customer's request
4. Software evolution software is modified to reflect changing customer and market requirements


Computer Science: concerned with the theories and methods that underlie computers and software systems
System engineering: concerned with all aspects of the development and evolution of complex systems where
software plays a major role (concerned with the hardware, policy and process design and system deployment and
software engineering)

Four related issues that affect different types of software: (24)
1. Heterogenity

Systems are required to operate as distributed systems across networks which include different devices
(PC, tablet, cells)
Software must be integrated with older legacy type systems written in different programming languages
Techniques must be developed for building dependable software that is flexible (to cope with the
heterogeneity)

2. Business and social change

Business and society must be able to change their existing software to rapidly develop new software
Many traditional software engineering techniques are time consuming and delivery of new systems take
longer than planned
These techniques must evolve to deliver value to customers in reduced time

3. Secuirty and trust

Malactors must not be able to succesfully attack our software & that information security is maintained

file:///C:/Users/User/Desktop/Unisa/Advanced Systems Development - INF3705/INF3705 - Advanced Systems Development/chapter 01/page.html 2/5

,31/01/2022, 21:24 Chapter 01

4. Scale

Software must scale from small embedded systems, to wearable devices, to Internet-scale, cloud-based
systems that serve global communities




1.1.2 Software Engineering diversity: (25)


Software Engineering: A systematic approach to the production of software that takes into account practical cost,
schedule and dependability issues, as well as the needs of software customers and producers.
- specific methods, tools and techniques used depend on:

The organisation developing the software
Type of software
People involved in the development process

- SEMAT initiative proposes that there can be a fundamental meta-process that can be instantiated to create
different kinds of process

Most Significant Factor for determining which software engineerging method the most important is the TYPE
OF APPLICATION BEING DEVELOPED
Types of aplication: (26)

- Stand-alone application

systems that run on a local device (PC, cell phone) that include all the necessary functionality and may not
need to be connected to a network

- Interactive Transaction-based applications

applications that execute on a remote computer that is accessed by users from their local device
this class of systems include business systems, where businesses provides access to its system through a
web browser or special purpose client program and cloud-based services (mail)
usually incorporate large data stores that is accessed and updated in each transaction


- Embedded control systems

software that controls and manage hardware devices


- Batch Processing Systems

business systems designed to process data in large batches
these process large amounts of individual inputs to create corresponding outputs


- Entertainment Systems

systems for personal use intended to entertain the user
includes games that run on special purpose consoles

file:///C:/Users/User/Desktop/Unisa/Advanced Systems Development - INF3705/INF3705 - Advanced Systems Development/chapter 01/page.html 3/5

, 31/01/2022, 21:24 Chapter 01


- Systems for modeling and simulation

systems developed by scientists and engineers to model physical processes or situations
computationaly intensive and require high-performance parallel systems for execution


- Data collection and analysis systems

systems that collect data from their environment and send it to other systems for processing
system may need to interact with sensors (and may be installed in a hostile environment inside an engine)
or in a remote location
Big-Data Analysis may involve cloud-based systems carrying out statistical analysis and looking for
relationships in the collected data


- Systes of systems

systems used in enterprises and other large organisations that are composed of a number of other software
systems
some may be generic software programs such as ERP (Enterprise Resource Planning) software and others
may be specially written for that environment

Each type of system requires specialised software engineering techniques because of the differing characteristics
of each system


Software Engineering Fundamentals that apply to all types of software systems: (27)

1. They should be developed using a managed and understood development process.
2. Dependability and performance are important for all types of systems
3. Understanding and managing the software specification and requirements
4. Existing resources should be re-used effectively (re-use)


1.1.3 Internet Software Engineering: (28)

When systmes developed in web browsers could run small programs and do local processing, software was
being written and deployed on a web server
- reduces cost (cheaper to upgrade software & no need to install software on local PC's, cheaper development of
UI)
Lead to Software as a Service (SaaS)
Software now runs on remote "clouds" instead of web servers and is accessed over the internet
Computing Cloud: a large number of linked computer systems that is shared by many users

Users do not buy software, but rather pay for amount of software used (licenses) or get free software with ads.

Affects on software engineering for web-based systems: (29)
- software re-use is the dominant approach for construting web-based systems
- web-based systems are developed incrementally (as it is impractical to specify all the requirements in advance)
- software may be implemented using service-orientated software engineering where software components are
stand-alone web services
- interface development technology have emerged that support the creation of rich interfaces within the web
browser

file:///C:/Users/User/Desktop/Unisa/Advanced Systems Development - INF3705/INF3705 - Advanced Systems Development/chapter 01/page.html 4/5

The benefits of buying summaries with Stuvia:

Guaranteed quality through customer reviews

Guaranteed quality through customer reviews

Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.

Quick and easy check-out

Quick and easy check-out

You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.

Focus on what matters

Focus on what matters

Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!

Frequently asked questions

What do I get when I buy this document?

You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.

Satisfaction guarantee: how does it work?

Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.

Who am I buying these notes from?

Stuvia is a marketplace, so you are not buying this document from us, but from seller dylanainslie. Stuvia facilitates payment to the seller.

Will I be stuck with a subscription?

No, you only buy these notes for $5.64. You're not tied to anything after your purchase.

Can Stuvia be trusted?

4.6 stars on Google & Trustpilot (+1000 reviews)

75759 documents were sold in the last 30 days

Founded in 2010, the go-to place to buy study notes for 14 years now

Start selling
$5.64  6x  sold
  • (1)
  Add to cart