Sum1 mind judging my summary and telling me what im missing? (1 Viewer)

PimpMyNoob

New Member
Joined
Aug 8, 2006
Messages
10
Gender
Male
HSC
2006
i guess - this is it wondering if im missing anything...

Feasability study
1. Heading
2. Description of Buisness
3. Description of prob with current system
4. Objectives of new system
5. Contraints
6. Possible alternatives
7. Recommendation
This is usually 1 paragraph long. And is called a cost benefit analysis
Defining the prob is clearly important to insure that the final solution meets the needs of the user. Ways to identify are.
Understanding the needs of the users – requirements definition
Determining the objectives to be met – short and long term aims
Understanding the constraints and boundaries of the new system

A feasibility study is carried out after the requirements definition is completed. This determines whether the problem can be solved within the set time. Some constraints are. Budget, scheduling, technical (does the IT needed exist?), and operational (can the organisation/personnel adopt the new system?).
The user is more concerned with the look and feel of the SW and whether it does the job. The SW developer’s concerns are the data types to be used, the language in which the SW is to be writter, scheduling and modeling tasks.

1. integers – whole numbers – positive and negative – usually 16 bits – limited to plus or minus 32767
2. Reals – decimal numbers – positive and negative – usually 32 bits – reals are stored in 3 parts, a sign , the exponent (integer) and the mantissa (binary fraction) – the real is the product of these parts – this leads to truncation problems as binary fractions do not always evenly divide – if this is seen as a problem , double precision reals (64 bits) can be used
3. characters – letters of alphabet, symbols, etc represted by ASCCII code – 8 bits
-Booleans – true or false – 1 bit – often used as flags

Structured data types include
1. string – arrays of ASCII characters – strings can be manipulated by functions eg. The command LEFT$(name$,1) would give the first character of the name$ string
2. arrays – a number of data items all of the same type – easy to search. One dimensional arrays are like lists, two dimensional arrays are tables and so on.
3. Records – allow the combination of related data of different data types – uses fields to divide record, eg person.name or person.adress
4. Array of records – list of records – uses index, eg. Person(3)_.age
5. files – allows data to be saved to disk – can be any type of data
Abstract data types are used in object orinted languages, eg dim r as new random or dim car as sprite.

Storyboards – can be linear, hierachical, non-linear and composite. Storyboards typically show a series of screens or modules and the links between them
Linear is continuous
Hierachical strict order
Non-linear is no-order

1. Constext diagrams – show the system (circle), external entities (rectangles) and the flow of data (arrows). The context diagrams below shows the data flow for a library search system
2. Data flow diagrams – these are an exppansion of the context diagram, showing several processes, external entities, data flows and data stores
3. System flowcharts enable a graphical model of the physical system to be developed, indicating hardware devices, the storage medium and processing units
4. Decision tables indicate alternative circumstances based on rules in the table. They can be provide knoeledge of the factors that affect data flow or processes in the system
5. Decision trees are set like branches of a tree. They are similar to decision tabes but easier to follow based on results of previous decisions
6. Structured diagrams show precise relationships of various modules of a system. The chart uses rectangles to show modules, lines for connections and labelled arrows to represent the passed between the modules.
7. A prototype is used to gather information in which way a system works. It can be developed into a full working solution
8. data dictionaries are used to decribe data types used in development.

Software developers have rights which others should uphold. These include
1. Authorship rights should be observed. SW developers should be paid for their work, They have the right to determine how and where the programs will be used and copyright laws should be observed
2. Reliability – the SW developer can expect that the hardware and OS of the computer systems will function correctly. Other SW should not clash with their prog

SW developers also have responsibilities including
1. Reliability – the program should be error free, perform its task correctly, and should work with the whole range of hardware and OS configurations.
2. Quality – SW should work properly and be delivered on time and within budget.
3. Response to problems – any problems that arise with SW should be fixed ASAP in an efficient manner. This may involde issuing free pathces and upgrades
4. CODE OF CONDUCT GUIDELINES- these are a set of standards that SW developers will ‘voluntarily follow. Often SW developers belong to proffesional associations that set the standards.
5. VIRUS FREE – SW should be provided free of viruses

