CC105 Reviewer
CC105 Reviewer
CC105 Reviewer
CHAPTER 1
Software is computer instructions that, when executed, provides desired functions and
performance
1. Batch Operating System - do not directly interact with the computer. There is an
operator that performs the job. The operator takes similar jobs with the same
requirements, then group them as a batch. The operator’s primary responsibility is to sort
similar jobs with similar needs.
4. Network Operating System - run on a server and provides the capacity to manage data,
users, groups, security, applications, and other types of networking functions. It enables
sharing files, printers, security, applications, and other essential networking functions over
a small private network. This type of Operating System is also known as a tightly coupled
systems. This means that the network members know the configuration and the other users
connected within the same network.
Hard Real-Time Systems are those that require an application to be very strict with time
requirements. Meaning, possible delays in terms of response are not acceptable. This type
of system is built to live life like an automatic parachute or airbags. Also, virtual memory is
almost never found in this type of system.
Soft Real-Time Systems are those that have less strict time-constraints.
SOFTWARE APPLICATIONS
Software applications include system software, real-time software, engineering,
scientific software, embedded software, personal computer software, and artificial
intelligence software. The system software is a collection of programs written to service
other programs. Examples include compilers, editors, file management utilities,
operating systems, and drivers. Real-time software is a program that monitors,
analyzes, and controls real-world events as they occur. On the other hand, business
software is an application that is used in the business environment and that supports
business operations. Engineering and scientific software are applications in fields such
as astronomy, volcanology, and the space shuttle.
CHAPTER 2
1. Process. It is the glue that holds the technology layers together and enables
rational and timely development of computer software.
3. Tools. These provide automated or semi-automated support for the process and
the methods.
SOFTWARE ENGINEERING AND APPLICATION DEVELOPMENT PARADIGMS
b. Planning. Planning is vital to provide important insights about the project at hand. At this
region of the spiral model, key players must be able to identify the needed resources;define
its relevance to the project; draw timeline; and gather all the project related data which
contributes to the overall success of the undertaking.
c. Risk analysis – This region of the spiral model highlights the core essence of the model.
Tasks essential in this section require assessment of the technical tools needed, and the risk
management capacities of the players and the project at hand. Successful analysis of the
possible risks reduces greater challenges and failures as the project progress.
d. Engineering. In this region of the model, application and software developers are
required to develop representations of the application. It is relevant to perform such tasks
to have an idea of how the system would work and how it captures all the needed
requirements from the customers. Also, engineering phase allows further analysis to
perform immediate changes and adjustments.
e. Construction and release. After the successful completion of the project, this
phase of the model requires construction of user support manual and documentation,
testing and initial deployment, as well as providing user support and training.
CHAPTER 3
Requirements play a vital role in the overall success and complete delivery of software
applications. When requirements are not properly identified, analyzed, and collected,
failure of delivery might happen.
Configuration Management is a set of procedures that track the requirements that define
the system, the design modules that are generated from the requirements, the program
code that implements the design, the tests that verify the functionality of the system, and
the documents that describe the system.
SOFTWARE REQUIREMENTS
Software Requirements include the description of features and functionalities of the target
system. Requirements are essential for it convey the expectations of the users from the
software product or application. It can be obvious or hidden, known or unknown, expected
or unexpected from the client’s point of view. It covers the process of requirements
engineering.
Requirements engineering is the process of gathering the requirements from the client,
analyzing it, and documenting them. Steps in requirements engineering includes feasibility
study, requirements gathering, software requirement specifications, and software
requirements validation.
a. Feasibility Study. It is the process of studying in details whether the desired system and
its functionality are feasible to be developed. Typically, feasibility studies focus on the goals
of the organization.
a. Requirements Gathering. The developers discuss with the client and end-users and know
their expectations from the software
c. Negotiation and Discussion. If the requirements are ambiguous or there are some
conflicts in requirements of various stakeholders, it is then negotiated and discussed with
the stakeholders. Requirements may be then prioritized and reasonably compromised. The
requirements come from various stakeholders. To remove ambiguity and conflicts, they are
discussed for clarity and correctness. Unrealistic requirements are compromised
reasonably.
d. Documentation. All formal and informal, functional and non-functional requirements are
documented and made available for next phase processing.
d. Task Analysis. Members of the development team may analyze the operation for which
the new system is required. If the client already has some software to perform certain
operation, it is studied and requirements of proposed system are collected.
e. Domain Analysis. Every software falls into some domain category. The expert people in
the domain can be a great help to analyze general and specific requirements
f. Brainstorming. It is an informal debate held among several stakeholders and all their
inputs are recorded for further requirements analysis
g. Prototyping. It is the process of building user interface without adding functionality for
user to interpret the features of intended software product. It helps giving better idea of
requirements.
h. Observation. Development team visits the client’s organization to observe the actual
working of the existing installed system. They also observe the workflow and how execution
problems are dealt. In this process, the team draws conclusions which aid to form
requirements from the software.