Flashcards
SCC 204 -Software Design - Introduction
Cards in this deck (40)
- 1List 3 different types of software systems?Smart Home System
Anti-locking braking system
Student records management system - 2List 5 different development processes?Waterfall
Agile
Spiral
Re-use
Hybrid - 3Define the waterfall model development process?The waterfall model is a sequential (non-iterative) design process, used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, production/implementation and maintenance.
- 4Break down the waterfall model processes?Requirements
Design
Implementation
Verification
Maitenance - 5Define the agile development process?Agile software development describes a set of principles for software development under which requirements and solutions evolve through the collaborative effort of self-organizing cross-functional teams.
It advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change. - 6Define the spiral development process?The spiral model is a risk-driven process model generator for software projects. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models, such as incremental, waterfall, or evolutionary prototyping.
- 7Define the re-use development process?The reuse-oriented model, also called reuse-oriented development (ROD), is a method of software development in which a program is refined by producing a sequence of prototypes called models, each of which is automatically derived from the preceding one according to a sequence of defined rules.
- 8Define the hybrid development process?Hybrid methodology is the use of both agile and waterfall model within the software development process
- 9What is software design?Software design is the process by which a set of requirements is transformed into a collection of data structures and algorithms that implement the software requirements as one or more computer programs
- 10What is architectural design within software design?Architectural design is the first stage of
software design - 11Problems that could occur with bad design?Bad design cold be costly
Bad design could be dangerous
Bad design can affect dependability
Bad design can be inefficient - 12Expand on the issue of dependability caused by bad designs?Availability
Reliability
Safety
Security
Performance
Services unavailable when needed,
• Services not delivered as specified - 13State some costly examples of software failure?– 2011, The abandoned National Programme for IT in the NHS (NPfIT)
cost £2.7 billion
– 2004, a Sainsbury’s supply-chain management system abandoned
after deployment costing £327 million - 14Expand on the issue of efficiency within bad designs?– Refers to use processor cycles, memory and power consumption
– Particularly critical in embedded systems - 15List 6 key objectives of software design?Correctness
Robustness
Flexibility
Re usability
Efficiency
Reliabilty - 16Exapand on the following objectives of software design: Correctness, Robustness, Flexibility– Correctness
• Software should clearly conform to its specification
– Robustness
• Software is robust if it can handle unusual conditions
– Flexibility
• User requirements are not static - 17Expand on the following objectives of software design: Re usability and Reliability– Reusability
• Engineering and economic motivation for reusability
– Reliability
• Software is reliable if it is free from significant defects - 18Expand on the following objectives of software design: EfficiencyEfficiency
• Refers to processor cycles and memory consumption
• Software should execute as fast as required and use no more memory than necessary
• Efficiency is often at odds with other software system objectives! - 19List the specific design activities?Architectural design
Abstract Specification
Interface design
Component design
Data structure design
Algorithm design - 20Define the architectural design aim?The subs-systems making up the system and their relationships are identified and documented
- 21Define the abstract specification aim?For each sub-system, an abstract
specification of it’s services and the constraints under which it must
operate is produced - 22Define the interface design aim?- For each sub-system, it’s interface with other subsystems is designed and documented
- 23Define the component design aim?– Services are allocated to different components and the interfaces of these components are designed
- 24Define the data structure design aim?The data structures used in the system
implementation are designed in detail - 25Define the Algorithm design aim?– The algorithm used to provide service are
designed in detail and specified - 26What is software architecture?The design process for identifying the subsystems that make up a system and … the framework for sub-system control and
communication is architectural design - 27What is the product of an architectural design?The product of the architectural design
process is a description of the software
architecture. - 28Why do we have different graphical presentation of a software system?Graphical models of the the system present different perspectives on the architecture
- 29List the different graphical models of a software systemstatic structural model
dynamic process model
interface model
relationship model
distribution model - 30What does a static structural model show?A static structural model that shows how the sub-systems or components are to be developed as separate units
- 31What does a dynamic process model show?A dynamic process model that shows how the system is organised into
processes at runtime - 32What does an interface model show/defines?An interface model that defines the services offered by each sub-system
through its public interface - 33What does relationship model show?A relationship model that shows relationships, such as data flow,
between the sub-systems - 34What does distribution model show?A distribution model that shows how sub-systems may be distributed
across computers - 35List advantages of explicit architecture?- Stakeholder communication
Architecture may be used as a focus of discussion by
system stakeholders.
- System analysis
Making the system architecture explicit at an early stage of development requires some analysis
- Large-scale reuse
The architecture may be reusable across a range of systems. - 36How can sub system be depicted?At its most abstract level, an architectural design may be depicted as a block diagram where each box represents a sub-system or component
Box and Line diagrams - 37Disadvantages of the use of box and line diagrams?Criticised because they lack semantics
– Do not show the nature relationships among system components
– Do not show components’ externally visible properties - 38What does representation of box and line diagrams depend on?representation depends on the use of architectural models
- 39What does the requirements for model semantics depend on?The requirements for model semantics depends on how the models
are used. - 40What are box and line diagrams often referred to?Box and line representations often referred to as conceptual architectures.
Information
- Description
- Flashcards on SCC 204 -Software Design - Introduction , created by Ayo Olutobi on 26/03/2017.
- Created by
- Ayo Olutobi
- Views
- 1
- Rating