-SW Piracy is the illegal copying and use of SW
1. Piracy has the effect of driving up prices, discouraging further development, and reducing profit for SW developers
2. Plagiarism is stealing someone else’s idea and using them as your own , eg bill gates stole apples idea for GUI
1. Software can be classified into 4 broad areas
2. commercial – SW licences may be purchased. The SW is covered by copyright. Reverse engineering and decompilation are not allowed. SW must not be modified.
3. Shareware is SW that is distributed free on a trial basis. Sometimes some features are disabled or there is a limited time span for use. It is covered by copyright. You are expected to pay for the SW if you intend to keep using it.
4. freeware is SW that is provided at no cost but is still subject to copyright. Modifications and further developments are often encouraged as long as SW remains free of charge
5. Public domain SW is where the developer has relinquished all copyright. I can be copied modified etc. A good example is the Linux OS.
-There are different types of SW licencing conditions including
1. Single user – sw can be installed and used one computer only
2. multe-user – the number of computer is specified
3. site licence – SW can be used on every comp on site eg school or company. These licenses are often dicounted
4. Network licence – SW can be used on a specified number of computers on a site when a user launches software a check is made to ensure that there are not tooo many copies running on the network
-It is estimated that up to 40% of SW is being used illegally
Marketing SW is similar to marketing other products. Marketing is a combination of 4 factors
1. Product – SW must satisfy needs of customers
2. Place – SW needs to be available for purchase so distribution is important
3. Promotion – advertise your SW
4. Price – SW must be priced according to market, eg. Games <$100, business SW can be more expensive

This approach follows a sequence of steps designed to solves the prob
1. defining the prob is the most important part. The SW developer must identify the prob and determine whether a solution is feasible. This involves communication with the user and the provision of options for solving the prob
2. Planning the solution involves determining the data types and structures to be used and the development of algorithms. Different tools can be used to represent the solution. Decisions also need to be made on whether to buy or build SW. If SW is to be written, which language should be used?
3. Building the solution involved converting the algorithms to code, designing the interface documenting the code
4. Checking the solution. The solution must be checked at modul, program and system level. Test data is used followed by live data to check that solution meets the specifications
5. Modifying the solution involves changing the prog to take into account errors, new needs, changes in the org and new hardware

-Structured approach often takes a long time and is suitable for large projects and team projects. It is suitable for projects where it is possible to accurately determine the needs

The SW developer makes a small scale model of the final prog to demonstrate to users. It encourages end user participation as the program is completed using feedback. Prototypes focus on input/output and are often presented as a series of screens. There are two types of prototype
1. a throwaway prototype is used solely for feedback
2. an evolutionary prototype eventually becomes the end product through refinement

Prototypes have a short development time but often do not have as many features and are not fully tested. Prototyping is suitable for small scale projects where time is a factor and input/output is fairly simple. A disadvantage is that many parts of the structured approach are bypassed and the product may not meet all needs or be easily modified

RAD
This approach involves the reuse of code to solve probs. Existing progs are modified to suit new user needs. This approach is best suited to small scale projects. 4th generation languages or object oriented.
languages are often used to build the solution. The use of CASE (computer aided system engineering) tools are prominent

End user development
The person who uses the computer develops the solution, usually using a spreadsheet or flat file database application. It lacks any formal stages but is quick and low cost. Usually, the solution is continually modified by the user over time

Often mixture of approaches are used. Prototypes may be developed during the planning stage of the structured approach. Case tools may also be used in any approach

