



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
STUDY NOTES
Typology: Lecture notes
1 / 5
This page cannot be seen from the preview
Don't miss anything!
Many people equate the term software with computer programs. Software engineers are concerned with developing software products. There are two fundamental types of software products.
Software engineering is an engineering discipline that is concerned with all aspects of software production.
Essentially, computer science is concerned with the theories and methods that underlie computers and software systems, whereas software engineering is concerned with the practical problems of producing software.
System engineering is concerned with all aspects of the development and evolution of complex systems where software plays a major role. System engineering is therefore concerned with hardware development, policy and process design and system deployment as well as software engineering.
A software process is the set of activities and associated results that produce a software product. There are four fundamental process activities. These are:
_1. Software specification
A software process model is a simplified description of a software process that presents one view of that process. Process models may include activities that are part of the software process, software products and the roles of people involved. 1 A workflow model This shows the sequence of activities in the process along with their inputs, outputs and dependencies.
2. A dataflow or activity model This represents the process as a set of activities, each of which carries out some data transformation.
1.1.8 What are software engineering methods? A software engineering method is a structured approach to software development whose aim is to facilitate the production of high-quality software in a cost-effective way. Methods such as Structured Analysis (DeMarco, 1978) and JSD (Jackson, 1983) were first developed in the 1970s. These methods attempted to identify the basic Functional components of a system; function-oriented methods are still used.
1.1.9 What is CASE? The acronym CASE stands for Computer-Aided Software Engineering. It covers a wide range of different types of programs that are used to support software process activities such as requirements analysis, system modelling, debugging and testing. 1.1.10 what are the attributes of good software? Software products have a number of other associated attributes that reflect the quality of that software. These attributes are not directly concerned with what the software does. Essential Product charilcteristic Descriptiive attributes of good software:
1.2 Professional and ethical responsibility Like other engineering disciplines, software engineering is carried out within a legal and social framework that limits the freedom of engineers. Software engineers must accept that their job involves wider responsibilities than simply the application of technical skills. They must also behave in an ethical and morally responsible way if they are to be respected as professionals. Some of these are:
_1. Confidentiality
A system is a purposeful collection of interrelated components that work together to achieve some objective. Systems that include software fall into two categories:
1. Technical computer-based systems are systems that include hardware and software components but not procedures and processes. Examples of technical systems include televisions, mobile phones and most personal computer software. 2.Socio-technical systems include one or more technical systems but, crucially, also include knowledge of how the system should be^ used to achieve some broader objective.
Essential characteristics of socio-technical systems are as follows.
System design is concerned with how the system functionality is to be provided by the components of the system. The activities involved in this process are:
I. Partition requirements You analyze the requirements and organize them into related groups.
2. Identify sub-systems You should identify sub-systems that can individually or collectively meet the requirements. 3. Assign requirements to sub-systems You assign the requirements to subsystems. 4. Specify sub-system functionality You should specify the specific functions provided by each sub-system. This may be seen as part of the system design phase 5. Define sub-system interfaces You define the interfaces that are provided and required by each sub-system.
During the system requirements and design activity, systems may be modeled as a set of components and relationships between these components. These are normally illustrated graphically in a system architecture model that gives the reader an overview of the system organization.
During sub-system development, Ihe sub-systems identified during system design are implemented. This may involve starting another system engineering process for individual sub-systems or, if the sub-system is software, a software process involving requirements, design, implementation and testing. Sub-systems are usually developed in parallel. When problems are encountered that cut across sub-system boundaries, a system modification request must be made.
1.3.1.5 Systems integration During the systems integration process, you take the independently developed subsystems and put them together to make up a complete system.
1.3.1.6 System Evolution
The system's computers are likely to be replaced with new, faster machines. The organisation that uses the system may reorganise itself and hence use the system in a different way. The external environment of the system may change, forcing changes to the system. 1.3.1.7 System decommissioning
System decommissioning means taking the system out of service after the end of its useful operational lifetime.
1.4 Organizations, people and computer systems
O rganization is managed and by their interactions with other people inside and outside of the organisation.
Human and organizational factors from the system's environment that affect the system design include:
I. Process changes Does the system require changes to the work processes in the environment? If so, training will certainly be required.
2. Job changes Does the system change kill the users in an environment or cause them to change the way they work? 3. Organizational changes Does the system change the political power structure in an organization? The procurement process is normally embedded within the organization that will buy and use the system (the client organization). The process of system procurement is concerned with making decisions about the best way for an organization to acquire a system and deciding on the best suppliers of that system.
1.5 Legacy systems Legacy systems are socio-technical computer-based systems that have been developed in the past, often using older or obsolete technology. These systems include not only hardware and software but also legacy processes and procedures-old ways of doing things that are difficult to change because they rely on legacy software. Changes to one part of the system inevitably involve changes to other components; Legacy systems are often business-critical systems. They are maintained because it is too risky to replace them. For example, for most banks the customer accounting system was one of their earliest systems. Organizational policies and procedures may rely on this system. If the bank were to scrap and replace the customer accounting software (which may run on expensive mainframe hardware) then there would be a serious business risk if the replacement system didn't work properly. Furthermore, existing procedures would have to change, and this may upset the people in the organization and cause difficulties with the bank's auditors.
_1. System hardware