Chapter 2: Software and Software Engineering
2.4. Describe a process framework in your own words. When we say that framework activities are applicable to all projects, does this mean that the same work tasks are applied for all projects, regardless of size and complexity? Explain.
Process framework is applicable to all the projects; hence the same work tasks are applied for all projects, regardless of their size or complexity. A process framework involves heavy communication with the customer to gather requirements; this activity establishes a plan for the software engineering work that follows. It involves creation of models that will assist the developer and the customer to understand the requirements and design them; it thereby involves construction (code generation and error testing). It finally provides feedback based on the evaluation.
2.2. Is software engineering applicable when WebApps are built? If so, how might it be modified to accommodate the unique characteristics of WebApps?
The definition for software engineering applies to the WebApps since quality and reasonable development costs are important to their creation. The subtle difference between a WebApp and a conventional software product is the need for short development times and acquisition process for web content. This the suggests the use of agile process models that will discussed later in the text and including aesthetics as part of the design considerations included during user interface design.
2.5. Umbrella activities occur throughout the software process. Do you think they are applied evenly across the process, or are some concentrated in one or more framework activities?
The umbrella activities occur throughout the software process they are applied evenly across the process, the analysis encompasses a set of work tasks (eg. requirement gathering, elaboration, negotiation specification and validation). A process framework has a set of umbrella activities that are applicable across the entire software process. These activities include Software project tracking and control, Risk management, Software quality assurance, and formal technical reviews, measurement, Software configuration management, reusability management and work product preparation and production.
2.3. As software becomes more pervasive, risks to the public (due to faulty programs) become an increasingly significant concern. Develop a doomsday but realistic scenario in which the failure of a computer program could do great harm, either economic or human.
There are literally dozens of real life circumstances to choose from. For example, software errors that have caused major telephone networks to fail, failures in avionics that have contributed to plane crashes, computer viruses (e.g., Michelangelo) that have caused significant economic losses and attacks on major e-‐commerce sites.