The approach taken depends on the technical expertise of the developer and user, the time available, the budget restraints and the scale of the project.
Methods of implementation
1. Direct cut over – the old system is dropped and the new system takes over. This may be risky if problems occur as there is no backup It is suited to small scale implementations or when the previous system has failed and there is no other choice
2. Parallel – both the new system and the old system work at the same time. If the new system fails, the old system is the backup, this approach is extra safe but costly in terms of duplication of work and the need for extra staffing
3. Phased – the new system is gradually introduced . This approach is best suited to large projects. It allows for training before full implementation
4. Pilot – a small scale implementation of the solution is trialed in one part or branch of the org. If successful it is rolled out to other parts. It means minimal disruption if probs occur and is good for training as staff can train eachother.

-There are 100’s of comp languages, each with str’s and weaknesses. Some have been developed for one specific application. Newer languages can accept any type of data. Computer language r classified by their paradigm/method. The nature of the prob determines which language to use

Generations of prog langs
1. machine langs (binary code) is the only lang the computer can process without translation these programs are written specific to one CPU.
2. Assembly langs uses mnemonic to represent actions. It is simpler to read and code. The assembler assigns variable locations. Progs are still cpu specific
3. 3rd generation langs use English-like words to represent program statements. Source code must be translated to machine lang before execution
4. 4th generation langs are similar to the way people think and speak. They are used to extract information from databases and spreadsheets
5. 5th generation langs are knowledge based and close to spoken English. Involves a type of AI eg. Azile
Although machine lang is still the basis of all programming. High level langs grew out of the need for productivity and the desire to solve diff types of probs eg AI or GUI

Langs can also be classified according to type
1. procedural – execute prog step by step
2. event-driven – wait for event and take appropriate action
3. non-procedural – rely on logic to process request

EMERGING TECHS
Langs are being developed to cope with
1. Parallel computing using multiple processors. This enables faster processing and multitasking. The roots of this started with the intro of math coprocessors
2. Quantum computing. Still in the infant stages, this uses atomic particles as 0s and 1s
3. Molecular computing uses nanotechnology.
4. Visual programming langs allowing programmers to drag and drop objects. The objects include the necessary code. This leads to huge increases in productivity

EFFECT ON PROGRAMMERS PRODUCTIVITY
Different factors are used to assess each langs effect on productivity including
1. Speed of code generation – high level langs make code design faster
2. Approach to testing – functional langs have fewer syntax errors
3. Effect on maintenance – modular progs are easier to maintain
4. Efficiency of solution once coded – imperative progs can be slow to develop but run efficiently
Imperative langs such as BASIC is good for training programmers, logic programming is easier for the novice as the semantics are simpler.Visual langs have many features and require extensive training to use properly.
Expert systems are examples of declarative/logical programming. Consisting of a knowledge base, a databank of facts and an inference engine. The inference engine applies the rules to the databank to come up with a conclusion. Expert systems may be forward chaining – start with facts, draw conclusion e.g. doctors or backward chaining – start with conclusion and check if right, e.g. doctor asking what is wrong with a patient
Object oriented prog langs contain modules called objects which interact with each other by passing messages.
Inheritance refers to the ability to create a new object that includes attributes
Abstraction allows programmers to concentrate on program structure without worrying about underlying detail.
Polymorphism relates to an objects ability to be used for diff purposes.
LISP is the oldest of the functional langs. Processes lists of info and suited for AI programming. Uses recursion
APL – another programming lang.

Major actors are, consistency, ergonomics, aesthetic considerations, legibility, appropriate language and helpful meesages to the user.
Software should be specific to one audience, age groups usually. The syntax of language is usually described in either Backus-Naur Format (BNF), extended Backus-Naur format or structure diagrams/syntax diagrams/railway tracks.
3 parts of the CPU –
1. Control unit
2. Arithmetic logic unit
3. registers
Linking allows the combining of machine code programs
High level languages translate whole program then runs translates 1 line at a time then runs that line.



Lol steal it at ur own risk its probably bad :ninja:
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Top