Question

a)Summarize the principal of analysis and design b)outline the programming control and design structure

a)Summarize the principal of analysis and design

b)outline the programming control and design structure

0 0
Add a comment Improve this question Transcribed image text
Answer #1

Answer for (a):

1.System analysis and design, is what is performed by system analysts. It seeks to understand what humans need to analyze data input or data flow systematically, process or transform data, store data, and output information in the context of a particular business.

2. Principles of System Analysis are:

a) Development Life Cycle: The models of this state identify the stages to which processes must be carried out in order to develop a successful system. Depending on the type of business that are requiring the new system, and the type of system they are hoping to have by the end, accounts for the type of model chosen to be used in order to build the system. Its types are: waterfall model, rapid applications design (RAD), spiral model, the systems analysis and design (SAD), dynamic systems development methodology (DSDM)

Development Life Cycle has different stages. Some of them are:

b) Development Methodologies:Methodologies are a way of structuring the development process of a computer system. They are the framework which is followed in order to make a system successful.

Tools and techniques that can be used in order to develop a system include:

> Data Flow Diagram: these outline the processes which happen between the business and its clients or customers, external systems and external organisations in order to identify the activities which will be taking place within the system along with the information which will be flowing within the system.

>CASE Tools: computer aided software engineering (CASE) tools aim to support the diagram designs and to make checks and changes where required. CASE tools have different uses. These include: diagram validation, diagram creation as well as report and code generating.

>Key Drivers:Key drivers force businesses to invest in a new computer system in order to improve or upgrade their current one. Some examples of key drivers include: the computers being too old, the current system no longer meeting government requirements, close competitors having better systems, the need for improved efficiency, or the business wanting to grow and expand.

3.System Design:

a) Separation Of Concerns:

Separation of Concerns is the most important principle in Software Design, i.e divide your software system into components and build each part once. Separation of concerns leads to the modularity of application and modularity is the key to scalable and maintainable software architecture.

Key Benefits of Modularity are:

> Reusability: Reuse code becomes easy with Modularization. The common code can be packaged as a library and can be used in multiple projects and/or modules.

>Maintainability: When software applications are modularized, it is easy to troubleshoot the application, easy to fix any bugs and easy to maintain. Since each component is self contained, the dependency issues can be easily mitigated. It is also easy to test each module by mocking other dependencies. Modularization helps in getting more productivity from development teams as the work can be easily separated among developers or development teams.

> Extensibility: Modularization abstracts modules from each other. It becomes easier to extend the functionality of each module or add new features to an existing module without major impact to other modules as long as the backward compatibility is maintained or new version of APIs are created. New capabilities can be easily added by creating new components or modules.

b) Highly Cohesive and Loosely Coupled :

Cohesion is the degree to which the related elements of a module belong together and do one dedicated thing. All related code in a module should be close to each other. This helps in reducing the latency in processing the request. Coupling refers to the degree to which different modules in an application depends on each other.

Coupling is the degree of dependency between two systems. Make software components as loosely coupled as possible, i.e each module should be independent of other modules as far as possible so that changes in one system will have minimal to no impact on other components. Inheritance is an example of tight coupling. The composition is an example of loose coupling. Reduced coupling results in increased cohesion.

c) Event Driven Architecture:

Event-driven architecture helps applications get notified when interested data item is changed in the backend systems. Application programs listen to these notifications and refresh their caches and take any follow-up actions. If Client applications can handle event notifications, it helps in reducing the number of calls made to backend systems.

d) Significant Processing:

Minimal processing results in quicker response and the application can handle more load with less capacity. Minimal processing can be achieved by precalculating the possible response items upfront and cache them in distributed caches. When a client makes a request for a data item, the precalculated data can be directly fetched from the populated cache.

e) Distributed System Characteristics:

Distributed systems are designed to be highly scalable, reliable and available to serve the variations in the load, and is highly reliable and available.

Answer for (b):

A control structure is a block of programming that analyses variables and chooses a direction in which to go based on given parameters. The term flow control details the direction the program takes (which way program control "flows"). Hence it is the basic decision-making process in computing; It is a prediction. In programming a control structure is a structure used to control the flow of a program.

The three basic types of control structures are sequential, selection and iteration. They can be combined in any way to solve a particular/specified problem. In other words, a control structure is a container for a series of function calls, instructions and statements.

The design structure of programming also referred to as structured programming is a programming paradigm aimed to improve the clarity, quality and development time of a computer program by making extensive use of structured control flow i.e. selection(if/else/then) and repetition(while and for), block structures and subroutines.

Examples of structured programming languages are : C, C++, C#, JAVA, PERL, RUBY, etc;

Add a comment
Know the answer?
Add Answer to:
a)Summarize the principal of analysis and design b)outline the programming control and design structure
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT